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

ОГЭ по информатике - Задание 15 (Нестандартные задачи)



Когда дело доходит до ОГЭ по информатике, Задание 15 всегда является наиболее интересным и сложным для учащихся. Этот раздел ОГЭ содержит некоторые из самых нестандартных и творческих задач, которые могут вызвать затруднения у даже самых подготовленных учеников.


Сегодня мы порешаем такие нестандартные задачи, и увидим, что чаще всего их можно свести к уже известным приёмам и алгоритмам.


Как решать стандартные задачи из 15 Задания ОГЭ по информатике, можете посмотреть здесь.





Задача (Хотя бы одно число)

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


Программа должна вывести «YES», если в последовательности есть хотя бы одно нечётное число, большее 100, и «NO» в противном случае.


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


Входные данные Выходные данные
3
35
145
205
YES

Решение:

Чтобы узнать, есть ли хотя бы одно нечётное число больше 100, нужно найти количество таких чисел. Т.е. задача сводится к шаблону из этой статьи, где мы искали количество чисел, подходящие под какое-либо условие.


n=int(input())
k=0
for i in range(n):
    a=int(input())
    if a%2!=0 and a > 100:
        k=k+1
if k >= 1:
    print('YES')
else:
    print('NO')

Эта программа на языке Python предназначена для проверки наличия нечетных чисел больше 100 в последовательности, введенной пользователем.


Сначала программа запрашивает у пользователя целое число n, которое указывает количество чисел, которые пользователь собирается ввести. Затем переменная k инициализируется нулем, чтобы отслеживать количество чисел, соответствующих заданным условиям.


Далее следует цикл for, который повторяется n раз, где каждый раз пользователь вводит новое целое число a.


В теле цикла if проверяет, что число a нечетное и больше 100. Если оба условия выполняются, то переменная k увеличивается на 1.


После выполнения цикла программа проверяет значение переменной k. Если значение k больше или равно 1, то программа выводит строку "YES" на экран. В противном случае, программа выводит строку "NO".


Таким образом, данная программа позволяет определить, есть ли хотя бы одно число в последовательности, которое подходит по условию задачи, и выдает ответ в формате "YES" или "NO".





Задача (Все ли числа)

Напишите программу, которая в последовательности натуральных чисел определяет, все ли числа последовательности двузначные. Программа получает на вход количество чисел в последовательности, а затем сами числа.

Количество чисел не превышает 1000. Введённые числа не превышают 30 000.

Программа должна вывести «YES», если в последовательности все числа двузначные, и «NO» в противном случае.


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


Входные данные Выходные данные
3
35
45
25
YES

Решение:

Здесь снова задача сводится к тому, чтобы найти количество чисел, которые подходят под условие задачи.


n=int(input())
k=0
for i in range(n):
    a=int(input())
    if a > 9 and a < 100:
        k=k+1
if k == n:
    print('YES')
else:
    print('NO')

Эта программа на языке Python проверяет, являются ли все числа, введенные пользователем, двузначными.


Сначала программа запрашивает у пользователя целое число n, которое указывает количество чисел, которые пользователь собирается ввести. Затем переменная k инициализируется нулем, чтобы отслеживать количество двузначных чисел в последовательности.


Далее следует цикл for, который повторяется n раз, где каждый раз пользователь вводит новое целое число a.


В теле цикла if проверяет, что число a больше 9 и меньше 100. Если оба условия выполняются, то переменная k увеличивается на 1.


После выполнения цикла программа проверяет значение переменной k. Если значение k равно n, то программа выводит строку "YES" на экран. В противном случае, программа выводит строку "NO".


Таким образом, данная программа позволяет определить, являются ли все числа, введенные пользователем, двузначными, и выдает ответ в формате "YES" или "NO".





Задача (Среднее арифметическое)

Напишите программу, которая в последовательности натуральных чисел определяет среднее арифметическое двузначных чисел. Программа получает на вход количество чисел в последовательности, а затем сами числа. В последовательности всегда имеется двузначное число.

Количество чисел не превышает 1000. Введённые числа не превышают 30 000.

Программа должна вывести одно число — среднее арифметическое двузначных чисел последовательности. Точность выводимого числа (число знаков после запятой) не имеет значения.


Входные данные Выходные данные
3
35
405
25
30

Решение:

Чтобы найти среднее арифметическое, нужно сумму чисел разделить на их количество.


Поэтому в этой задаче мы ищем и сумму чисел, и их количество одновременно. Суммируем и подчитываем только те числа, которые соответствуют условию задачи.


n=int(input())
sm=0
k=0
for i in range(n):
    a=int(input())
    if a > 9 and a < 100:
        k=k+1
        sm=sm+a
print(sm/k)

Эта программа на языке Python находит среднее арифметическое значение всех двузначных чисел в последовательности, введенной пользователем.


Сначала программа запрашивает у пользователя целое число n, которое указывает количество чисел, которые пользователь собирается ввести. Затем переменная sm инициализируется нулем, чтобы подсчитывать сумму двузначных чисел в последовательности, а переменная k инициализируется нулем, чтобы подсчитывать количество двузначных чисел в последовательности.


Далее следует цикл for, который повторяется n раз, где каждый раз пользователь вводит новое целое число a.


В теле цикла if проверяет, что число a больше 9 и меньше 100. Если оба условия выполняются, то переменная k увеличивается на 1, а значение переменной sm увеличивается на значение a.


После выполнения цикла программа вычисляет среднее арифметическое значение всех двузначных чисел в последовательности путем деления суммы двузначных чисел на их количество. Результат вычислений выводится на экран.


Таким образом, данная программа позволяет найти среднее арифметическое значение всех двузначных чисел в последовательности, введенной пользователем.





Задача (Контрольная по алгебре)

На контрольной работе по алгебре ученикам 9 класса было предложено 10 примеров. Неудовлетворительная оценка выставляется, если правильно решено менее половины примеров. Сколько неудовлетворительных оценок было получено учениками? Если хотя бы один из учеников правильно решил все задачи, выведите YES, иначе выведите NO.

Программа получает на вход количество учеников в классе N (1 ≤ N ≤ 30), затем для каждого ученика вводится количество правильно решённых примеров.


Входные данные Выходные данные
4
3
9
2
8
2
NO

Решение:
n=int(input())
k1=0 # Количество двоечников
k2=0 # Количество отличников
for i in range(n):
    a=int(input())
    if a < 5:
        k1=k1+1
    if a == 10:
        k2=k2+1
print(k1)
if k2 >= 1:
    print('YES')
else:
    print('NO')

Считываем количество учеников в классе n.


Создаем переменную k1 и k2 и инициализируем их нулем. Первая переменная будет хранить количество учеников, которые получили неудовлетворительную оценку. Вторая переменная будет хранить, количество учеников, которые решили все 10 примеров.


Создаем цикл, который будет запрашивать количество правильно решенных примеров для каждого ученика.


Если количество правильно решенных примеров у текущего ученика меньше, чем половина от общего числа задач (5 из 10), то увеличиваем переменную k1 на 1.


Если количество правильно решенных примеров у текущего ученика равно 10, то увеличиваем переменную k2 на 1.


После окончания цикла выводим количество неудовлетворительных оценок.


Проверяем, был ли хотя бы один ученик, который решил все задачи. Если да, выводим "YES", иначе "NO".





Задача (Камера наблюдения)

Напишите программу для определения минимальной зарегистрированной скорости автомобиля с помощью камеры наблюдения. Значения скорости округляются до целых чисел. Если скорость хотя бы одного автомобиля была больше 80 км/ч, программа должна вывести «YES», в противном случае вывести «NO».


На вход программе передается количество проехавших автомобилей N (1 ≤ N ≤ 30), а затем указываются их скорости. Значение скорости должно быть в диапазоне от 1 до 300. Программа должна сначала вывести минимальную скорость, а затем - "YES" или "NO" в зависимости от того, была ли скорость хотя бы одного автомобиля больше 80 км/ч.


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


Входные данные Выходные данные
4
74
69
63
96
63
YES

Решение:

Здесь мы будем искать минимальное значение в последовательности, а так же количество чисел, которые превышают 80.


n=int(input())
mn=300 # минимальное значение
k=0 # количество чисел, больших 80
for i in range(n):
    a=int(input())
    mn = min(mn, a)
    if a > 80:
        k=k+1
print(mn)
if k >= 1:
    print('YES')
else:
    print('NO')

Программа начинается с чтения количества проехавших автомобилей n, после чего инициализируется минимальное значение скорости mn и счетчик k, который будет использоваться для определения того, была ли скорость хотя бы одного автомобиля больше 80 км/ч.


Затем, с помощью цикла for итерируется n раз, и на каждой итерации считывается скорость автомобиля a. Для определения минимальной скорости используется функция min(), которая сравнивает текущее значение mn с a и присваивает наименьшее значение mn. Если скорость a больше 80 км/ч, то увеличивается значение k.


После завершения цикла выводится минимальное значение скорости mn. Затем, если значение k больше или равно 1, то выводится "YES", иначе выводится "NO".


В заключение, стоит отметить, что несмотря на то, что 15 задания ОГЭ по информатике могут выглядеть нестандартно и требовать некоторой креативности в решении, они, как правило, сводятся к применению привычных алгоритмов и приёмов. Главное - не забывать внимательно читать условия задачи и разбираться в том, что требуется от вас в данном конкретном случае. Надеемся, что советы и рекомендации в этой статье помогут вам успешно справиться с 15 заданием на экзамене.




23-04-2023 в 17:53:39





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


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

ЕГЭ по информатике 2021 - Задание 1 (Особые точки)

В этом уроке мы изучим 1 Задание из ЕГЭ по информатике нового формата ...

Категория: Информатика  Подкатегория: ЕГЭ
Дата: 25-08-2020 в 17:15:38 7



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



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


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




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