Skip to content

AzaubaevViktor/TuringMachine

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

17 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

TuringMachine

Реализация машины Тьюринга на Python

Требования

Для работы в системе должен быть установлен Python 3.3. На более ранних версиях не тестировалось, поэтому правильная работа на версиях ниже не гарантируется. Как запускать программу на вашей системе, читайте в интернете.

Особенности реализации

Лента бесконечная в одну сторону.
Проверки на ошибки нет.
Память под память выделяется динамически -- то есть ячеек может быть столко, на сколько хватит памяти компьютера.

Начало работы

Для начала работы программа попросит ввести имя файла с программой.
После этого вы должны ввести входные данные -- натуральные неотрицательные числа через запятую.
Что значат надписи:

================================  
[0]0111011110[10]  
___|1  
Code: q1 0 -> q2 0 R  
================================  

Выводится память от 0-й ячейки до 10-й
Каретка находится на ячейке памяти, куда указывает символ |, число после него -- состояние МТ
Следующая строка -- код, который будет выполняться.
В конце работы программа либо прерывается по ограничению по кол-ву шагов, либо по состоянию q0.
Выводится ответ.

Структура программы

Версия 1
Первая строка -- версия стурктуры файла
Вторая строка -- ограничение на кол-во шагов
# комментарий
q%номер_состояния% %состояние ячейки% -> q%номер_состояния% %состояние ячейки% [R/L/%ничего%] -- команда.
Одна команда в одну строчку.

About

Реализация машины Тьюринга на Python

Resources

Stars

Watchers

Forks

Packages

No packages published

Languages