RosettaCodeData/Task/Short-circuit-evaluation/Pascal/short-circuit-evaluation-3.pascal
Ingy döt Net 68f8f3e56b all tasks
2013-04-11 01:07:29 -07:00

31 lines
584 B
Text

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.