РУҚА
16

Шешімі: Среднее кратных тоғыз

ОГЭ · Информатика · Тапсырма 16 · Бағдарламалау негіздері
КүрделіФИПИ4E7CA2Толық шешім≈ 10 минутТалдау 5 қадам
Условие

Напишите программу, которая в последовательности целых чисел находит среднее арифметическое чисел, кратных 9, или сообщает, что таких чисел нет. Программа получает на вход целые числа, количество введённых чисел неизвестно, последовательность чисел заканчивается числом 0 (0 — признак окончания ввода, не является членом последовательности).

Количество чисел не превышает 100. Введённые числа по модулю не превышают 300.

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

Входные данныеВыходные данные
9 −30 18 013.5
−15 7 0NO
Пример работы программы
Тапсырманы ашып, өзіңіз шешіңіз
Дальше ответЕгер әлі шешіп жатсаңыз – кеңестерден бастаңыз: олар жауапқа жетелейді, бірақ оны ашпайды.
К подсказкам

Шешім по шагам

5 қадам
1

Считываем очередное число. Если оно равно 0, завершаем ввод, так как 0 не входит в последовательность.

$$x = 0 \Rightarrow \text{конец ввода}$$
2

Для каждого ненулевого числа проверяем делимость на 9 с помощью остатка от деления. Если остаток равен нулю, добавляем число к сумме и увеличиваем счётчик.

$$x \bmod 9 = 0$$
3

После завершения ввода проверяем счётчик. Если подходящие числа найдены, среднее арифметическое равно отношению суммы к их количеству.

$$\overline{x} = \dfrac{\mathrm{sum}}{\mathrm{count}}$$
4

Если подходящих чисел нет, выводим NO.

$$\mathrm{count} = 0 \Rightarrow \mathrm{NO}$$

Один из нұсқа программы на Python:

Жауап

s = 0
count = 0

while True:
x = int(input())
if x == 0:
break
if x % 9 == 0:
s += x
count += 1

if count == 0:
print('NO')
else:
print(s / count)

Бұл жауап талдау нәтижесінде алынды, бірақ банктің ресми кілтімен тексерілген жоқ — проверьте выкладки, прежде чем заучивать результат.

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

Включают завершающий 0 в расчёт среднего.

Проверяют, делится ли на 9 количество введённых чисел, вместо проверки каждого числа.

Выводят 0 или вызывают деление на ноль, если чисел, кратных 9, нет.

Используют целочисленное деление вместо обычного деления.

Закрепить приёмВ теме «Бағдарламалау негіздері» ещё 153 тапсырма — жауабымен және дәл осындай талдауымен.
Жаттығу

Тапсырманы қалай шешу керек 16 ОГЭ, информатика

Бұл есептің талдауы келесіге бөлінген: 5 шагов: видно, откуда берётся каждое число и где теряется балл. Жауап есептеулердің жанында келтірілген, олардың орнына емес.

Задача из темы «Бағдарламалау негіздері»: в ней 154 задачи, и у каждой есть такой же разбор. Тіркеу қажет емес.