Шешімі: Средняя температура за период
Напишите программу для решения следующей задачи.
Ученики 4 класса вели дневники наблюдения за погодой и ежедневно записывали дневную температуру. Найдите среднюю температуру за время наблюдения. Если количество дней, когда температура поднималась выше нуля градусов, не менее 5, выведите YES, иначе выведите NO.
Программа получает на вход количество дней, в течение которых проводилось наблюдение $N$ ($1 \le N \le 31$), затем для каждого дня вводится температура.
Пример работы программы:
Входные данные:
4
−4
12
−2
8
Выходные данные:
3.5
NO
Шешім по шагам
5 қадамСчитываем количество дней наблюдения $N$ и создаём переменные для суммы температур и количества дней с температурой выше нуля.
$$s = 0,\quad count = 0$$Для каждого из $N$ дней считываем температуру, добавляем её к сумме и проверяем условие положительной температуры.
$$s = s + t;\quad \text{если } t > 0,\; count = count + 1$$Средняя температура равна отношению суммы температур к количеству дней.
$$\overline{t} = \dfrac{s}{N}$$Если количество дней с положительной температурой не меньше 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.