Задание 16Информатика (ОГЭ)Часть 2 · развёрнутый ответ
Задание 16 ОГЭ по информатике — Программирование
Разбор номера «Программирование»: как устроено задание, настоящие формулировки из тренажёра с подсказками и официальным решением. Окно практики открывается сразу — без регистрации и онбординга.
Задание 16 (№16 — Программирование) — задача второй части экзамена по информатике: здесь нужен не короткий ответ, а развёрнутая запись решения на бумаге. Автопроверки у таких номеров нет и не должно быть — реши сам и сверься с официальным решением, как это делают эксперты на настоящей проверке.
Окно примера ниже — то же, что на сайте: подсказки по одной, сверка с официальным решением и разбор.
Напишите программу, которая в последовательности натуральных чисел определяет количество чисел, кратных 4. Программа получает на вход количество чисел в последовательности, а затем сами числа. В последовательности всегда имеется число, кратное 4. Количество чисел не превышает 1000. Введенные числа не превышают 30 000. Программа должна вывести одно число — количество чисел, кратных 4. Пример работы программы: Входные данные | Выходные данные 3 16 26 24 | 2
Подсказка 1. Прочитай входной формат: первое число — количество, дальше — сама последовательность.
Подсказка 2. Держи один максимум-кандидат и обновляй его в цикле — массив хранить не нужно.
Подсказка 3. Проверь программу на примере из условия и на границе.
развёрнутый ответ — реши на бумаге и сверься
Официальное решение.
Решение. var n, s, k, g: integer; begin s:=0; readln(n); for k:=1 to n do begin readln(g); if (g mod 4 = 0) then s:=s+1; end; writeln(s); end. Приведем решение Павла Шостка на языке Pascal. readarrinteger(readinteger).count(x->x.divs(4)).Print; Приведем решение на языке Python. n = int(input()) kol = 0 for i in range(n): a = int(input()) if a % 4 == 0: kol += 1 print(kol) Для проверки правильности работы программы необходимо использовать следующие тесты: Входные данные Выходные данные 1 2 4 7 1 2 3 16 4 24 3 3 4 24 4 44 2 3
Ответ.
Решение.
var n, s, k, g: integer;
begin
s:=0;
readln(n);
for k:=1 to n do
begin
readln(g);
if (g mod 4 = 0) then
s:=s+1;
end;
writeln(s);
end.
Приведем решение Павла Шостка на языке Pascal.
readarrinteger(readinteger).count(x->x.divs(4)).Print;
Приведем решение на языке Python.
n = int(input())
kol = 0
for i in range(n):
a = int(input())
if a % 4 == 0:
kol += 1
print(kol)
Для проверки правильности работы программы необходимо использовать следующие тесты:
Входные данные Выходные данные
1
2
4
7
1
2
3
16
4
24
3
3
4
24
4
44
2
3
Напишите программу, которая в последовательности натуральных чисел определяет сумму всех чисел, кратных 6 и оканчивающихся на 6. Программа получает на вход натуральные числа, количество введенных чисел неизвестно, последовательность чисел заканчивается числом 0 (0 – признак окончания ввода, не входит в последовательность). Количество чисел не превышает 100. Введенные числа не превышают 300. Программа должна вывести одно число: сумму всех чисел, кратных 6 и оканчивающихся на 6. Пример работы программы: Входные данные | Выходные данные 36 12 16 66 11 0 | 102
Подсказка 1. Прочитай входной формат: первое число — количество, дальше — сама последовательность.
Подсказка 2. Держи один максимум-кандидат и обновляй его в цикле — массив хранить не нужно.
Подсказка 3. Проверь программу на примере из условия и на границе.
развёрнутый ответ — реши на бумаге и сверься
Официальное решение.
Решение. Решением является программа, записанная на любом языке программирования. Пример верного решения, записанного на языке Паскаль: var a, s: integer; begin s:= 0; readln(a); while a<>0 do begin if (a mod 6 = 0) and (a mod 10 = 6) then s := s + a; readln(a); end; writeln(s); end. Приведем другое решение на языке Python. summi = 0 a = 1 while a != 0: a = int(input()) if a == 0: break if a % 6 == 0 and a % 10 == 6: summi += a print(summi) Возможны и другие варианты решения. Для проверки правильности работы программы необходимо использовать следующие тесты: № Входные данные Выходные данные 1 66 36 0 102 2 60 0 0 3 26 0 0 4 20 96 0 96
Ответ.
Решение.
Решением является программа, записанная на любом языке программирования. Пример верного решения, записанного на языке Паскаль:
var a, s: integer;
begin
s:= 0;
readln(a);
while a<>0 do begin
if (a mod 6 = 0) and (a mod 10 = 6) then
s := s + a;
readln(a);
end;
writeln(s);
end.
Приведем другое решение на языке Python.
summi = 0
a = 1
while a != 0:
a = int(input())
if a == 0:
break
if a % 6 == 0 and a % 10 == 6:
summi += a
print(summi)
Возможны и другие варианты решения. Для проверки правильности работы программы необходимо использовать следующие тесты:
№ Входные данные Выходные данные
1
66
36
0 102
2
60
0 0
3
26
0 0
4
20
96
0 96
Как устроена практика в тренажёре
Опыт за каждое решение
Чистое решение без подсказок ценится выше: опыт, уровни и серии растут с каждым заданием, а не за клики.
Ошибки не пропадают
Нерешённое возвращается в работу над ошибками — тренажёр приведёт к заданию снова, пока оно не закроется без помощи.
Прогноз балла
После нескольких решённых номеров тренажёр показывает прогнозный балл и говорит, какие темы подтянуть, чтобы его поднять.
Закрепи задание 16 в тренажёре
Окно практики откроется сразу — без имени и онбординга. Прогресс сохранится, как только укажешь имя.