ОГЭ по информатике 2027 · задание 16 из 16

Задание 16 ОГЭ по информатике: Программа

Задание 16 — программа для последовательности. Схема всегда одна: прочитать число; пока оно не 0 — проверить и учесть, прочитать следующее; после цикла напечатать ответ.

  • Уровеньвысокий
  • Максимум2 балла
  • Время по ФИПИоколо 25 мин
  • Как решаютна компьютере

Ответ: файл с программой (Python, C++, Паскаль, Java, C#, Школьный алгоритмический язык).

Как узнать задание 16

«Напишите программу» для последовательности чисел, которая заканчивается числом 0; условие бывает и про запись числа в другой системе счисления.

Чем отличается от похожих

  • Задание 6: Обе про программы. В задании 6 программа дана — её выполняют в уме и находят число. В задании 16 программу нужно написать самому.
  • Задание 15: В обеих пишут алгоритм. В задании 15 — для Робота на клетчатом поле (вверх, вниз, закрасить, «нц пока»). В задании 16 — программа на языке программирования, которая обрабатывает числа.

Как решать

Написать программу для последовательности чисел. Читай числа в цикле до 0, проверяй условие и считай (суммируй, ищи наибольшее); запись в другой системе — oct(x), hex(x) или остаток x % 8.

  1. До цикла заведи то, что копишь: счётчик (k = 0), сумму, максимум или минимум.
  2. Прочитай первое число; цикл «while x != 0» — внутри проверь условие и учти число, в конце прочитай следующее.
  3. print — после цикла, один раз.
  4. Перед проверкой запусти на примере и сверь вывод с таблицей.

Пример 1 задания 16 с решением

Напишите программу, которая в последовательности натуральных чисел определяет количество двузначных чисел, кратных 4. Программа получает на вход натуральные числа, количество введённых чисел неизвестно, последовательность чисел заканчивается числом 0 (0 — признак окончания ввода, не входит в последовательность). Количество чисел не превышает 1000. Введённые числа не превышают 30 000. Программа должна вывести одно число — количество.
Входные данныеВыходные данные
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#, Школьный алгоритмический язык.

Решение
  1. Читаем числа до 0, каждое проверяем по условию и учитываем; печатаем один раз после цикла.
  2. 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 с решением: запись числа в другой системе счисления

Напишите программу, которая в последовательности натуральных чисел определяет количество чисел, запись которых в восьмеричной системе счисления трёхзначна и оканчивается на цифру 3. Программа получает на вход натуральные числа, количество введённых чисел неизвестно, последовательность чисел заканчивается числом 0 (0 — признак окончания ввода, не входит в последовательность). Количество чисел не превышает 1000. Введённые числа не превышают 30 000. Программа должна вывести одно число — количество.
Входные данныеВыходные данные
22387
159
163
363
131
0
3
Как читать числа и выводить ответ
x = int(input())     # прочитать одно число
while x != 0:        # пока не 0
    ...              # проверить и учесть x
    x = int(input()) # прочитать следующее
print(ответ)         # после цикла

В тренажёре программа пишется на Python. На экзамене можно на любом языке из списка: Python, C++, Паскаль, Java, C#, Школьный алгоритмический язык.

Решение
  1. Читаем числа до 0, каждое проверяем по условию и учитываем; печатаем один раз после цикла.
  2. 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).

Тренажёр распознаёт такие ошибки в ответе и объясняет, что именно пошло не так.

Уровень, балл и время — по спецификации КИМ ОГЭ 2027 (ФИПИ). Обновлено: 7 ноября 2026.