← Все вопросы

Задание 15 ОГЭ: как написать программу на Python для последней задачи?

Задан 5 месяцев назад1.2к просмотров2 ответа
12

Пятнадцатое задание ОГЭ — программирование, можно писать на Python или в КуМире. Обычно просят обработать последовательность чисел: найти минимум, сумму, количество подходящих. Как написать программу для задания 15 на Python, чтобы получить максимум баллов?

2 ответа

15
✓ Принятый ответ — помог автору

Задание 15 — финальное, на программирование, даёт до 2 баллов. Есть два варианта: 15.1 (на любом языке, обычно Python) и 15.2 (для исполнителя Робот в КуМире). Разберём Python.

Типичная задача 15.1: вводят последовательность чисел (до нуля или фиксированной длины), нужно найти сумму/минимум/максимум/количество по условию.

Шаблон «ввод до нуля»:

x = int(input())
s = 0          # сумма
count = 0      # счётчик подходящих
while x != 0:
    s = s + x
    if x % 3 == 0:     # пример условия: кратно 3
        count = count + 1
    x = int(input())
print(s)
print(count)

Шаблон «N чисел»:

n = int(input())
maxv = -1000000   # заведомо маленькое
for i in range(n):
    x = int(input())
    if x > maxv:
        maxv = x
print(maxv)

Чтобы получить полный балл:

  1. Программа должна работать на всех тестах, включая крайние (например, когда подходящих чисел нет).
  2. Минимум/максимум инициализируйте первым числом или заведомо большим/маленьким значением.
  3. Выводите ровно то, что просят, в нужном порядке.

Частая ошибка: инициализируют максимум нулём — и если все числа отрицательные, ответ неверный. Лучше брать первое число последовательности за начальное значение.

5

Если ищете и минимум, и максимум одновременно — корректнее инициализировать их первым введённым числом, а потом сравнивать остальные:

n = int(input())
a = int(input())
mn = mx = a
for i in range(n - 1):
    x = int(input())
    if x < mn: mn = x
    if x > mx: mx = x
print(mn, mx)

Это избавляет от «магических» больших чисел и работает при любых значениях. Для 15.2 (КуМир, Робот) подход совсем другой — там команды движения и закрашивания, циклы «пока справа свободно» и т.п.

Ваш ответ

Войдите, чтобы ответить на вопрос.