Настала пора написать серию мини-обучалок по решению задач ЕГЭ по информатике версии 2021 года. В новой версии экзамена часть заданий необходимо выполнить, используя компьютер: написав программу, сделав расчеты в табличном процессоре Excel и т.п.
Часть заданий перешли из старой версии с небольшими изменениями. В данной статье рассмотрим задания №6 и № 22. Для решения я буду использовать язык программирования Python.
Задания похожи тем, что в обоих случаях необходимо найти такое значение переменной, при вводе которого мы выведем на экран заранее известное число или числа.
Пока не показываю само условие. Важно обратить внимание на то, что первой строкой в обеих задачах ввод целого числа (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)
Полный код программы попробуйте собрать самостоятельно.
Спасибо за внимание.