Вопрос 15.2 ОГЭ (ГИА-9): Умение написать короткий алгоритм на языке программирования
Проверяемый предметный результат обучения по спецификации (2020): Создавать и выполнять программы на универсальном языке программирования
Кодификатор 1.3.1, 1.3.2, 1.3.3, 1.3.4, 1.3.5/3.1. Уровень сложности В, 2 балла.
Время выполнения — 45 минут.
Я не являюсь сторонником выполнения именно этого задания в противовес более простому и полезному для реального уровня заданию 15.1.
Безусловно, сюда будут постепенно помещаться задания, но теоретическое обсуждение будет производиться только для ЕГЭ.
Рекомендация к однозначному выполнению именно этого задания может быть дана только тем учащимся, которые довольно свободно решают задания 1 части ЕГЭ по программированию и собираются сдавать ЕГЭ. При этом, подготовка к заданиям с Исполнителями также является обязательной.
Мне категорически не нравится ничего не означающаа формулировка «на универсальном языке программирования». Точнее, она означает ровно то, что придумает какой-нибудь чиновник от образования. По федеральным требованиям — «на любом языке программирования».
Доступ к размещенным в этом месте материалам ограничен и предоставляется следующим категориям:
1. Студент I/II курса ВХК РАН. 2. Бывший студент ВХК РАН. 3. Подготовка к ОГЭ. 4. Подготовка к ЕГЭ. 5. VIP-пользователь. 6. Благотворитель.
Первое недоумение, возникшее у меня, когда я столкнулся с заданиями, было связано с наличием ввода/вывода в программах. Данный элемент программирования точно нельзя отнести к примитивизмам, так как реализуется он десятками способов и является достаточно серьезной проблемой. В первую очередь — интерфейсных решений, ограничений и проверки правильности ввода. Естественно, если не обсуждается мертвый Паскаль.
Я себе сразу представляю, что вводится число, а потом ряд чисел, например, через запятую. Потом производится проверка и, если все правильно, то выделение чисел и их анализ. Но я — не учитель, а профессиональный программист и преподаватель высшей школы. Что можно рассуждать настолько убого, мне просто в голову не приходило.
С моей точки зрения, должна быть реализована схема получения программой параметров и возврата ответа, чтобы автоматизировать проверку. Но это уже совсем заходит за границы разумного. Более чем адекватной стала бы ситуация с выдачей экзаменуемым соответствующих модулей для вставку в программу. Это намного ближе к реальному программированию и никак не влияет на разрабатываемый алгоритм. Разве что привязывая к конкретным переменным и/или элементам массива.
В итоге, то решение, которое предложено в демоверсии, очень напоминает детское. Впрочем так и сформулирована задача. Работать оно будет, но никак не может быть отнесено к настоящему программированию. Подобные программы воспринимались «на ура» году эдак в 1990, но не сегодня.
Да, качество проверки напрямую зависит от кривизны рук проверяющего. Но его тоже можно понять: вбить руками 18 чисел для каждого и не ошибиться на проверке сотни работ? После этого надо производить повторный ввод...
Задания
- Демо 2022 (15.2). Дублирует Демо 2020 [проект] (16).
- Демо 2021 (15.2). Дублирует Демо 2020 [проект] (16).
- Демо 2020 (15.2). Дублирует Демо 2020 [проект] (16).
- Демо 2020 [проект] (16). Напишите программу, которая в последовательности натуральных чисел определяет количество чисел, кратных 4, но не кратных 7.
Программа получает на вход количество чисел в последовательности, а затем сами числа. В последовательности всегда имеется число, кратное 4 и не кратное 7.
Количество чисел не превышает 1000. Введённые числа не превышают 30 000.
Программа должна вывести одно число: количество чисел, кратных 4, но не кратных 7.
Пример работы программы:Входные данные Выходные данные 4
16
28
26
242
- Демо 2014–2019 (20.2). Напишите программу, которая в последовательности натуральных чисел определяет минимальное число, оканчивающееся на 4.
Программа получает на вход количество чисел в последовательности, а затем сами числа. В последовательности всегда имеется число, оканчивающееся на 4.
Количество чисел не превышает 1000. Введённые числа не превышают 30 000.
Программа должна вывести одно число — минимальное число, оканчивающееся на 4.
Пример работы программы:Входные данные Выходные данные 3
24
14
3414
- Демо 2013 (20.2). Напишите программу, которая в последовательности натуральных чисел определяет сумму всех чисел, кратных 6 и оканчивающихся на 4.
Программа получает на вход натуральные числа, количество введённых чисел неизвестно, последовательность чисел заканчивается числом 0 (0 – признак окончания ввода, не входит в последовательность).
Количество чисел не превышает 1000. Введённые числа не превышают 30 000.
Программа должна вывести одно число: сумму всех чисел, кратных 6 и оканчивающихся на 4.
Пример работы программы:Входные данные Выходные данные 14
24
144
22
12
0168
- Демо 2012 (20.2). Напишите программу, которая в последовательности целых чисел определяет количество чётных чисел, кратных 7.
Программа получает на вход целые числа, количество введённых чисел неизвестно, последовательность чисел заканчивается числом 0 (0 – признак окончания ввода, не входит в последовательность).
Количество чисел не превышает 1000. Введённые числа по модулю не превышают 30 000.
Программа должна вывести одно число: количество чётных чисел, кратных 7.
Пример работы программы:Входные данные Выходные данные -32
14
17
01
- Демо 2011 (23.2). Напишите эффективную программу, которая по двум данным натуральным числам a и b, не превосходящим 30000, подсчитывает количество четных
натуральных чисел на отрезке [a, b] (включая концы отрезка).
Программа получает на вход два натуральных числа a и b, при этом гарантируется, что 1 ≤ a ≤ b ≤ 30000. Проверять входные данные на корректность не нужно.
Программа должна вывести одно число: количество четных чисел на отрезке [a, b].
Пример работы программы:Входные данные Выходные данные 10
206
- Демо 2010. Вопрос отсутствует.
- Демо 2009. Вопрос отсутствует.