решай.ai · шпаргалка
Задание 16: Программирование
ОГЭ Информатика
Как выглядит
Типичная формулировка звучит так: «В файле находится последовательность из не более чем целых чисел, значения которых не превышают по модулю . Определить количество чисел, кратных 7, и вывести их сумму» — или похожий вариант с другим условием отбора.
Особенности формата:
- количество чисел в файле обычно не сообщается явно, программа должна читать данные до конца файла;
- числа могут быть как положительными, так и отрицательными;
- результат нужно вывести в строго заданном порядке и формате (например, «сначала количество, затем сумма через пробел»).
…
Что нужно знать
- Переменная-накопитель (аккумулятор) — переменная, которая хранит промежуточный результат: сумму, количество, максимум.
- Цикл
for— используется, когда известно количество повторений или элементы читаются по одному до конца файла. - Цикл
while— используется, когда условие продолжения цикла проверяется каждый раз (например, «пока не конец файла»). - Условный оператор
if— проверка условия отбора элемента. - Остаток от деления: — используется для проверки кратности числа: число кратно , если .
- Целочисленное деление: — целая часть частного.
- Среднее арифметическое: , где — сумма элементов, — их количество.
- Проверка чётности: число чётное, если .
- Функции для готовых операций:
max(),min(),sum(),len()— облегчают код, но не всегда подходят при потоковом чтении файла. - Индексация элементов последовательности: первый элемент имеет номер 1 или 0 в зависимости от контекста задачи — это важно уточнять по условию.
Алгоритм
- Внимательно прочитать условие: что является входными данными (файл или ввод с клавиатуры), какое условие отбора элементов, что нужно вывести и в каком порядке.
- Определить формат чтения: числа записаны в одну строку через пробел или каждое число на отдельной строке.
- Завести все необходимые переменные-накопители и присвоить им начальные значения (0 для суммы и количества, экстремальное значение для максимума/минимума).
- Организовать цикл чтения: если размер последовательности неизвестен, читать до конца файла (
for line in fили циклwhileс проверкой конца потока). - Внутри цикла преобразовать прочитанную строку в число (
int()), проверить условие отбора и обновить накопители. - После завершения цикла вывести результат в требуемом формате — важно соблюдать порядок значений и разделители (пробел, перевод строки). …
Ловушки
- Неверная инициализация накопителей. Если забыть присвоить начальное значение переменной суммы или количества, программа выдаст ошибку или неверный результат.
- Некорректная инициализация экстремума. Если для поиска максимума взять начальное значение 0, а все числа в последовательности отрицательные, результат окажется неправильным. Нужно использовать заведомо маленькое (или большое для минимума) число.
- Ошибка в условии кратности. Часто путают с — проверка кратности всегда идёт через остаток, а не через целочисленное деление.
- Игнорирование границы файла. Если не предусмотреть чтение до конца файла произвольной длины, программа может обрезать данные или зациклиться. …
reshay.ai/oge/informatika/zadanie-16 — задачи с разборами и тренажёр