AAABB AABBA ABBAA BBAAA
AABAB ABAAB ABABA BABAA BAABA BAAAB
N= 5! / (3! *2!)=5*4/2=10
<em><u>Pascal:</u></em>
var code:byte;
begin
write ('Code = ');
readln (code);
writeln (chr(pred(code)));
end.
<em><u>C++:</u></em>
#include <iostream>
using namespace std;
int main()
{
int code;
cout <<"Code: ";
cin >>code;
char ch=static_cast<char>(code);
cout <<ch <<endl;
return 0;
<span>}</span>
Бит - минимальная еденица
Машина Поста имеет шесть операций. Для удобства записи алгоритма введем следующие обозначения:
-> шаг влево;
<- шаг вправо;
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. !