Практическая работа
«Автоматическая обработка данных на базе машины Поста»
↕ - 0, стереть метку
V, 1, поставить метку
→, > сдвиг на шаг вправо
←, < сдвиг на шаг влево
!, . -СТОП
Команда |
1 ↕ 2 |
2 → 3 |
3 ? 2, 4 |
4 ← 5 |
5 v 6 |
6 ! |
Перемножить два числа, записанные в унарной системе через один интервал. Каретка стоит в начале первого числа.
Задание 1.
Н.С.
1V 2
2 → 3
3 !
Задание 2.
Н.С.
V | V | V |
1. ↕ 2
2. ← 3
3. !
Задание 3.
Н.С.
V | V | V | V |
1. ↕ 2
2. → 3
3. ? 2, 4
4. ↕ 5
5 → 6
6. !
Задание 4.
Н.С.
V |
1 ← 2
2 v 3
3 ← 4
4 ↕ 5
5 ← 6
6 v 7
7 ← 8
8 ← 9
9 !
Перемножить два числа, записанные в унарной системе через один интервал. Каретка стоит в начале первого числа.
КомандаПереходКомментарий
10Главный цикл. Стерли первую отметку.
2>Идем вправо до пробела.
3?4,2
4>Перешли вправо на второй сомножитель.
50Цикл по второму сомножителю. Стерли очередную отметку.
6>Идем вправо до пробела.
7?8,6
8>Перешли вправо снова до пробела.
9?10,8
101Ставим отметку.
11<Идем влево до пробела.
12?13,11
13<И еще раз влево до пробела.
14?15,13
151Ставим отметку, которую стерли на шаге 5.
16>Идем вправо...
17?18,5... если там метка, то переходим на шаг 5 в начало цикла.
18<Идем влево до пробела.
19?20,18
20<Идем влево.
21?25,22Проверяем символ. Если пробел, идем на 25.
22<Идем влево до пробела.
23?24,22
24>1Встали на 1-ый символ остатка 1-ого множителя.
25>Вправо 2 раза.
26>Стираем эталон, который мы копировали.
27?29,28
28026
29.
____ _________________1 1111


