Задание № 16 по информатике: программа обработки последовательности
Что требуется в задании № 16, за что начисляют баллы и как решить его по шагам. Полное условие учебного примера, объяснение и ответ.
Задание ОГЭ-2027: 16
Содержание материала
В задании № 16 нужно написать и сохранить программу на универсальном языке программирования. Программа читает данные в заданном формате, обрабатывает их с помощью условий и циклов и выводит точный результат. Максимум — 2 первичных балла.
Что проверяют и какие варианты возможны
Проект ОГЭ-2027 допускает Python, C++, Паскаль, Java, C#, Школьный алгоритмический язык и другие доступные на экзамене универсальные языки. Проверяются переменные, арифметические выражения, целочисленное деление и остаток, ветвления, составные условия и циклы.
В условии могут встретиться подсчёт, сумма, минимум или максимум элементов последовательности; проверка делимости и простоты; выделение цифр числа; алгоритм Евклида. Количество вводимых чисел бывает задано заранее или определяется специальным завершающим значением.
Позиции № 15 и № 16 — два отдельных обязательных задания. Для № 15 пишут алгоритм Робота, а для № 16 — программу обработки данных. Одно решение не заменяет другое.
Критерии оценивания
- 2 балла: программа выдаёт верный ответ на всех тестах, указанных в критериях конкретного варианта.
- 1 балл: программа ошибается ровно на одном из этих тестов.
- 0 баллов: число тестов с неверным ответом отличается от условия на 1 балл.
Проверяют сохранённый файл программы. Название и расширение зависят от языка и указаний организаторов.
Алгоритм решения
- Выпишите формат ввода, признак окончания и требуемый вывод.
- Выберите, что накапливать: счётчик, сумму, минимум или максимум. Задайте безопасное начальное значение.
- Сформулируйте условие отбора по частям и только затем запишите его на языке программирования.
- Считывайте каждый элемент ровно один раз. Завершающее значение не обрабатывайте как элемент последовательности.
- Изменяйте результат только тогда, когда выполнены все условия.
- Выведите ровно требуемые данные без поясняющего текста.
- Проверьте сохранённую программу на обычном, граничном и пустом по результату наборах.
Полный авторский пример
Условие. Напишите программу, которая подсчитывает количество трёхзначных элементов последовательности натуральных чисел, одновременно удовлетворяющих двум условиям:
- число делится на 6;
- сумма его десятичных цифр равна 12.
Количество элементов заранее неизвестно, но не превышает 1000. Последовательность заканчивается числом 0; это признак конца ввода, и в последовательность он не входит. Каждое число поступает в отдельной строке. Программа должна вывести только количество подходящих элементов.
Решение на Python.
count = 0
while True:
x = int(input())
if x == 0:
break
if 100 <= x <= 999 and x % 6 == 0:
digit_sum = x // 100 + (x // 10) % 10 + x % 10
if digit_sum == 12:
count += 1
print(count)Почему программа работает.
- Цикл читает числа до первого нуля. Проверка
x == 0стоит до обработки, поэтому признак конца не попадает в подсчёт. - Условие
100 <= x <= 999оставляет только трёхзначные числа. - Выражение
x % 6 == 0проверяет делимость на 6. Для трёхзначного числа цифры находятся так:
Затем программа сравнивает с 12.
- Счётчик увеличивается только после выполнения всех трёх проверок.
Тест 1.
Ввод:
156
264
444
390
120
0
Вывод:
4Числа 156, 264, 444 и 390 трёхзначные, делятся на 6, сумма цифр каждого равна 12. Число 120 делится на 6, но сумма его цифр равна 3.
Тест 2.
Ввод:
48
102
228
363
624
1002
0
Вывод:
2Подходят 228 и 624. Числа 48 и 1002 имеют неверное количество цифр; у 102 сумма цифр равна 3; число 363 не делится на 6.
Тест 3.
Ввод:
111
222
330
600
0
Вывод:
0Ни один элемент не удовлетворяет обоим числовым условиям. Этот тест проверяет, что программа корректно оставляет начальное значение счётчика.
Частые ошибки
- Обработать завершающий
0как обычный элемент. - Проверить только трёхзначность и сумму цифр, забыв делимость.
- Записать
100 < x < 999и исключить допустимые границы. - Найти десятки как
x // 10, не взяв остаток от деления на 10. - Увеличивать счётчик для каждого числа, а не внутри нужной ветви.
- Вывести фразу
Ответ: 4вместо одного числа. - Проверить код в редакторе, но сохранить старую версию файла.
Официальный источник и статус
Назначение позиции и полная шкала 0–2 сверены с проектами демоверсии, спецификации и кодификатора ОГЭ-2027 ФИПИ. В проекте 16 заданий, 150 минут работы и максимум 21 первичный балл. Шкала перевода баллов в отметку для 2027 года в комплекте не опубликована. Условие, программа и тесты примера созданы FastLearn; официальные тесты и решения не воспроизводятся.
Версия и источники
Информатика · Экзамен: ОГЭ-2027 · версия v7
Документы и история измененийТекст подготовлен командой FastLearn по документам ФИПИ. Если материал расходится с окончательными документами, он будет обновлён.