A AND (NOT(B))
как я поняла, надо записывать так :)
Program sp;
var
n, x: integer;
1: label;
begin
n:= 13;
label main;
writeln(n);
writeln('Можно взять 1, 2 или 3 спички. Ваш ход');
readln(x);
n := n - x;
if n > 0 then
begin
writeln('Мой ход. Я возьму', 4 - x);
n := n - (4 - x);
end
end
if n <= 0 then
writeln('Вы проиграли!')
else
goto 1;
end
end.
<span>Пронумеруем для наглядности: </span>
<span>1, 2, 3, 4 </span>
<span>Итак: </span>
<span>1) Сравниваем первую пару, например 1 и 2 </span>
<span>2) Сравниваем вторую пару — 3 и 4 </span>
<span>3) Сравниваем победителей первых двух пунктов между собой. Победитель будет самым тяжёлым </span>
<span>4) Сравниваем проигравших первых двух пунктов между собой. Проигравший будет самым лёгким </span>
<span>5) Теперь сравниваем те 2 арбуза, которые остались посерединке.</span>
Эта функция на языке програмирования записывается так:
not(a)^(B+not(C)) Это КНФ(конъюктивная нормальная функция)
таблица истинности составляется,нахождением значений переменных,при которых функция=0
таблица истинности
A. B. C. F
0. 0. 0. 1
0. 0. 1 0
0. 1. 0. 1
0. 1. 1. 1
1. 0. 0. 0
1. 0. 1. 0
1. 1. 0. 0
1. 1. 1. 0
F принимает значение 0 при значении а=1 или в=0 и с=1