Чуть слезу от ностальгии не пустил)
Диалект FreePascal:
program Project1;
var
t0, intA, intB: Byte;
A, B: boolean;
const
t = 10;
begin
t0:=t-3;
Writeln('A':t0,'B':t0, 'not A':t, 'A and B':t, 'A or B':t, 'A xor B':t);
for intA:=0 to 1 do
for intB:=0 to 1 do
begin
A:=intA <> 0;
B:=intB <> 0;
Writeln (A:t0, B:t0, not A:t, A and B:t, A or B:t, A xor B:t);
end;
end.
$ ./Project1
A B not A A and B A or B A xor B
FALSE FALSE TRUE FALSE FALSE FALSE
FALSE TRUE TRUE FALSE TRUE TRUE
TRUE FALSE FALSE FALSE TRUE TRUE
TRUE TRUE FALSE TRUE TRUE FALSE