Задание 16 ОГЭ по информатике: программа
Последнее задание — написать программу. В демоверсии 2027 года программа получает последовательность натуральных чисел и считает, сколько из них подходят под условие.
Писать можно на любом языке программирования. Проверяют программу тестами: эксперт вводит заранее подготовленные числа и сравнивает то, что напечатала программа, с правильным ответом.
В нашем тренажёре проверка устроена похоже: ты пишешь программу у себя на компьютере, проверяешь её на трёх примерах, запускаешь на большом наборе чисел и вводишь то, что она напечатала. Саму программу тренажёр не запускает.
Коротко
- Уровень высокий, до 2 баллов; по спецификации — около 25 минут.
- Язык программирования — любой; в критериях демоверсии пример решения записан на Python.
- Программа должна напечатать только одно число — без пояснений и лишних слов.
- В демоверсии числа вводятся по одному, а конец ввода обозначен нулём: ноль в последовательность не входит.
- Файл с программой сохраняют под именем, которое назовут организаторы.
Что просят в задании 16
- В демоверсии 2027 года чисел не больше 1000, сколько их — заранее неизвестно; ввод заканчивается нулём.
- Условие отбора в демоверсии — про запись числа в другой системе счисления: сколько в ней знаков и на какую цифру она оканчивается. Такое условие переводится в остаток от деления и границы числа.
- К заданию приложен пример: что вводится и что должно быть напечатано.
Чем пользуются и что сдают
- Система программирования, на которой ты учился: спецификация говорит, что нужна та, что использовалась при обучении.
- Решением считается программа на любом языке программирования.
Программы и форматы файлов для всех заданий второй части — на странице «Как проходит ОГЭ по информатике».
Как делать задание 16 ОГЭ по информатике: по шагам
- Переведи условие в проверку для одного числа: «двузначное» — это от 10 до 99, «кратно 7» — остаток от деления на 7 равен нулю, «оканчивается на 5» — остаток от деления на 10 равен 5.
- Заведи счётчик и присвой ему ноль до цикла.
- Прочитай первое число до цикла. Цикл работает, пока число не равно нулю.
- Внутри цикла: если число подходит под условие — увеличь счётчик. Последней командой цикла прочитай следующее число.
- После цикла напечатай счётчик — одно число.
- Запусти программу на примере из условия, а потом на своих тестах: когда подходящих чисел нет вовсе, когда число стоит точно на границе, когда сразу введён ноль.
Пример: программа для своей задачи
Задача наша, не из банка ФИПИ. Ввод устроен так же, как в демоверсии 2027 года: числа по одному, в конце — ноль.
Напиши программу, которая в последовательности натуральных чисел считает количество двузначных чисел, кратных 7. Программа получает на вход натуральные числа, каждое в отдельной строке; последовательность заканчивается числом 0 (ноль — признак конца ввода, в последовательность он не входит). Программа должна напечатать одно число — количество таких чисел.
Решение
- Условие для одного числа x: двузначное — значит, 10 ≤ x ≤ 99; кратно 7 — значит, x % 7 == 0. Оба условия нужны одновременно: связка and.
- Счётчик count до цикла равен нулю.
- Первое число читается до цикла, каждое следующее — в конце тела цикла. Так ноль прекращает цикл и сам в подсчёт не попадает.
- После цикла печатается только count.
count = 0
x = int(input())
while x != 0:
if 10 <= x <= 99 and x % 7 == 0:
count += 1
x = int(input())
print(count)Тесты
| № | Что вводится | Что печатает программа |
|---|---|---|
| 1 | 14, 7, 70, 105, 23, 0 | 2 |
| 2 | 5, 100, 33, 0 | 0 |
| 3 | 98, 0 | 1 |
| 4 | 0 | 0 |
Числа в столбце «Что вводится» набирают по одному в строке. В первом тесте подходят 14 и 70: число 7 однозначное, 105 трёхзначное, 23 не делится на 7. Во втором тесте подходящих чисел нет, в третьем проверяется граница 98, в четвёртом сразу введён ноль.
Задание 16 в тренажёре: пример с решением
Задача в примере составлена нами в форме демоверсии: условие — про запись числа в другой системе счисления, ввод заканчивается нулём. Большой набор чисел можно скачать и запустить на нём свою программу.
В тренажёре есть ещё три вида: количество чисел по другому условию, сумма (когда сначала вводится количество чисел), наибольшее или наименьшее число.
Напишите программу, которая в последовательности натуральных чисел находит количество чисел, запись которых в шестеричной системе счисления трёхзначна и оканчивается на цифру 4. Программа получает на вход натуральные числа, по одному в строке. Количество чисел неизвестно, но не превышает 1000. Последовательность заканчивается числом 0: ноль — признак окончания ввода, в последовательность он не входит. Введённые числа не превышают 30 000. Программа должна вывести одно число — количество таких чисел. Проверьте программу на примерах, затем запустите её на большом наборе данных и запишите в ответе число, которое она вывела.
| Пример | Что вводится | Что выводит программа |
|---|---|---|
| 1 | 6743, 196, 130, 61, 42, 0 | 2 |
| 2 | 382, 214, 1090, 184, 310, 84, 0 | 2 |
| 3 | 838, 36, 892, 406, 1066, 0 | 0 |
Числа вводятся по одному в строке.
Скачать большой набор данных: input-5.txt — 533 строки, по одному числу в строке.
Решение
- Переводить числа в другую систему счисления программе не нужно. Записи из 3 цифр в системе с основанием 6 — это числа от 62 = 36 до 63 − 1 = 215. Последняя цифра записи — остаток от деления на 6: он должен быть равен 4. Условие: 36 <= x <= 215 and x % 6 == 4.
- Сколько чисел будет, заранее неизвестно, поэтому цикл — while. Первое число читается до цикла, каждое следующее — последней командой в теле цикла. Так ноль останавливает цикл и сам не обрабатывается.
- Счётчик до цикла равен нулю. Если число подходит под условие, счётчик увеличивается на 1.
- Проверь программу на первом примере: под условие подходят 196 и 130, значит, она должна вывести 2. В третьем примере подходящих чисел нет, программа выводит 0 — такой случай тоже стоит проверить.
- На большом наборе данных под условие подходят 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
Как это оценят на экзамене
- На экзамене программу проверяют на тестах из критериев: 2 балла — верный ответ на всех тестах, 1 балл — неверный ответ только на одном.
- Программа должна выводить одно число, без пояснений: лишний текст в выводе — это неверный ответ на тесте.
- Здесь проверяется ответ на одном большом наборе данных. На экзамене тестов несколько, и ты их не видишь — проверяй программу на своих.
Если получилось другое число
- 84 — Первое число не обработано. Прочитай его до цикла, а следующее читай последней командой в теле цикла.
- 143 — Количество цифр нужно считать в записи с основанием 6, а не в десятичной. Там записи из 3 цифр — у чисел от 36 до 215.
- 48 — Последняя цифра в системе с основанием 6 — это остаток от деления на 6, а не на 10.
Все виды задания 16 в тренажёре
- Сколько чисел с записью в другой системе счисления; ввод до нуля
- Сколько чисел подходит под условие; ввод до нуля
- Сумма чисел по условию; сначала вводится количество
- Наибольшее или наименьшее число по условию
Проверь перед сдачей
- Программа запускается без ошибок.
- На примере из условия печатает то же, что в условии.
- Печатает одно число и ничего больше — ни подсказок при вводе, ни слов «Ответ:».
- Ноль в конце не учитывается как число последовательности.
- Границы проверены: число, равное границе, обрабатывается так, как требует условие.
- Если сразу ввести ноль, программа печатает 0, а не выдаёт ошибку.
- Файл сохранён под названным именем.
Как оценивают задание 16
Файл проверяют два эксперта по критериям демоверсии. Ниже — критерии нашими словами.
| Баллы | За что |
|---|---|
| 2 | Программа правильно работает на всех тестах из критериев. |
| 1 | Программа выдаёт неверный ответ только на одном из тестов. |
| 0 | Неверных ответов больше одного. |
В критериях демоверсии 2027 года три теста. Тестов из критериев ты на экзамене не увидишь — поэтому программу нужно проверить на своих.
Что эксперт смотрит в каждом из заданий 13–16 и что не считают ошибкой — на странице «Критерии оценивания». Баллы за все задания и проверка второй части — на странице «Баллы и оценки».
Типичные ошибки в задании 16
- Читают следующее число в начале цикла, а не в конце — первое число пропускается или ноль попадает в подсчёт.
- Печатают в input поясняющий текст или выводят «Ответ: 3» вместо одного числа.
- Ошибаются в границе: «больше 10» записывают как >= 10.
- Путают «и» с «или» в составном условии.
- Проверяют программу только на примере из условия.
Материалы ФИПИ для тренировки
Условие этого задания в демоверсии и критерии к нему — в архиве ФИПИ: демоверсия, спецификация, кодификатор и учебные файлы — ОГЭ по информатике 2027 (zip, около 120 МБ, fipi.ru). Архивы по другим предметам и за прошлые годы — на странице ФИПИ «Демоверсии, спецификации, кодификаторы».
Вопросы и ответы
На каком языке писать программу в задании 16?
На любом языке программирования — так сказано в критериях демоверсии. Пиши на том, на котором учился.
Как проверяют задание 16?
Программу запускают на тестах из критериев и сравнивают её ответы с правильными. Все тесты пройдены — 2 балла, один не пройден — 1 балл.
Что должна печатать программа?
Только одно число — ответ. Лишний текст в выводе может привести к тому, что тест не будет засчитан.
Как закончить ввод чисел?
В демоверсии 2027 года признак конца — число 0: программа читает числа, пока не встретит ноль, и сам ноль не учитывает.
Как подать программе файл с числами?
В командной строке — знаком «меньше»: python prog.py < input.txt. В среде программирования числа можно вставить в окно ввода: в тренажёре есть кнопка «Скопировать числа».
Другие разборы
- Задание 1. Объём текста
- Задание 2. Декодирование сообщения
- Задание 3. Логические высказывания
- Задание 4. Кратчайший путь по таблице
- Задание 5. Исполнитель и алгоритм
- Задание 6. Программа с условием
- Задание 7. Адрес файла в интернете
- Задание 8. Поисковые запросы
- Задание 9. Количество путей в графе
- Задание 10. Системы счисления
- Задание 11. Поиск в файлах
- Задание 12. Поиск файлов по условию
- Задание 13. Презентация или текстовый документ
- Задание 14. Электронная таблица
- Задание 15. Исполнитель Робот
Формулировки критериев наши; данные в тренажёре каждый раз новые. Составлено по демоверсии и спецификации ФИПИ для ОГЭ 2027 года; на день обновления документы опубликованы как проект. Тексты заданий наши. Обновлено 11.10.2026.