Решение задачи №6 и задачи №22 ЕГЭ по информатике 2021

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

Часть заданий перешли из старой версии с небольшими изменениями. В данной статье рассмотрим задания №6 и № 22. Для решения я буду использовать язык программирования Python.

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

Задание 6 и 22 ЕГЭ по информатике 2021 Демо

Пока не показываю само условие. Важно обратить внимание на то, что первой строкой в обеих задачах ввод целого числа (s — в задаче 6, x — в задаче 22), а последние строки — вывод значений переменных (n — в задаче 6, L и M — в задаче 22). Числа, которые выводятся в результате выполнения программы заранее известны.

Поручит подбирать вводимые числа циклу. Как правило, вводимое число не превосходит 100 по модулю.

Давайте посмотрим на условие задачи №6

Определите, при каком наименьшем введённом значении переменной s программа выведет число 64.

Значения для переменной s будем подставлять из цикла, как уже сказали ранее. Получим:

for chislo in range(-100,100):
    s = chislo

Значения для переменной s мы берем из интервала [-100, 100), так как по условию задачи известно лишь то, что s — целое число.

Перепишем оставшийся код до строки вывода.

for chislo in range(-100,100):
    s = chislo
    n = 1
    while s < 51:
        s = s + 5
        n = n * 2

Теперь осталось отловить, при каком значении переменной chislo мы получим n = 64 (по условию задачи). Сделаем это с помощью условия (условного оператора if)

if n == 64:
    print(chislo)

Если значение n стало равно 64, то необходимо вывести на экран текущее значение переменной chislo.

Получим следующий код:

for chislo in range(-100,100):
    s = chislo
    n = 1
    while s < 51:
        s = s + 5
        n = n * 2
    if n == 64:
        print(chislo)

Запустив данный код мы получим несколько значений переменной chislo при которых n = 64. По условию задачи нам необходимо минимальное значение.

Задача 22 решается по такому же принципу. Вот условие:

Получив на вход число x, этот алгоритм печатает два числа: L и M. Укажите наибольшее число x, при вводе которого алгоритм печатает сначала 4, а потом 5.

Организуем цикл с переменной chislo в диапазоне от -100 до 100 и вместо строчки

x = int(input())

запишем

x = chislo

Далее переписываем код из условия задачи до вывода значений переменных L и M на экран. Здесь уже условие будет сложным: переменная L должна быть равна 4, а переменная M равна 5 одновременно.

if L == 4 and M == 5:
    print(chislo)

Полный код программы попробуйте собрать самостоятельно.

Спасибо за внимание.

1 Звезда2 Звезды3 Звезды4 Звезды5 Звезд (10 голос, значение: 3,80 из 5)
Загрузка...
Вы можете оставить комментарий, или ссылку на Ваш сайт.

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

Антибот *