В нашем случае рассматривается модификация МТ, заданая следующим образом:
Состояние, для которого не определено правило, является заключительным. Попав в него, машина останавливается.
Программа МТ записана в файле, имя которого передается в программу в командной строке первым аргументом. Файл содержит строки в формате q_i a_j -> q_k a_m d_n, например, файл MT.txt
q1 0 -> q2 1 R
q1 1 -> q2 1 L
q2 0 -> q1 1 L
q2 1 -> q3 1 L
Если какая-то строка программы содержит ошибку, то вывести сообщение Error.
Вторым аргументом командной строки задается размер ленты, а третьим — максимальное количество тактов работы машины. Например, вызов tm MT.txt 1000 1000000 должен запустить программу записанную в файле MT.txt на пустой ленте длиной 1000 ячеек, замкнутой в кольцо и выполнить не более 1000000тактов работы машины. В результате работы должны получить:
6
1111
Если в ходе работы МТ не остановилась за максимально разрешенное количество тактов работы, то остановить машину и вывести сообщение Not applicable. В остальных случаях вывести в первой строке количество тактов до остановки, а во второй строке содержимое ленты, начиная с позиции, на которой остановилась МТ, и до последней 1 на ленте. Если в результате работы на ленте не было ни одной 1, то вывести 0.
Требования к реализацииДля класса TuringMachine реализовать:
Требования:
| Гарантия на работу | 1 год |
| Средний балл | 4.54 |
| Стоимость | Назначаете сами |
| Эксперт | Выбираете сами |
| Уникальность работы | от 70% |