Задание 12 ЕГЭ по информатике · 6027A4

ПовышеннаяКЭС 3.3
Исполнитель МТ представляет собой читающую и записывающую головку, которая может передвигаться вдоль бесконечной горизонтальной ленты, разделённой на равные ячейки. В каждой ячейке находится ровно один символ из алфавита исполнителя (множество символов A = {a0, a1, …, an–1}), включая специальный пустой символ a0.
Время работы исполнителя делится на дискретные такты (шаги). На каждом такте головка МТ находится в одном из множества допустимых состояний Q = {q0, q1, …, qn–1}. В начальный момент времени головка находится в начальном состоянии q0.
На каждом такте головка обозревает одну ячейку ленты, называемую текущей ячейкой. За один такт головка исполнителя может изменить символ в текущей ячейке и переместиться в соседнюю ячейку слева или справа от неё. После каждого такта головка переходит в новое состояние или остаётся в прежнем состоянии.
Программа работы исполнителя МТ задаётся в табличном виде.
a0a1…an–1
q0командакоманда…команда
q1командакоманда…команда
……………
qn–1командакоманда…команда

В первой строке перечислены все возможные символы в текущей ячейке ленты, в первом столбце – возможные состояния головки. На пересечении i-й строки и j-го столбца находится команда, которую выполняет МТ, когда головка обозревает j-й символ, находясь в i-м состоянии. Если пара «символ – состояние» невозможна, то клетка для команды остаётся пустой.
Каждая команда состоит из трёх элементов, разделённых запятыми: первый элемент – записываемый в текущую ячейку символ алфавита (может совпадать с тем, который там уже записан). Второй элемент – один из трёх символов «L», «R», «S». Символы «L» и «R» означают сдвиг в левую или правую ячейки соответственно, «S» – завершение работы исполнителя МТ после выполнения текущей команды. Сдвиг происходит после записи символа в текущую ячейку. Третий элемент – новое состояние головки после выполнения команды.
Например, команда 0, L, q3 выполняется следующим образом: в текущую ячейку записывается символ «0», затем головка сдвигается в соседнюю слева ячейку и переходит в состояние q3.
Приведём пример выполнения программы, заданной таблично.
На ленте записано неизвестное ненулевое количество расположенных подряд в соседних ячейках символов «Z», все остальные ячейки ленты заполнены пустым символом «λ». В начальный момент времени головка находится на неизвестном расстоянии справа от самого правого символа «Z».
Программа
λZ
q0λ, L, q0X, L, q1
q1λ, L, q1X, L, q2
q2λ, S, q2X, L, q2

заменяет на ленте все символы «Z» на «X» и останавливает исполнителя в первой ячейке слева от последовательности символов «X».
Возможное начальное состояние исполнителя:
…λλZZZZλλ…
q0

Конечное состояние исполнителя после завершения выполнения программы:
…λλXXXXλλ…
q2

Выполните задание.
На ленте в соседних ячейках записано двоичное представление числа 2027 без ведущих нулей. Ячейки справа и слева от последовательности заполнены пустыми символами «λ». В начальный момент времени головка расположена в ближайшей справа к последовательности ячейке.
Программа работы исполнителя:
λ01
q0λ, L, q1
q1λ, R, q20, L, q11, L, q1
q20, L, q3
q31, S, q3

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

Показать ответ
3051
Подсказки (3)
  1. Преобразуйте число 2027 в двоичную систему и проследите перемещение головки по ячейкам.
  2. Начальная команда переводит головку с пустой ячейки справа на последний разряд числа. В состоянии q_1 головка движется влево, изменяя встречающиеся разряды.
  3. Пошаговое выполнение программы для двоичной записи 2027 приводит к двоичной записи числа 3051.
Решение
1. Представим число 2027 в двоичной системе счисления:
202710=111111010112

2. Из начальной пустой ячейки справа головка переходит влево и начинает обрабатывать двоичную запись в состоянии q_1. Далее по таблице последовательно выполняются команды состояний q_1, q_2 и q_3.

3. После завершения работы исполнителя на ленте получается двоичная запись числа 3051:
1011111010112=305110
Частые ошибки
  • Начинают выполнение с крайнего правого разряда, не учитывая начальную пустую ячейку.
  • Путают направление движения L и R.
  • Записывают двоичное число вместо требуемого десятичного результата.

Источник: Открытый банк ФИПИ · openfipi.devinf.ru

Похожие задания

12За один такт головка исполнителя может переместиться в ячейку справа или слева от текущей, не меняя…Машина Тьюринга над двоичным числом12За один такт головка исполнителя может переместиться в ячейку справа или слева от текущей, не меняя…Машина Тьюринга над двоичным числом12За один такт головка исполнителя может переместиться в ячейку справа или слева от текущей, не меняя…Машина Тьюринга над двоичным числом12За один такт головка исполнителя может переместиться в ячейку справа или слева от текущей, не меняя…Машина Тьюринга над двоичным числом12В каждой ячейке находится ровно один символ из алфавита исполнителя (множество символов A = {a0, a1, ……Машина Тьюринга над двоичным числом · CA9E2C12За один такт головка исполнителя может переместиться в ячейку справа или слева от текущей, не меняя…Машина Тьюринга над двоичным числом

Нужен репетитор по информатике?

Посмотрите репетиторов, которые ведут занятия в Precettore, или оставьте заявку — подберём сами.

Репетиторы по информатике

Подбор репетитора

Напишите, что нужно, — команда Precettore подберёт репетитора и свяжется с вами.

Готовьтесь к ЕГЭ по информатике в Precettore

Варианты с автопроверкой, домашние задания от репетитора, онлайн-доска и разбор ошибок — в одном кабинете. Регистрация бесплатная.