Задание:
Написать алгоритм для машины поста для разности двух чисел, левое больше правого, между ними одно пустое место, каретка стоит на последней метке левого числа.
Ход решения:
Согласно условию изначально программа выглядит так (числа 5 и 3).
Далее прописываем алгоритм для выполнения задания
Перед выполнением алгоритма программа имеет следующий вид.
Написать алгоритм для машины поста для разности двух чисел, левое больше правого, между ними одно пустое место, каретка стоит на последней метке левого числа.
Ход решения:
Согласно условию изначально программа выглядит так (числа 5 и 3).
Далее прописываем алгоритм для выполнения задания
№
|
Команда
|
Комментарий
|
1
|
>
|
|
2
|
>
|
Проверяем, не кончилось ли правое число.
|
3
|
?
|
Если кончилось, то стоп.
|
4
|
.
|
|
5
|
>
|
Идем слева до конца числа.
|
6
|
?
|
Если число кончилось, то
|
7
|
<
|
Вернулись на одну ячейку вправо.
|
8
|
0
|
… стираем метку.
|
9
|
<
|
Идем вправо до конца числа.
|
10
|
?
|
Если дошли до пустой ячейки, то
|
11
|
<
|
Переходим в начало второго числа.
|
12
|
<
|
Ищем конец второго числа.
|
13
|
?
|
Если нашли пустую ячейку, то
|
14
|
>
|
Вернулись на последнюю отметку
|
15
|
0
|
Стерли отметку (вычли 1).
|
16
|
>
|
Пошли на разделительную ячейку.
|
17
|
?
|
Если нашли, то перешли в начало программы.
|
Перед выполнением алгоритма программа имеет следующий вид.
После выполнения алгоритма мы видим следующее (число 2).
Работа завершена.



Комментариев нет:
Отправить комментарий