32 lines
584 B
Plaintext
32 lines
584 B
Plaintext
program shortcircuit(output);
|
|
|
|
function a(value: boolean): boolean;
|
|
begin
|
|
writeln('a(', value, ')');
|
|
a := value
|
|
end;
|
|
|
|
function b(value:boolean): boolean;
|
|
begin
|
|
writeln('b(', value, ')');
|
|
b := value
|
|
end;
|
|
|
|
procedure scandor(value1, value2: boolean);
|
|
var
|
|
result: integer;
|
|
begin
|
|
result := a(value1) and_then b(value)
|
|
writeln(value1, ' and ', value2, ' = ', result);
|
|
|
|
result := a(value1) or_else b(value2);
|
|
writeln(value1, ' or ', value2, ' = ', result)
|
|
end;
|
|
|
|
begin
|
|
scandor(false, false);
|
|
scandor(false, true);
|
|
scandor(true, false);
|
|
scandor(true, true);
|
|
end.
|