РУҚА
16

Ответ: Среднее трёхзначных чисел

ОГЭ · Информатика · Задание 16 · Основы программирования
ПовышеннаяФИПИ937E26Развёрнутое решение≈ 10 минут
Что должно получиться

summa = 0
kol = 0

while True:
x = int(input())
if x == 0:
break
if 100 <= x <= 999:
summa += x
kol += 1

if kol == 0:
print('NO')
else:
print(summa / kol)

У этого задания официального ключа нет, поэтому ответ получен в разборе и с ключом не сверен. Перед тем как заучивать результат, пройдите выкладки — там видно, откуда взялось каждое число.

Условие

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

Количество введённых чисел не превышает 20, значения чисел не превышают 1500. Программа должна вывести среднее арифметическое всех трёхзначных чисел или NO, если таких чисел нет. В ответе приведите программу и кратко объясните её работу.

Открыть задачу и решить самому

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

Учитывают число 0 в последовательности.

Проверяют только условие x < 1000 и включают однозначные или двузначные числа.

Выводят сумму вместо среднего арифметического.

Делят сумму на общее количество введённых чисел, а не только на количество трёхзначных.

Не обрабатывают случай отсутствия трёхзначных чисел.

Откуда взялся этот ответРазбор разложен на 6 шагов: видно каждое преобразование и где теряется балл.
Открыть решение

Ответ к заданию 16 ОГЭ, информатика

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

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