Уведомления

Группа в Telegram: @pythonsu

#1 Дек. 2, 2018 20:51:16

Vasiliyyy
Зарегистрирован: 2018-12-02
Сообщения: 1
Репутация: +  0  -
Профиль   Отправить e-mail  

Программирование работы машины Тьюринга

На вход программе подается строка неизвестной длины. Каждый элемент является значением в ячейке памяти ленты Машины Тьюринга.

На ленте находится троичное число, знак (плюс или минус) и троичная цифра.

Image: https://ucarecdn.com/5ae0f813-cd72-45e0-9e2c-146b1eaab799/-/crop/1049x142/336,351/-/preview/

Напишите программу, которая выполнит арифметическую операцию. Указатель на текущее состояние Машины Тьюринга изначально находится слева от числа (но не на первом его символе). По обе стороны от числа находятся пробелы. Результат арифметической операции запишите на месте первого числа. Для примера выше лента будет выглядеть так:

Image: https://ucarecdn.com/d2ee0f8b-c4f0-4d58-98af-adcc04f783fe/-/crop/1018x143/360,364/-/preview/Ваша программа должна вывести полученную ленту после завершения работы.

Алфавит:

0
1
2
+
-
“ ” (пробел)
Соглашения:

1. Направление движения автомата может быть одно из R (направо), L (налево), N (неподвижно).

2. Число обязательно начинается с единицы или двойки.

3. Числа и знак операции между ними идут непрерывно.

4. Гарантируется, что в результате операции вычитания не может получиться отрицательного числа.



В отчет включите таблицу состояний. Отдельно кратко опишите каждое состояние, например:
q1 - начальное состояние, которое необходимо, чтобы найти первую цифру первого числа.

Прикреплённый файлы:
attachment Снимок экрана 2018-12-02 в 21.50.49.png (125,8 KБ)

Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version