100exams

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

Последнее задание — написать программу. В демоверсии 2027 года программа получает последовательность натуральных чисел и считает, сколько из них подходят под условие.

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

В нашем тренажёре проверка устроена похоже: ты пишешь программу у себя на компьютере, проверяешь её на трёх примерах, запускаешь на большом наборе чисел и вводишь то, что она напечатала. Саму программу тренажёр не запускает.

На странице
  1. Что просят
  2. Чем пользуются и что сдают
  3. Как делать: по шагам
  4. Пример с решением
  5. Пример из тренажёра
  6. Проверь перед сдачей
  7. Как оценивают
  8. Типичные ошибки
  9. Материалы ФИПИ
  10. Вопросы и ответы

Коротко

Что просят в задании 16

Чем пользуются и что сдают

Программы и форматы файлов для всех заданий второй части — на странице «Как проходит ОГЭ по информатике».

Как делать задание 16 ОГЭ по информатике: по шагам

  1. Переведи условие в проверку для одного числа: «двузначное» — это от 10 до 99, «кратно 7» — остаток от деления на 7 равен нулю, «оканчивается на 5» — остаток от деления на 10 равен 5.
  2. Заведи счётчик и присвой ему ноль до цикла.
  3. Прочитай первое число до цикла. Цикл работает, пока число не равно нулю.
  4. Внутри цикла: если число подходит под условие — увеличь счётчик. Последней командой цикла прочитай следующее число.
  5. После цикла напечатай счётчик — одно число.
  6. Запусти программу на примере из условия, а потом на своих тестах: когда подходящих чисел нет вовсе, когда число стоит точно на границе, когда сразу введён ноль.

Пример: программа для своей задачи

Задача наша, не из банка ФИПИ. Ввод устроен так же, как в демоверсии 2027 года: числа по одному, в конце — ноль.

Напиши программу, которая в последовательности натуральных чисел считает количество двузначных чисел, кратных 7. Программа получает на вход натуральные числа, каждое в отдельной строке; последовательность заканчивается числом 0 (ноль — признак конца ввода, в последовательность он не входит). Программа должна напечатать одно число — количество таких чисел.

Решение

  1. Условие для одного числа x: двузначное — значит, 10 ≤ x ≤ 99; кратно 7 — значит, x % 7 == 0. Оба условия нужны одновременно: связка and.
  2. Счётчик count до цикла равен нулю.
  3. Первое число читается до цикла, каждое следующее — в конце тела цикла. Так ноль прекращает цикл и сам в подсчёт не попадает.
  4. После цикла печатается только count.
count = 0
x = int(input())
while x != 0:
    if 10 <= x <= 99 and x % 7 == 0:
        count += 1
    x = int(input())
print(count)

Тесты

№Что вводитсяЧто печатает программа
114, 7, 70, 105, 23, 02
25, 100, 33, 00
398, 01
400

Числа в столбце «Что вводится» набирают по одному в строке. В первом тесте подходят 14 и 70: число 7 однозначное, 105 трёхзначное, 23 не делится на 7. Во втором тесте подходящих чисел нет, в третьем проверяется граница 98, в четвёртом сразу введён ноль.

Можно иначе. Двузначные числа, кратные 7, — это 14, 21, …, 98. Условие можно записать и так: x % 7 == 0 and 9 < x < 100. Результат тот же; важно только не потерять границы 10 и 99.

Задание 16 в тренажёре: пример с решением

Задача в примере составлена нами в форме демоверсии: условие — про запись числа в другой системе счисления, ввод заканчивается нулём. Большой набор чисел можно скачать и запустить на нём свою программу.

В тренажёре есть ещё три вида: количество чисел по другому условию, сумма (когда сначала вводится количество чисел), наибольшее или наименьшее число.

Напишите программу, которая в последовательности натуральных чисел находит количество чисел, запись которых в шестеричной системе счисления трёхзначна и оканчивается на цифру 4. Программа получает на вход натуральные числа, по одному в строке. Количество чисел неизвестно, но не превышает 1000. Последовательность заканчивается числом 0: ноль — признак окончания ввода, в последовательность он не входит. Введённые числа не превышают 30 000. Программа должна вывести одно число — количество таких чисел. Проверьте программу на примерах, затем запустите её на большом наборе данных и запишите в ответе число, которое она вывела.

ПримерЧто вводитсяЧто выводит программа
16743, 196, 130, 61, 42, 02
2382, 214, 1090, 184, 310, 84, 02
3838, 36, 892, 406, 1066, 00

Числа вводятся по одному в строке.

Скачать большой набор данных: input-5.txt — 533 строки, по одному числу в строке.

Решение

  1. Переводить числа в другую систему счисления программе не нужно. Записи из 3 цифр в системе с основанием 6 — это числа от 62 = 36 до 63 − 1 = 215. Последняя цифра записи — остаток от деления на 6: он должен быть равен 4. Условие: 36 <= x <= 215 and x % 6 == 4.
  2. Сколько чисел будет, заранее неизвестно, поэтому цикл — while. Первое число читается до цикла, каждое следующее — последней командой в теле цикла. Так ноль останавливает цикл и сам не обрабатывается.
  3. Счётчик до цикла равен нулю. Если число подходит под условие, счётчик увеличивается на 1.
  4. Проверь программу на первом примере: под условие подходят 196 и 130, значит, она должна вывести 2. В третьем примере подходящих чисел нет, программа выводит 0 — такой случай тоже стоит проверить.
  5. На большом наборе данных под условие подходят 85 из 532 чисел. Программа выводит 85
count = 0
x = int(input())
while x != 0:
    if 36 <= x <= 215 and x % 6 == 4:
        count += 1
    x = int(input())
print(count)

Ответ: 85

Можно иначе. Можно сначала собрать все числа до нуля в список a, а потом получить ответ одной строкой: print(sum(1 for x in a if 36 <= x <= 215 and x % 6 == 4)). Памяти уйдёт больше, но чисел не больше тысячи, так что это допустимо. На большом наборе данных получится то же число: 85.

Как это оценят на экзамене

Если получилось другое число

Решать такие заданияБесплатно, без регистрации: каждый раз новые данные и разбор ошибки.

Все виды задания 16 в тренажёре

Проверь перед сдачей

Как оценивают задание 16

Файл проверяют два эксперта по критериям демоверсии. Ниже — критерии нашими словами.

БаллыЗа что
2Программа правильно работает на всех тестах из критериев.
1Программа выдаёт неверный ответ только на одном из тестов.
0Неверных ответов больше одного.

В критериях демоверсии 2027 года три теста. Тестов из критериев ты на экзамене не увидишь — поэтому программу нужно проверить на своих.

Что эксперт смотрит в каждом из заданий 13–16 и что не считают ошибкой — на странице «Критерии оценивания». Баллы за все задания и проверка второй части — на странице «Баллы и оценки».

Типичные ошибки в задании 16

Материалы ФИПИ для тренировки

Условие этого задания в демоверсии и критерии к нему — в архиве ФИПИ: демоверсия, спецификация, кодификатор и учебные файлы — ОГЭ по информатике 2027 (zip, около 120 МБ, fipi.ru). Архивы по другим предметам и за прошлые годы — на странице ФИПИ «Демоверсии, спецификации, кодификаторы».

Вопросы и ответы

На каком языке писать программу в задании 16?

На любом языке программирования — так сказано в критериях демоверсии. Пиши на том, на котором учился.

Как проверяют задание 16?

Программу запускают на тестах из критериев и сравнивают её ответы с правильными. Все тесты пройдены — 2 балла, один не пройден — 1 балл.

Что должна печатать программа?

Только одно число — ответ. Лишний текст в выводе может привести к тому, что тест не будет засчитан.

Как закончить ввод чисел?

В демоверсии 2027 года признак конца — число 0: программа читает числа, пока не встретит ноль, и сам ноль не учитывает.

Как подать программе файл с числами?

В командной строке — знаком «меньше»: python prog.py < input.txt. В среде программирования числа можно вставить в окно ввода: в тренажёре есть кнопка «Скопировать числа».

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

Другие разборы

Формулировки критериев наши; данные в тренажёре каждый раз новые. Составлено по демоверсии и спецификации ФИПИ для ОГЭ 2027 года; на день обновления документы опубликованы как проект. Тексты заданий наши. Обновлено 11.10.2026.