Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Центр помощи > [Алгоритм] Машина Тьюринга


Автор: XaviBeat 30.3.2009, 10:58
На ленте машины Тьюринга находится слово, состоящее из букв латинского алфавита. Подсчитать число букв «а» в данном слове и полученное значение записать на ленту левее исходного слова через пробел. Каретка обозревает крайнюю левую букву.

Заранее спасибо. 

Так же выкладываю программу где эту схему надо сделать

Автор: CodingMonster 11.9.2009, 11:58
Вот, пожалуйста, в аттаче исходник программы для http://www.loonies.narod.ru/tmr.htm.

Для примера положим, что строка может состоять только их символов a, b и c. При необходимости вы сами можете расширить набор. Единицами (1) слева отмечается число вхождений a, звездочка (*) служит как временный символ.

Далее трасса выполнения для тестовой строки "acaababc":
Код

11.09.2009 13:51:38: Начало процедуры проверки программы
11.09.2009 13:51:38: Проверка успешно завешена, программа может быть исполнена

11.09.2009 13:51:40: Начало выполнения программы

Программа успешно перешла в завершающее состояние

Символы ленты на момент завершения работы программы: 1 1 1 1 _ a c a a b a b c _
Результирующие данные: 1 1 1 1 _ a c a a b a b c

Размер входных данных: 8 символов
Длина используемой ленты: 14 ячеек
Размер выходных данных: 13 символов

Статистика использования правил:
1 (_) -> 1 (_, П)   0 раз
1 (a) -> 2 (a, Н)   1 раз
1 (b) -> 2 (b, Н)   0 раз
1 (c) -> 2 (c, Н)   0 раз
2 (_) -> 6 (_, Л)   1 раз
2 (a) -> 3 (*, Л)   4 раз
2 (b) -> 2 (b, П)   3 раз
2 (c) -> 2 (c, П)   5 раз
2 (*) -> 2 (*, П)   10 раз
3 (_) -> 4 (_, Л)   4 раз
3 (b) -> 3 (b, Л)   1 раз
3 (c) -> 3 (c, Л)   3 раз
3 (*) -> 3 (*, Л)   6 раз
4 (_) -> 5 (1, П)   4 раз
4 (1) -> 4 (1, Л)   6 раз
5 (_) -> 2 (_, П)   4 раз
5 (1) -> 5 (1, П)   6 раз
6 (_) -> 0 (_, П)   1 раз
6 (b) -> 6 (b, Л)   2 раз
6 (c) -> 6 (c, Л)   2 раз
6 (*) -> 6 (a, Л)   4 раз
11.09.2009 13:51:40: Завершение выполнения программы


Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)