РУҚА
16

Шешімі: Среднее чисел в семеричной системе

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

Напишите программу, которая в последовательности натуральных десятичных чисел определяет среднее арифметическое элементов, запись которых в системе счисления с основанием 7 оканчивается цифрой 5. Если среди входных данных таких элементов нет, программа должна вывести «NO».

Программа получает на вход натуральные десятичные числа, не превышающие 30 000, каждое в отдельной строке. Количество введённых чисел неизвестно, их последовательность заканчивается числом 0 (0 — признак окончания ввода, в последовательность не входит).

Программа должна вывести одно число — среднее арифметическое десятичных чисел последовательности, запись которых в 7-ричной системе счисления оканчивается цифрой 5, или «NO», если среди входных данных таких элементов нет.

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

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

4 қадам
1

Последняя цифра числа в семеричной системе счисления определяется остатком от деления этого числа на 7.

$$n \bmod 7 = 5$$
2

Организуем цикл чтения чисел до появления нуля. Для каждого числа, оканчивающегося цифрой 5 в семеричной записи, увеличиваем сумму и количество таких чисел.

$$S := S + n, \quad k := k + 1$$
3

После завершения ввода проверяем, были ли найдены подходящие числа. Если да, выводим среднее арифметическое $S/k$, иначе выводим `NO`.

В примере подходят числа 12 и 68: $12 \bmod 7 = 5$, $68 \bmod 7 = 5$. Их среднее арифметическое равно $\dfrac{12 + 68}{2} = 40$.

$$\dfrac{12 + 68}{2} = 40$$
Жауап

n = int(input())
s = 0
k = 0

while n != 0:
if n % 7 == 5:
s += n
k += 1
n = int(input())

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

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

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

Проверяют делимость числа на 7 вместо проверки остатка 5.

Включают завершающий ноль в сумму или количество.

Выводят `NO` только при сумме, равной нулю, вместо проверки количества подходящих чисел.

Забывают прочитать следующее число внутри цикла.

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

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

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

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