PascalABC.NET версия 3.6

В этом стриме Вы с 15;46 до 18:00 (две с четвертью минуты) ведете борьбу с динамическим массивом, а затем признаете свое поражение фразой “Вот почему я не люблю динамические массивы”. Далее еще почти минуту решаете, как обнулить статический. Я не знаю, что в этот момент происходило с Вашей аудиторией, но меня улыбнуло. Послушаете себя еще раз и тоже улыбнитесь. Вы бились с ветряными мельницами. Когда я решил написать код, мне хватило пять секунд набрать var a := MatrFill(2,10,0);

Это к вопросу о том, что, где, когда и как описывать.

1 лайк

Дословно:

Вы даже не замечаете, как пользуетесь библиотеками PascalABC.Net и в рамках ЕГЭ это плохо. Задания ЕГЭ специально спроектированы под чистый язык, чтобы не проверять знания фреймворка. Я поэтому и говорил выше про “достаточный минимум”, с чего всё и началось.

Моя задача объяснить ребятам алгоритм в контексте структурного программирования и, опционально, заинтересовать любопытствующих более серьезными конструкциями. Специально для таких ребят сразу после ЕГЭ, пока они ждут результаты последнего экзамена, буду давать им “C# после ЕГЭ”. В прошлом и позапрошлом году это спонтанно было. В этом более сознательно к контенту подойду.

А стрим живой. Отдельный жанр. Ошибки, как часть учебного процесса. Это не редактированное и спроектированное видео. Простое общение.

Это кто Вам сказал? В руководящих материалах ФИПИ так написано? В методических указаниях для проверяющих так написано? Руководство Вашей региональной комиссии по проверкам КИМ сообщило? Нет, это Ваше личное мнение, которое (верю) Вы для себя обосновали. Но не нужно его выдавать за истину в последней инстанции, а то скоро придется извлечение квадратного корня программировать.

Работая с любым языком программирования Вы пользуетесь его библиотеками, а в С++ и Python их даже специально явно подключаете. MatrFill - это не библиотека, это ЧАСТЬ ЯЗЫКА. Не путайте праведное с грешным.

Вот тут поподробнее, пожалуйста. Расскажите, что такое “чистый Паскаль”? ISO 7185: The original Pascal standard - вот это? Но не существует в мире ни одного компилятора, который в точности этот стандарт реализует. Вы писали, что специализируетесь на C# и т.п. Но Вы зашли на форум разработчиков и пользователей PascalАВС.NЕТ. Поверьте, тут про “паскали” знают все. Или практически все.

1 лайк

Точка зрения ФИПИ по использованию библиотек неоднократно озвучивалась. Недавно К.Ю.Поляков публиковал очередной ответ. ФИПИ проверяет способность выпускников составлять алгоритм с использованием элементов структурного программирования. Обращаю внимание, не запрещает использование, а не рекомендует. Например, чтобы выпускники не пихали во внутрь цикла поиск мин/макс по массиву. Или использовали сортировку для поиска двух самых больших элементов последовательности. Чтобы осознанно контролировали каждый шаг, каждую инструкцию алгоритма. Никакой магии.

Вот тут поподробнее, пожалуйста. Расскажите, что такое “чистый Паскаль”? ISO 7185: The original Pascal standard - вот это? Но не существует в мире ни одного компилятора, который в точности этот стандарт реализует. Вы писали, что специализируетесь на C# и т.п. Но Вы зашли на форум разработчиков и пользователей PascalАВС.NЕТ. Поверьте, тут про “паскали” знают все. Или практически все.

Александр, вы меня прям за врага держите. Я зашел спросить, не обсуждался ли короткий синтаксис обнуления массива. Получил ответ. Я не проверяю ваши знания Pascal и не требую соблюдения стандарта. Моя цель заключается в донесении основ алгоритмизации до выпускников, чтобы они могли успешно выполнить 27е задание ЕГЭ используя минимум знаний платформы. Причем, с учетом существующей несовершенной системы (экспертов проверяющих ЕГЭ), приходится использовать только общеизвестные и общепонятные конструкции языка. Даже парное присваивание с опаской использую в своих стримах. Каждый год присылают правильные решения 27го задания оцененные в 0 баллов. А это судьбы. Именно поэтому стараюсь обходиться без использования библиотек.

Да, стараюсь заинтересовать ребят фишками языка, но не всех: Брутифорсим ЕГЭ

И мало кому это интересно.

Это правильно, но это не значит что есть смысл избегать подпрограммы из стандартного модуля. Вместо этого надо сразу напрямую говорить что их надо использовать осознанно.

“А теперь послушаем начальника транспортного цеха…”

Не пожалейте получаса, я даю Вам ссылку на поистине уникальным материал - видеозапись выступления руководителя ростовской-на-Дону комиссии по проверке КИМ ЕГЭ (информатика). Там нужно слушать и смотреть (потому что примеры будут) от самого начала и до отметки 28:30, даже если Вам покажется, что все закончилось уже. Вот оно

Если можно, какой-то пруфлинк сюда или текст.

Думаю, вы неправы или неверно поняли. Речь идет только об использовании тех возможностей, которые дают неэффективный алгоритм. Вы их перечислили. Они дают минус 1 балл за неэффективное решение. Из четырёх.

Использование a.Println или a.Min когда такой минимум надо найти не может снизить оценку согласно критериям ФИПИ.

Я считаю, что человек заблуждается. Думаю, он сознает, что мы не ополчились против него, а пытаемся лишь показать ему, в чем заблуждение состоит, чтобы он не транслировал это заблуждение в свою аудиторию.

Да, есть такое. Ощущаю себя медведем, разворошившим улей.

Использование a.Println или a.Min когда такой минимум надо найти не может снизить оценку согласно критериям ФИПИ.

Да, я понимаю. ФИПИ не рекомендует, а не запрещает. Т.к. аудитория у меня неидеальная, приходится следовать рекомендациям.

Вот из телеграм канала Полякова от 6 марта:

Вопрос: Можно ли в заданиях 24, 25 и 27 в программах на языке Python использовать

  1. встроенные функции, например, min, max, sort, index;
  2. генераторы последовательностей и списков? Есть ли какие-то официальные разъяснения на этот счёт?

Ответ (ФИПИ): В заданиях 24 непросто найти место для использования такой специфики Python, ну, только если очень захотеть. Навскидку, можно заменить одну строку (например, неправильную инициализацию) на строку, решающую задачу. Я бы не стал ориентировать детей на эту возможность, поскольку это все-таки скорее жанр “напиши программу” , чем “найди и исправь ошибку”, и итоговый текст будет ужасно выглядеть, как заплатка на программе. В задании 25 - можно. В задании 27 - можно, но с учетом того, что, например, использование функции sort для всего входного массива будет означать неэффективное по памяти и времени решение , оцениваемое из 2-x баллов. Официальное разъяснение есть по последнему случаю в метод. рекомендациях по проверке. В остальных случаях проверяющему достаточно следовать критериям оценивания. В частности, в критериях к заданию 24 указано, что допускаются и другие способы исправления, главное, чтобы не было переписывания всей программы.

Так… и где тут “ноль баллов”?

Речь о том, чтобы не лепить сортировки и поиски там, где они не нужны или неэффективны. Мы стараемся учить наших пользователей тому же.

Ссылку на мнение проверяющих я Вам дал. Если в Вашем регионе какие-то неадекватные эксперты - это уже не к нам.

Это эксперты ноль баллов ставят за правильное решение. За правильное (но необычное) решение и даже без использования библиотек. Уровень экспертов в среднем не самый высокий.

Никто не запрещает подать апелляцию. Либо сходить к психиатру. Каждый выбирает для себя.

Понимаете, у нас тоже были свои конспирологические теории. Специально по этому поводу на конференцию пригласили ответственного за проверки человека и из первых уст получили разъяснения. Извините, теперь мы больше верим ему, чем слухам.

Мой канал по всей России смотрят. По отзывам школьников, в 80% школ программирование совсем не преподают. Только Word/Excel/Paint. Я не про свой регион. А экспертов набирают из школьных учителей

Охотно верю. Тут я верю детям, а не официальной статистике. Ибо много и полезно общался с детьми несколько лет подряд вот на этом ресурсе

Александр, какие слухи? Ребята присылают скан бланка с решением. Я проверяю, рекомендую им идти на апелляцию. Идут. Часто результативно. Но не всегда. Вопрос в том, чтобы до апелляции не доводить. Поэтому стараемся придерживаться “достаточного минимума”, чтобы не доводить школьников и экспертов до психиатра ))))

Посмотрел ваше видео с разбором задач ЕГЭ.

Вы просили моё мнение - смотрите.

Самое пожалуй плохое с моей точки зрения - это описание всех переменных до beginа основной программы. Ну то есть, вы используете кортежи, цикл loop, даже в одном месте ляпнули короткое объявление функции с новомодной условной операцией. И тут вдруг -

var i,j,x,n,56переменных: integer;
begin

С моей точки зрения это ад :slight_smile:

Если бы вы писали всё в одном стиле древнего турбо-паскаля (это не стандарт паскаля - на всякий случай), то было бы наверное лучше.

Если отходить от старого Паскаля хоть на миллиметр, то первый шаг - это

for var i:=
  for var j := 

а второй -

var k := 0;
...
var x := ReadInteger;

с авто выводом типа.

Как видите, до динамических массивов дело не дошло :slight_smile:

Про апелляции в случае использования таких конструкций мне не известно ни одного случая. Про страхи - да - известно конечно. Но тогда надо писать всё в стандарте - с

program My(input,output);

разумеется первой строчкой.

3 лайка

Тогда пусть пишут на КУМИРЕ

Как раз сейчас пишу этот текст:

https://pascalabcnet.github.io/mydoc_for_school_teachers.html

Он не дописан даже на половину. Но как раз там указана аудитория - для педагогов дополнительного образования и учителей.

Может, что почерпнёте для себя полезное. Про массивы как раз скоро напишу.

1 лайк

Кумиру - мир! Миру - кумир!

1 лайк

Пока программы пишут на бумаге, а проверяют педагоги, детишки в информатике будут убоги. Один преподаватель всем ставил четвёрки (“хорошо” по-институтски), потому что сам, по его утверждению, на пятёрку не знал. Превзойти учителя никому не удастся, ибо недозволено.

3 лайка