Алгоритм с фиксированным набором команд

03.02.2022 1 Автор : Марина Николаевна
Алгоритм с фиксированным набором команд

Задание 12 ЕГЭ информатика. Задание проверяет умение у учащихся исполнить алгоритм с набором команд (фиксированным набором команд) Задание выполняется с Исполнителем Редактор.

Изучаем задание.

алгоритм с фиксированным набором команд

Нам приводится какой-то фрагмент программы. Что мы должны сделать в данном задании?

У нас есть исходная строка с цифрами. Мы должны выполнить программу, предложенную в задании и получить строку, которая получится в результате выполнения данного фрагмента.

Приступаем к самому заданию.

Алгоритм с набором команд

Какая строка получится в результате применения приведенной ниже программы к строке, состоящей из семидесяти идущих подряд цифр восемь?

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

В первую очередь нам нужно создать начальную или исходную строку. Назовем ее переменной s. В этой строке имеем 70 идущих подряд цифр 8.

Указываем, что

s = 70 * ‘8’

Обратите внимание, что 8 указывается как строковый тип данных. Для того, чтобы показать, что строка состоит из 70 одинаковых цифр, используем знак *.

Исходная строка создана.

Разбор решения задачи 12 ЕГЭ информатика 2022 год

Переходим к решению самой задачи.

По сути переписываем данную программу на языке программирования Pyton и смотрим, что же она нам выдаст в конце.

Что мы видим?

Пока нашлось (2222) ИЛИ нашлось (8888)

то что мы делаем? Здесь нужно будет применить строковый метод replace в языке программирования python. Он заменяет одну подстроку на другую. Также можно указать, сколько раз нужно сделать данную замену.

while ‘2222’ in s or ‘8888’ in s: # пока ‘2222’в «s»или ‘8888’в«s»:
      if ‘2222’ in s: #  если ‘2222’ в строке «s»

Мы берем нашу исходную строчку s  и переписываем ее с применением метода replace, который заменяет нам четыре двойки на две восьмерки. Не забываем указать третий аргумент – 1. Это значит, что мы делаем одну такую замену.

s =  s.replace(‘2222’, ‘88’, 1)

иначе надо заменить четыре 8888 на две двойки и делаем следующее:

        else:
		s = s.replace(‘8888’, ‘22’, 1)

Программа переписана на языке программирования Python и теперь выводим результат:

print(s)

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

Результат написания программ по алгоритма с фиксированным набором команд

Полностью программа выглядит следующим образом:

s = 70 * ‘8’

while ‘2222’ in s or ‘8888’ in s:

	if ‘2222’ in s:
                s =  s.replace(‘2222’, ‘88’, 1)

        else:
		s = s. replace(‘8888’, ‘22’, 1)
print(s)

Скриншот с консоли:

Запускаем программу.

 

И получаем ответ: 22

Это будет являться правильным ответом на задание.

Тему «Задание 12 ЕГЭ по информатике 2022 год» можно посмотреть и разобрать по видео по ссылке.