33 lines
610 B
Plaintext
33 lines
610 B
Plaintext
program shortcircuit;
|
|
|
|
function a(value: boolean): boolean;
|
|
begin
|
|
writeln('a(', value, ')');
|
|
a := value;
|
|
end;
|
|
|
|
function b(value:boolean): boolean;
|
|
begin
|
|
writeln('b(', value, ')');
|
|
b := value;
|
|
end;
|
|
|
|
{$B-} {enable short circuit evaluation}
|
|
procedure scandor(value1, value2: boolean);
|
|
var
|
|
result: boolean;
|
|
begin
|
|
result := a(value1) and b(value);
|
|
writeln(value1, ' and ', value2, ' = ', result);
|
|
|
|
result := a(value1) or b(value2);
|
|
writeln(value1, ' or ', value2, ' = ', result);
|
|
end;
|
|
|
|
begin
|
|
scandor(false, false);
|
|
scandor(false, true);
|
|
scandor(true, false);
|
|
scandor(true, true);
|
|
end.
|