Машина Поста имеет шесть операций. Для удобства записи алгоритма введем следующие обозначения: -> шаг влево; <- шаг вправо; V поставить отметку; Х стереть отметку; ?a;b проверить наличие отметки. Если её нет, переход на а, иначе переход на b; ! останов Пример записи команды: 6. V 11 Эта команда имеет номер 6. В ней проставляется отметка, после чего делается переход к команде 11.
Алгоритм "2 ИЛИ НЕ" реализует логическую функцию "ИЛИ" с отрицанием. Её значение истинно только тогда, когда оба операнда ложны. На первом рисунке представлена блок-схема, которая составлена по современным канонам, когда операция перехода в явном виде не используется. На втором рисунке сделано упрощение за счет исключения повторяющихся фрагментов и проставлены номера команд при реализации алгоритма для машины Поста. Сама программа имеет следующий вид: 1. ? 2 ; 7 2. -> 3 3. ? 4 ; 8 4. -> 5 5. ? 6 ; 11 6. V 11 7. -> 8 8. -> 9 9. ? 11 ; 10 10. X 11 11. !
-> шаг влево;
<- шаг вправо;
V поставить отметку;
Х стереть отметку;
?a;b проверить наличие отметки. Если её нет, переход на а, иначе переход на b;
! останов
Пример записи команды:
6. V 11
Эта команда имеет номер 6. В ней проставляется отметка, после чего делается переход к команде 11.
Алгоритм "2 ИЛИ НЕ" реализует логическую функцию "ИЛИ" с отрицанием. Её значение истинно только тогда, когда оба операнда ложны.
На первом рисунке представлена блок-схема, которая составлена по современным канонам, когда операция перехода в явном виде не используется. На втором рисунке сделано упрощение за счет исключения повторяющихся фрагментов и проставлены номера команд при реализации алгоритма для машины Поста.
Сама программа имеет следующий вид:
1. ? 2 ; 7
2. -> 3
3. ? 4 ; 8
4. -> 5
5. ? 6 ; 11
6. V 11
7. -> 8
8. -> 9
9. ? 11 ; 10
10. X 11
11. !