РУҚА
16

Шешімі: Среднее трёхзначных чисел

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

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

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

Тапсырманы ашып, өзіңіз шешіңіз
Дальше ответЕгер әлі шешіп жатсаңыз – кеңестерден бастаңыз: олар жауапқа жетелейді, бірақ оны ашпайды.
К подсказкам

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

6 қадам
1

Инициализируем переменные для суммы трёхзначных чисел и их количества.

$$sum = 0, count = 0$$
2

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

$$while x \ne 0$$
3

Проверяем, является ли число трёхзначным. Для натуральных чисел это выполняется при условии от 100 до 999 включительно.

$$100 \leq x \leq 999$$
4

Для каждого трёхзначного числа добавляем его к сумме и увеличиваем количество таких чисел на единицу.

$$sum := sum + x,\quad count := count + 1$$
5

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

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

Один из корректных нұсқа программы:

Жауап

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)

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

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

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

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

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

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

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

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

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

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

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