
Лаб_10 Головков И.Е. 1200218 ТОК
.docxГоловков И. Е. 12002108
Лабораторная работа № 10
Вариант 5
Тема: «Алгоритмизация вычислительных процессов. Машина Тьюринга»
Цель работы: знакомство с понятием машины Тьюринга и приобретение навыков конструирования машин Тьюринга.
Практическая часть
Задание 1
На ленте МТ
содержится последовательность символов
«+». Напишите программу для МТ, которая
каждый второй символ «+» заменит на «–».
Замена начинается с правого конца
последовательности. Автомат в состоянии
q1 обозревает один из символов указанной
последовательности.
Рисунок 1 – Условие
задачи, программа, описание и положение
каретки
Рисунок 2 – Результат работы программы
Задание 2
а) Построить МТ для умножения числа в десятичной системе счисления
на 210. Каретка в
начальном состоянии находится над
крайней цифрой входного слова.
Рисунок 3 – Условие задачи, программа, описание и положение каретки
Рисунок 4 – Результат работы программы
б) Сконструировать машину Тьюринга, которая реализует заданную метаграмму. Каретка находится в начале слова. Перед каждой заменой очередного символа каретка должна «перебегать» в начало слова. После каждой замены очередного символа каретка должна «перебегать» в конец слова. БУРАН → БАРАН → БАРОН
Рисунок 5 – Условие
задачи, программа, описание и положение
каретки
Рисунок 6 – Результат работы программы
Задание 3* (необязательно, по желанию)
На ленте находится десятичное число (A={0, …, 9}). Напишите программу для МТ, которая находит входное слово, если неизвестно, где изначально располагается каретка: слева или справа от слова.
Рисунки 7-9 – Работа программы