Даша: Спасибо:3
31-05-2023
Читать статью
Санечка: я ничего не учила) но буду надеятся что ..
30-05-2023
Мейнер Сяо: Удачи всем сегодня на экзамене ;)..
Всем привет! Сегодня мы будем решать 15 задание из ОГЭ по информатике.
В 15 задании у учащегося есть выбор: решить задачу с Роботом в программе Кумир или решить задачу на программирование. Мы с вами выбираем задачу по программированию! Выполнять будем на языке Python.
В этой статье рассмотрим основные типы задач на программирование из 15 задания ОГЭ по информатике.
Напишите программу, которая в последовательности натуральных чисел определяет количество чисел, кратных 3. Программа получает на вход количество чисел в последовательности, а затем сами числа. В последовательности всегда имеется число, кратное 3. Количество чисел не превышает 1000. Введённые числа не превышают 30 000. Программа должна вывести одно число — количество чисел, кратных 3.
Пример работы программы:
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.
n=int(input()) k=0 for i in range(n): a=int(input()) if a%10==4: k=k+1 print(k)
Эта программа отличается от предыдущей тем, что нужно количество чисел, которые оканчиваются на цифру 4.
Для того, чтобы найти на что оканчивается положительное число, достаточно взять остаток от деления на 10.
Пример:
Напишите программу, которая в последовательности натуральных чисел определяет сумму чисел, кратных 3 и оканчивающихся на 1. Программа получает на вход количество чисел в последовательности, а затем сами числа. В последовательности всегда имеется число, кратное 3 и оканчивающееся на 1. Количество чисел не превышает 100. Введённые числа не превышают 300. Программа должна вывести одно число — сумму чисел, кратных 3 и оканчивающихся на 1.
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.
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.
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.
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.
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.
a=int(input()) k=0 while a!=0: if a%10==9: k=k+1 a=int(input()) print(k)
На сегодня всё, всем удачи на ОГЭ по информатике.