Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Лаб_10 Головков И.Е. 1200218 ТОК

.docx
Скачиваний:
4
Добавлен:
26.06.2024
Размер:
300.38 Кб
Скачать

Головков И. Е. 12002108

Лабораторная работа № 10

Вариант 5

Тема: «Алгоритмизация вычислительных процессов. Машина Тьюринга»

Цель работы: знакомство с понятием машины Тьюринга и приобретение навыков конструирования машин Тьюринга.

Практическая часть

Задание 1

На ленте МТ содержится последовательность символов «+». Напишите программу для МТ, которая каждый второй символ «+» заменит на «–». Замена начинается с правого конца последовательности. Автомат в состоянии q1 обозревает один из символов указанной последовательности.

Рисунок 1 – Условие задачи, программа, описание и положение каретки

Рисунок 2 – Результат работы программы

Задание 2

а) Построить МТ для умножения числа в десятичной системе счисления

на 210. Каретка в начальном состоянии находится над крайней цифрой входного слова.

Рисунок 3 – Условие задачи, программа, описание и положение каретки

Рисунок 4 – Результат работы программы

б) Сконструировать машину Тьюринга, которая реализует заданную метаграмму. Каретка находится в начале слова. Перед каждой заменой очередного символа каретка должна «перебегать» в начало слова. После каждой замены очередного символа каретка должна «перебегать» в конец слова. БУРАН → БАРАН → БАРОН

Рисунок 5 – Условие задачи, программа, описание и положение каретки

Рисунок 6 – Результат работы программы

Задание 3* (необязательно, по желанию)

На ленте находится десятичное число (A={0, …, 9}). Напишите программу для МТ, которая находит входное слово, если неизвестно, где изначально располагается каретка: слева или справа от слова.

Рисунки 7-9 – Работа программы