q0
_1.5
Состояние ленты после выполнения программы:
_1.0
_40 1 2 3 4 5 6 7
--------------------------------------
¦ ¦ ¦ ^ ¦ $ ¦ $ ¦ $ ¦ $ ¦ ^ ¦ ¦
--------------------------------------
q0
_1.5
___2Пример_2.
Составить программу и функциональную схему машины Тьюринга, реализующей алгоритм сложения двух чисел в унарной записи, распо- ложенных на расстоянии одна ячейка одно от другого.
___2Решение.
На ленту машины Тьюринга подается пара чисел, которые изобра- жаются в виде палочек '|'. Числа отделены друг от друга символом
'*'.
_1.0
_3Программа Функциональная схема
| q0 => ^ Вправо q2 +--------------------------+
| q1 => | Влево q1 ¦ ¦ q0 ¦ q1 ¦ q2 ¦
| q2 => | Вправо q2 +-----+------+------+------¦
^ q0 => ^ Вправо q0 ¦ | ¦ ^Пq2 ¦ |Лq1 ¦ |Пq2 ¦
^ q1 => ^ Вправо q0 +-----¦------+------+------¦
^ q2 => | На_месте q1 ¦ ^ ¦ ^Пq0 ¦ ^Пq0 ¦ |Нq1 ¦
* q0 => ^ Стоп q0 +-----¦------+------+------¦
* q1 => * Влево q1 ¦ * ¦ ^Сq0 ¦ *Лq1 ¦ *Пq2 ¦
* q2 => * Вправо q2 +--------------------------+
_1.5
Начальное состояние машины Тьюринга: | q0
Каретка указывает на ячейку: 2
.
- 19 -
Состояние ленты перед выполнением программы:
_1.0
_40 1 2 3 4 5 6 7
---------------------------------
¦ ¦ ^ ¦ | ¦ | ¦ * ¦ | ¦ | ¦ ^ ¦
---------------------------------
q0
_1.5
Состояние ленты после выполнения программы:
_1.0
_40 1 2 3 4 5 6 7 8 9
-----------------------------------------
¦ ¦ ^ ¦ ^ ¦ ^ ¦ ^ ¦ | ¦ | ¦ | ¦ | ¦ ^ ¦
-----------------------------------------
q0
_1.5
___2Пример_3.
Составить программу и функциональную схему машины, реализующей алгоритм вычитания двух чисел, записанных на расстоянии одна ячейка друг от друга.
___2Решение.
На ленту машины Тьюринга подается пара чисел, которые изобра-
жаются в виде палочек '|' и разделены '*'.
_1.0
_3Программа Функциональная схема
| q0 => ^ Вправо q2 +---------------------------------+
| q1 => | Влево q1 ¦ ¦ q0 ¦ q1 ¦ q2 ¦ q3 ¦
| q2 => | Вправо q2 ¦-----+------+------+------+------¦
| q3 => ^ Влево q1 ¦ | ¦ ^Пq0 ¦ |Лq1 ¦ |Пq2 ¦ ^Лq1 ¦
^ q0 => ^ Вправо q0 +-----¦------+------+------+------¦
^ q1 => ^ Вправо q0 ¦ ^ ¦ ^Пq0 ¦ ^Пq0 ¦ ^Нq3 ¦ ^Лq3 ¦
^ q2 => ^ На_месте q3 +-----¦------+------+------+------¦
^ q3 => ^ Влево q3 ¦ * ¦ ^Сq0 ¦ *Лq1 ¦ *Пq2 ¦ *Нq0 ¦
* q0 => ^ Стоп q0 +---------------------------------+
* q1 => * Влево q1
* q2 => * Вправо q2
* q3 => * На_месте q0
_1.5
Начальное состояние машины Тьюринга: | q0
Каретка указывает на ячейку: 1
Состояние ленты перед выполнением программы:
_1.0
_40 1 2 3 4 5 6 7
---------------------------------
¦ ^ ¦ | ¦ | ¦ * ¦ | ¦ | ¦ | ¦ ^ ¦
---------------------------------
q0
_1.5
Состояние ленты после выполнения программы:
_1.0
_40 1 2 3 4 5 6 7
-------------------------------------
¦ ^ ¦ ^ ¦ ^ ¦ ^ ¦ | ¦ ^ ¦ ^ ¦ ^ ¦ ¦
-------------------------------------
q0
_1.5
.
- 20 -
___2Пример_4.
Составить программу для машины Тьюринга, реализующую алгоритм перехода от десятичной записи числа n к десятичной записи числа
n+1 (n>1).
___2Решение.
_1.1
0 q0 => ^ Стоп q0 6 q0 => ^ Стоп q0
1 q0 => ^ Стоп q0 7 q0 => ^ Стоп q0
2 q0 => ^ Стоп q0 8 q0 => ^ Стоп q0
3 q0 => ^ Стоп q0 9 q0 => 0 Влево q0
4 q0 => ^ Стоп q0 ^ q0 => 1 Стоп q0
Уважаемый посетитель!
Чтобы распечатать файл, скачайте его (в формате Word).
Ссылка на скачивание - внизу страницы.