Часть 2 — на компьютере (задания 11–16) · ОГЭ по информатике
Задание 16. Программа на языке программирования
Создавать и выполнять программы на универсальном языке программирования. 2 балла · высокий уровень · 25 минут · нужен среда программирования. 5 вариантов с эталоном и разбором критериев.
Напишите программу, которая в последовательности натуральных чисел определяет максимальное число, кратное 3. Программа получает на вход количество чисел в последовательности, а затем сами числа. Количество чисел не превышает 100. Введённые числа не превышают 300. Программа должна вывести одно число — максимальное число, кратное 3, или 0, если таких чисел нет.
Ваш ответ
Запишите решение здесь — черновик сохраняется в браузере. Автоматической проверки у этого задания нет: на экзамене работу читает эксперт, поэтому сверьтесь с эталоном и пройдите по критериям сами.
- Читайте сначала количество чисел, потом сами числа — именно в таком порядке они подаются на вход.
- Храните только то, что нужно: для максимума достаточно одной переменной, весь список заводить не обязательно.
- Проверьте программу на крайнем случае: когда подходящих чисел нет вовсе.
n = int(input())
best = 0
for i in range(n):
x = int(input())
if x % 3 == 0 and x > best:
best = x
print(best)| Ввод (после количества чисел) | Вывод |
|---|---|
| 12, 7, 9, 30, 11 | 30 |
| 4, 5, 7 | 0 |
| 3, 6, 9, 12 | 12 |
Проверьте себя по критериям
На экзамене задание оценивается в 2 балла: 2 — если программа верна на всех допустимых данных, 1 — если она верна, но не учитывает один частный случай, 0 — иначе.
- Программа читает данные в указанном порядке и выводит ровно одно число
- Программа даёт верный ответ на всех приведённых тестах
- Программа работает и в крайнем случае, когда подходящих чисел нет
Напишите программу, которая в последовательности натуральных чисел вычисляет сумму всех чётных чисел, не превосходящих 200. Программа получает количество чисел, а затем сами числа. Количество чисел не превышает 100. Программа должна вывести одно число — сумму.
Ваш ответ
Запишите решение здесь — черновик сохраняется в браузере. Автоматической проверки у этого задания нет: на экзамене работу читает эксперт, поэтому сверьтесь с эталоном и пройдите по критериям сами.
- Читайте сначала количество чисел, потом сами числа — именно в таком порядке они подаются на вход.
- Храните только то, что нужно: для максимума достаточно одной переменной, весь список заводить не обязательно.
- Проверьте программу на крайнем случае: когда подходящих чисел нет вовсе.
n = int(input())
s = 0
for i in range(n):
x = int(input())
if x % 2 == 0 and x <= 200:
s += x
print(s)| Ввод (после количества чисел) | Вывод |
|---|---|
| 10, 3, 250, 8, 7 | 18 |
| 1, 3, 5 | 0 |
| 2, 4, 6, 8 | 20 |
Проверьте себя по критериям
На экзамене задание оценивается в 2 балла: 2 — если программа верна на всех допустимых данных, 1 — если она верна, но не учитывает один частный случай, 0 — иначе.
- Программа читает данные в указанном порядке и выводит ровно одно число
- Программа даёт верный ответ на всех приведённых тестах
- Программа работает и в крайнем случае, когда подходящих чисел нет
Напишите программу, которая в последовательности натуральных чисел определяет количество чисел, больших среднего арифметического всей последовательности. Программа получает количество чисел, а затем сами числа. Количество чисел не превышает 100.
Ваш ответ
Запишите решение здесь — черновик сохраняется в браузере. Автоматической проверки у этого задания нет: на экзамене работу читает эксперт, поэтому сверьтесь с эталоном и пройдите по критериям сами.
- Читайте сначала количество чисел, потом сами числа — именно в таком порядке они подаются на вход.
- Храните только то, что нужно: для максимума достаточно одной переменной, весь список заводить не обязательно.
- Проверьте программу на крайнем случае: когда подходящих чисел нет вовсе.
n = int(input())
a = [int(input()) for i in range(n)]
sr = sum(a) / n
print(sum(1 for x in a if x > sr))| Ввод (после количества чисел) | Вывод |
|---|---|
| 1, 2, 3, 4, 100 | 1 |
| 10, 10, 10, 10 | 0 |
| 1, 9, 2, 8, 3, 7 | 3 |
Проверьте себя по критериям
На экзамене задание оценивается в 2 балла: 2 — если программа верна на всех допустимых данных, 1 — если она верна, но не учитывает один частный случай, 0 — иначе.
- Программа читает данные в указанном порядке и выводит ровно одно число
- Программа даёт верный ответ на всех приведённых тестах
- Программа работает и в крайнем случае, когда подходящих чисел нет
Напишите программу, которая в последовательности натуральных чисел находит сумму двух наименьших чисел. Программа получает количество чисел (не меньше двух и не больше 100), а затем сами числа.
Ваш ответ
Запишите решение здесь — черновик сохраняется в браузере. Автоматической проверки у этого задания нет: на экзамене работу читает эксперт, поэтому сверьтесь с эталоном и пройдите по критериям сами.
- Читайте сначала количество чисел, потом сами числа — именно в таком порядке они подаются на вход.
- Храните только то, что нужно: для максимума достаточно одной переменной, весь список заводить не обязательно.
- Проверьте программу на крайнем случае: когда подходящих чисел нет вовсе.
n = int(input())
a = sorted(int(input()) for i in range(n))
print(a[0] + a[1])| Ввод (после количества чисел) | Вывод |
|---|---|
| 9, 2, 7, 4, 1 | 3 |
| 5, 5 | 10 |
| 8, 3, 3, 10 | 6 |
Проверьте себя по критериям
На экзамене задание оценивается в 2 балла: 2 — если программа верна на всех допустимых данных, 1 — если она верна, но не учитывает один частный случай, 0 — иначе.
- Программа читает данные в указанном порядке и выводит ровно одно число
- Программа даёт верный ответ на всех приведённых тестах
- Программа работает и в крайнем случае, когда подходящих чисел нет
Напишите программу, которая в последовательности натуральных чисел подсчитывает количество нечётных чисел, стоящих на чётных местах. Места нумеруются с единицы. Программа получает количество чисел (не больше 100), а затем сами числа.
Ваш ответ
Запишите решение здесь — черновик сохраняется в браузере. Автоматической проверки у этого задания нет: на экзамене работу читает эксперт, поэтому сверьтесь с эталоном и пройдите по критериям сами.
- Читайте сначала количество чисел, потом сами числа — именно в таком порядке они подаются на вход.
- Храните только то, что нужно: для максимума достаточно одной переменной, весь список заводить не обязательно.
- Проверьте программу на крайнем случае: когда подходящих чисел нет вовсе.
n = int(input())
c = 0
for i in range(1, n + 1):
x = int(input())
if i % 2 == 0 and x % 2 == 1:
c += 1
print(c)| Ввод (после количества чисел) | Вывод |
|---|---|
| 1, 3, 2, 5, 4, 8 | 2 |
| 2, 4, 6, 8 | 0 |
| 7, 7, 7, 7, 7 | 2 |
Проверьте себя по критериям
На экзамене задание оценивается в 2 балла: 2 — если программа верна на всех допустимых данных, 1 — если она верна, но не учитывает один частный случай, 0 — иначе.
- Программа читает данные в указанном порядке и выводит ровно одно число
- Программа даёт верный ответ на всех приведённых тестах
- Программа работает и в крайнем случае, когда подходящих чисел нет
Что нужно знать
Общий каркас
Сначала читают количество чисел, потом в цикле сами числа. Хранить весь список нужно не всегда: для максимума, суммы или счётчика хватает одной переменной.
Что проверить перед сдачей
- 1программа выводит ровно одно число
- 2работает, когда подходящих чисел нет
- 3не падает на наименьшем допустимом вводе
- 4не печатает лишних подсказок и приглашений
Приглашение вида input("Введите число: ") — частая причина потери балла: в вывод попадает лишний текст.