РУҚА
16

Решение: Оценки за контрольную работу

ОГЭ · Информатика · Задание 16 · Основы программирования
ПовышеннаяФИПИ5A5C7AКороткий ответ≈ 10 минутРазбор в 3 шага
Условие

На контрольной работе по алгебре ученикам 9 класса было предложено 10 примеров. Неудовлетворительная оценка выставляется, если правильно решено менее половины примеров. Сколько неудовлетворительных оценок было получено учениками? Если хотя бы один из учеников правильно решил все задачи, выведите YES, иначе выведите NO.

Программа получает на вход количество учеников в классе $N$ ($1 \leq N \leq 30$), затем для каждого ученика вводится количество правильно решённых примеров.

Входные данные:
$4$
$3$
$9$
$2$
$8$

Выходные данные:
$2$
YES

NO

Открыть задачу и решить самому
Дальше ответЕсли ещё решаете — начните с подсказок: они ведут к ответу, но не выдают его.
К подсказкам

Решение по шагам

3 шага
1

Считываем количество учеников и создаём счётчик неудовлетворительных оценок. Также создаём логический признак того, что кто-то решил все 10 примеров.

$$bad = 0,\quad has\_all = False$$
2

Для каждого ученика считываем количество правильно решённых примеров. Если это число меньше 5, увеличиваем счётчик неудовлетворительных оценок. Если число равно 10, отмечаем наличие полностью решившего ученика.

$$x < 5 \Rightarrow bad = bad + 1;\quad x = 10 \Rightarrow has\_all = True$$

Выводим количество неудовлетворительных оценок, затем выводим YES при наличии полностью решившего ученика и NO в противном случае.

Ответ

Пример решения на Python:

n = int(input())
bad = 0
has_all = False

for _ in range(n):
solved = int(input())
if solved < 5:
bad += 1
if solved == 10:
has_all = True

print(bad)
print('YES' if has_all else 'NO')

Этот ответ получен в разборе, но не сверен с официальным ключом из банка — проверьте выкладки, прежде чем заучивать результат.

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

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

Проверять наличие ученика, решившего все задачи, условием solved > 5 вместо solved == 10.

Выводить YES или NO в той же строке, что и количество неудовлетворительных оценок.

Закрепить приёмВ теме «Основы программирования» ещё 153 задачи — с ответом и таким же разбором.
Тренироваться

Как решать задание 16 ОГЭ, информатика

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

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