Задание 16 ОГЭ по информатике: Программа
Задание 16 — программа для последовательности. Схема всегда одна: прочитать число; пока оно не 0 — проверить и учесть, прочитать следующее; после цикла напечатать ответ.
- Уровеньвысокий
- Максимум2 балла
- Время по ФИПИоколо 25 мин
- Как решаютна компьютере
Ответ: файл с программой (Python, C++, Паскаль, Java, C#, Школьный алгоритмический язык).
Как узнать задание 16
«Напишите программу» для последовательности чисел, которая заканчивается числом 0; условие бывает и про запись числа в другой системе счисления.
Чем отличается от похожих
- Задание 6: Обе про программы. В задании 6 программа дана — её выполняют в уме и находят число. В задании 16 программу нужно написать самому.
- Задание 15: В обеих пишут алгоритм. В задании 15 — для Робота на клетчатом поле (вверх, вниз, закрасить, «нц пока»). В задании 16 — программа на языке программирования, которая обрабатывает числа.
Как решать
Написать программу для последовательности чисел. Читай числа в цикле до 0, проверяй условие и считай (суммируй, ищи наибольшее); запись в другой системе — oct(x), hex(x) или остаток x % 8.
- До цикла заведи то, что копишь: счётчик (k = 0), сумму, максимум или минимум.
- Прочитай первое число; цикл «while x != 0» — внутри проверь условие и учти число, в конце прочитай следующее.
- print — после цикла, один раз.
- Перед проверкой запусти на примере и сверь вывод с таблицей.
Пример 1 задания 16 с решением
| Входные данные | Выходные данные |
|---|---|
20 51 92 122 93 88 84 0 | 4 |
Как читать числа и выводить ответ
x = int(input()) # прочитать одно число
while x != 0: # пока не 0
... # проверить и учесть x
x = int(input()) # прочитать следующее
print(ответ) # после цикла
В тренажёре программа пишется на Python. На экзамене можно на любом языке из списка: Python, C++, Паскаль, Java, C#, Школьный алгоритмический язык.
Решение
- Читаем числа до 0, каждое проверяем по условию и учитываем; печатаем один раз после цикла.
k = 0 x = int(input()) while x != 0: if 10 <= x <= 99 and x % 4 == 0: k = k + 1 x = int(input()) print(k)
Пример 2 задания 16 с решением: запись числа в другой системе счисления
| Входные данные | Выходные данные |
|---|---|
22387 159 163 363 131 0 | 3 |
Как читать числа и выводить ответ
x = int(input()) # прочитать одно число
while x != 0: # пока не 0
... # проверить и учесть x
x = int(input()) # прочитать следующее
print(ответ) # после цикла
В тренажёре программа пишется на Python. На экзамене можно на любом языке из списка: Python, C++, Паскаль, Java, C#, Школьный алгоритмический язык.
Решение
- Читаем числа до 0, каждое проверяем по условию и учитываем; печатаем один раз после цикла.
k = 0 x = int(input()) while x != 0: s = oct(x)[2:] if len(s) == 3 and s[-1] == '3': k = k + 1 x = int(input()) print(k)
Примеры составлены генератором тренажёра по типу задания 16 демоверсии ФИПИ. В тренажёре каждый раз новая задача той же формы.
Типичные ошибки в задании 16
- Не учтено последнее число перед 0 или учтён сам 0.
- Print стоит внутри цикла.
- Забыли int() при вводе.
- Неверно записано условие кратности (%).
- Последнюю цифру восьмеричной (шестнадцатеричной) записи взяли как x % 10, а это x % 8 (x % 16).
Тренажёр распознаёт такие ошибки в ответе и объясняет, что именно пошло не так.
Индивидуальный проект по информатике для 9–11 класса: нейросеть, которая узнаёт листья, анализ данных своего города, шифры. С данными, планом и куратором, бесплатно.
Уровень, балл и время — по спецификации КИМ ОГЭ 2027 (ФИПИ). Обновлено: 7 ноября 2026.