вентилятор
Хорошего настроения!

ОГЭ по информатике 2023 - Задание 15 (Составляем программу)



Всем привет! Сегодня мы будем решать 15 задание из ОГЭ по информатике.


В 15 задании у учащегося есть выбор: решить задачу с Роботом в программе Кумир или решить задачу на программирование. Мы с вами выбираем задачу по программированию! Выполнять будем на языке Python.


В этой статье рассмотрим основные типы задач на программирование из 15 задания ОГЭ по информатике.





Задача (Количество чисел)

Напишите программу, которая в последовательности натуральных чисел определяет количество чисел, кратных 3. Программа получает на вход количество чисел в последовательности, а затем сами числа. В последовательности всегда имеется число, кратное 3. Количество чисел не превышает 1000. Введённые числа не превышают 30 000. Программа должна вывести одно число  — количество чисел, кратных 3.


Пример работы программы:


Входные данные Выходные данные
4
15
26
24
7
2

Решение:
n=int(input())
k=0
for i in range(n):
    a=int(input())
    if a%3==0:
        k=k+1

print(k)

В первой строчке мы запрашиваем число n. Переменная k отвечает за количество найденных чисел, удовлетворяющих условию задачи. В начале количество найденных чисел равно нулю.


Затем идёт ЦИКЛ for. Цикл повторяется n раз. Внутри цикла запрашиваем число a. Это очередное число в нашей последовательности. Это число проверяется с помощью условия if (переводится, как ЕСЛИ). Если остаток от деления на 3 равен нулю, то число a делится на 3. Операция % - это и есть остаток от деления.


Если условие будет истинным, то будет выполняться строчка k=k+1. Т.е., если мы нашли число, которое кратно 3, то прибавляем единицу к счётчику k. Если условие не выполняется (ложно), то строка k=k+1 не выполняется.


После того, как весь цикл прокрутится, в переменной k будет сидеть ответ.


Выполните код и проверьте тестовую таблицу, которая дана в условии задачи.





Задача (Проверяем, на что оканчивается число)

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


Пример работы программы:


Входные данные Выходные данные
3
26
33
24
1

Решение:
n=int(input())
k=0
for i in range(n):
    a=int(input())
    if a%10==4:
        k=k+1

print(k)

Эта программа отличается от предыдущей тем, что нужно количество чисел, которые оканчиваются на цифру 4.


Для того, чтобы найти на что оканчивается положительное число, достаточно взять остаток от деления на 10.


Пример:


16 : 10 = 1 (остаток 6)
28 : 10 = 2 (остаток 8)
432 : 10 = 43 (остаток 2)




Задача (Сумма элементов, сложное условие)

Напишите программу, которая в последовательности натуральных чисел определяет сумму чисел, кратных 3 и оканчивающихся на 1. Программа получает на вход количество чисел в последовательности, а затем сами числа. В последовательности всегда имеется число, кратное 3 и оканчивающееся на 1. Количество чисел не превышает 100. Введённые числа не превышают 300. Программа должна вывести одно число  — сумму чисел, кратных 3 и оканчивающихся на 1.


Пример работы программы:


Входные данные Выходные данные
5
21
51
6531
121
22
6603

Решение:
n=int(input())
sm=0
for i in range(n):
    a=int(input())
    if a%3==0 and a%10==1:
        sm=sm+a

print(sm)

За сумму отвечает переменная sm.


Здесь нужно, чтобы два условия выполнялись для числа a. Это достигается за счёт союза and (союз И).


Когда ищем сумму, мы уже к переменной sm прибавляем не 1, а само число a.





Задача (Трёхзначные числа)

Напишите программу, которая в последовательности натуральных чисел определяет сумму трехзначных нечётных чисел, кратных 7. Программа получает на вход количество чисел в последовательности, а затем сами числа. В последовательности всегда имеется трёхзначное нечётное число, кратных 7. Количество чисел не превышает 100. Введённые числа не превышают 300. Программа должна вывести одно число  — сумму трёхзначных нечётных чисел, кратных 7.


Пример работы программы:


Входные данные Выходные данные
5
441
455
294
121
2261
896

Решение:
n=int(input())
sm=0
for i in range(n):
    a=int(input())
    if a%2!=0 and a%7==0 and a > 99 and a < 1000:
        sm=sm+a

print(sm)

Нечётное число даёт при делении на 2 остаток не равный нулю. Знак неравно пишется так: !=.Трёхзначные числа легко отследить, т.к. эти числа больше 99, но меньше 1000.


Эти все требования оформляем в виде сложного условия через союз И.





Задача (Максимальное значение)

Напишите программу, которая в последовательности натуральных чисел определяет максимальное число, кратное 8. Программа получает на вход количество чисел в последовательности, а затем сами числа. В последовательности всегда имеется число, кратное 8. Количество чисел не превышает 1000. Введённые числа не превышают 30 000. Программа должна вывести одно число  — максимальное число, кратное 8.


Пример работы программы:


Входные данные Выходные данные
4
56
431
64
90
64

Решение:
n=int(input())
mx=0
for i in range(n):
    a=int(input())
    if a%8==0:
        mx=max(mx, a)

print(mx)

Здесь уже заводим переменную mx для максимального значения, которое делится на 8. Она и пойдёт в ответ.


Нас интересуют только числа, которые делятся на 8. Если это так, числа a претендуют, чтобы попасть в переменную mx. Функция max() выбирает среди двух значений наибольшее. Если a больше, чем значение, которое находится в mx в данный момент времени, то оно перезапишется в переменную mx.


В начале в mx самое маленькое число 0, чтобы его легко было "победить". Последующее число будет "победить" уже сложнее. После прохождения всего цикла в переменной mx будет находится максимальное число.





Задача (Минимальное значение)

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


Пример работы программы:


Входные данные Выходные данные
4
56
500
86
13
56

Решение:
n=int(input())
mn=30001
for i in range(n):
    a=int(input())
    if a%10==6:
        mn=min(mn, a)

print(mn)

Эта программа похоже на поиск максимального числа. Существенная разница заключается в том, что при поиске минимального значения в переменную mn кладём наоборот самое большое значение. Если мы оставим ноль, то его никто не сможет "победить", и в ответе получится тоже ноль.





Задача (Последовательность оканчивается нулём)

Напишите программу, которая в последовательности натуральных чисел вычисляет сумму всех двузначных чисел, кратных 5. Программа получает на вход натуральные числа, количество введённых чисел неизвестно, последовательность чисел заканчивается числом 0 (0 – признак окончания ввода, не входит в последовательность). Количество чисел не превышает 1000. Введённые числа не превышают 30 000. Программа должна вывести одно число: сумму всех двузначных чисел, кратных 5.


Пример работы программы:


Входные данные Выходные данные
55
120
25
68
0
80

Решение:
a=int(input())
sm=0
while a!=0:
    if a%5==0 and a > 9 and a < 100:
        sm=sm+a
    a=int(input())

print(sm)

Здесь уже нет переменной n (количества чисел в последовательности). Как пользователю надоест вводить числа, он должен ввести число ноль.


Вместо n запрашиваем число a. Заводим переменную sm для ответа. Потом начинается ЦИКЛ while. Он будет выполняться (повторяться), пока условие, стоящие справа, истинное. Мы там прописываем, пока число a не равно нулю, мы продолжаем, иначе это окончание последовательности.


Внутри ЦИКЛА проверяем число a согласно условию задачи.


После проверки, запрашиваем новое число a (новый элемент последовательности).





Задача (Последовательность оканчивается нулём, закрепление)

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


Пример работы программы:


Входные данные Выходные данные
19
45
599
11
0
2

Решение:
a=int(input())
k=0
while a!=0:
    if a%10==9:
        k=k+1
    a=int(input())

print(k)

На сегодня всё, всем удачи на ОГЭ по информатике.






15-02-2023 в 14:39:19





Поддержать сайт:


Похожая статья:

ЕГЭ по информатике - Задание 3 (набираем обороты!)

Всем привет! Сегодня изучим 3 задание из ЕГЭ по информатике!...

Категория: Информатика  Подкатегория: ЕГЭ
Дата: 06-05-2020 в 18:11:28 2


Комментарии:

разбор вроде бы понятен
Анна 24-05-2023 в 15:16:13



Оставить коментарий:



Напишите email, чтобы получать сообщения о новых комментариях (необязательно):


Задача против робота. Расположите картинки горизонтально:




Нажимая кнопку Отправить, Вы соглашаетесь с политикой конфиденциальности сайта.