Краткое описание и инструкция по использованию
программы
МАШИНА ТЬЮРИНГА.
Программа написана на Turbo Pascal`е, эмулирует работу машины Тьюринга.
Пользователь имеет возможность написать собственные программы для машины и запустить их на эмуляторе. Для примера в архиве имеются две программы: сложения (add.txt) и умножения (mull.txt) чисел.
Как написать программу для машины
Тьюринга???
Программа пишется в любом текстовом редакторе и сохраняется в текстовом файле.
Каждая команда должна иметь 5 символов. Например:
//Пример1
x0a>1
x1x>1
Как видно, комментарии обозначаются двумя наклонными: //
и могут быть любой длины.
Далее идут две команды:
1-я: x0a>1
2-я: x1x>1
Что же обозначают эти команды??? Давайте разберемся.
Синтаксис команды:
1-я позиция |
2-я позиция |
3-я позиция |
4-я позиция |
5-я позиция |
x |
0 |
a |
> |
1 |
Символ, прочитанный с
ленты |
Текущее состояние машины |
Символ, который будет записан на ленту |
Направление движения каретки |
Новое состояние машины |
А теперь разберемся – как машина обработает эту команду:
Если с ленты прочитан символ «х»
(1-я позиция) и машина находится в состоянии «0» (2-я позиция), то записываю на
ленту символ «а»(3-я позиция), передвигаю каретку вправо «>» (4-я позиция) и
перехожу в состояние «1» (5-я позиция).
Допустим, нам необходимо «прогнать» каретку в конец ленты, и мы знаем, что на ленте находятся только символы «Z», тогда программа будет содержать всего одну команду:
//Пример2
Z0Z>0
Для обозначения направления движения каретки используются: символы
>
движение каретки вправо
<
движение каретки влево
^
конец программы. Машина завершит работу
Как запустить программу на
выполнение??
В архивном файле Turing. zip находится файл main.exe - запустите его. Программа предложит ввести имя программы. Для примера можно набрать: add.txt. Этот файл находится также в архиве и содержит программу, позволяющую складывать два числа.
Программа выведет на экран листинг программы и предложит ввести данные для ленты. В нашем примере add.txt требуется ввести 2 числа, обозначенных значком «х». Наберем с клавиатуры:
xxx xxxx
!
То есть мы хотим сложить числа 3 и 4. Заметьте – после чисел требуется добавить значительное количество пробелов, необходимых для работы машины.
Машина готова к работе. Нажимаем пробел и любуемся работой программы J.
Удачи!
С уважением, Смирнов
А.П.