РУҚА
16

Решение: Средняя температура за период

ОГЭ · Информатика · Задание 16 · Основы программирования
ПовышеннаяФИПИA367FDРазвёрнутое решение≈ 10 минутРазбор в 5 шагов
Условие

Напишите программу для решения следующей задачи.

Ученики 4 класса вели дневники наблюдения за погодой и ежедневно записывали дневную температуру. Найдите среднюю температуру за время наблюдения. Если количество дней, когда температура поднималась выше нуля градусов, не менее 5, выведите YES, иначе выведите NO.

Программа получает на вход количество дней, в течение которых проводилось наблюдение $N$ ($1 \le N \le 31$), затем для каждого дня вводится температура.

Пример работы программы:

Входные данные:
4
−4
12
−2
8

Выходные данные:
3.5
NO

Открыть задачу и решить самому
Дальше ответЕсли ещё решаете — начните с подсказок: они ведут к ответу, но не выдают его.
К подсказкам

Решение по шагам

5 шагов
1

Считываем количество дней наблюдения $N$ и создаём переменные для суммы температур и количества дней с температурой выше нуля.

$$s = 0,\quad count = 0$$
2

Для каждого из $N$ дней считываем температуру, добавляем её к сумме и проверяем условие положительной температуры.

$$s = s + t;\quad \text{если } t > 0,\; count = count + 1$$
3

Средняя температура равна отношению суммы температур к количеству дней.

$$\overline{t} = \dfrac{s}{N}$$
4

Если количество дней с положительной температурой не меньше 5, выводим YES, иначе выводим NO.

Пример программы на Python:

$$n = int(input()) s = 0 count = 0 for _ in range(n): t = int(input()) s += t if t > 0: count += 1 print(s / n) if count >= 5: print('YES') else: print('NO')$$
Ответ

Программа считывает температуры, выводит их среднее арифметическое и затем YES при наличии не менее 5 положительных температур, иначе NO.

Этот ответ получен в разборе, но не сверен с официальным ключом из банка — проверьте выкладки, прежде чем заучивать результат.

Где здесь ошибаются

Считать температурой выше нуля значение, равное нулю.

Делить сумму температур не на количество дней $N$.

Проверять условие count > 5 вместо count >= 5.

Не выводить среднюю температуру перед YES или NO.

Закрепить приёмВ теме «Основы программирования» ещё 153 задачи — с ответом и таким же разбором.
Тренироваться

Как решать задание 16 ОГЭ, информатика

Разбор этой задачи разложен на 5 шагов: видно, откуда берётся каждое число и где теряется балл. Ответ приведён рядом с выкладками, а не вместо них.

Задача из темы «Основы программирования»: в ней 154 задачи, и у каждой есть такой же разбор. Регистрация не нужна.