среда, 13 ноября 2013 г.

Работа с Машиной Поста

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

Ход решения:

Согласно условию изначально программа выглядит так (числа 5 и 3).
Далее прописываем алгоритм для выполнения задания

Команда
Комментарий
1
> 

2
> 
Проверяем, не кончилось ли правое число.
3
?
Если кончилось, то стоп.
4
.

5
> 
Идем слева до конца числа.
6
?
Если число кончилось, то
7
< 
Вернулись на одну ячейку вправо.
8
0
… стираем метку.
9
< 
Идем вправо до конца числа.
10
?
Если дошли до пустой ячейки, то
11
< 
Переходим в начало второго числа.
12
< 
Ищем конец второго числа.
13
?
Если нашли пустую ячейку, то
14
> 
Вернулись на последнюю отметку
15
0
Стерли отметку (вычли 1).
16
> 
Пошли на разделительную ячейку.
17
?
Если нашли, то перешли в начало программы.

Перед выполнением алгоритма программа имеет следующий вид.
После выполнения алгоритма мы видим следующее (число 2). 

Работа завершена.

Комментариев нет: