Anonymous user
Short-circuit evaluation: Difference between revisions
Added solution for Action!
Puppydrum64 (talk | contribs) m (→{{header|6502 Assembly}}: explanation of macro) |
(Added solution for Action!) |
||
Line 203:
And finally the output:
[[https://i.ibb.co/TTJRphL/shortcircuit.png Output image]]
=={{header|Action!}}==
<lang Action!>BYTE FUNC a(BYTE x)
PrintF(" a(%B)",x)
RETURN (x)
BYTE FUNC b(BYTE x)
PrintF(" b(%B)",x)
RETURN (x)
PROC Main()
BYTE i,j
FOR i=0 TO 1
DO
FOR j=0 TO 1
DO
PrintF("Calculating %B AND %B: call",i,j)
IF a(i)=1 AND b(j)=1 THEN
FI
PutE()
OD
OD
PutE()
FOR i=0 TO 1
DO
FOR j=0 TO 1
DO
PrintF("Calculating %B OR %B: call",i,j)
IF a(i)=1 OR b(j)=1 THEN
FI
PutE()
OD
OD
RETURN</lang>
{{out}}
[https://gitlab.com/amarok8bit/action-rosetta-code/-/raw/master/images/Short-circuit_evaluation.png Screenshot from Atari 8-bit computer]
<pre>
Calculating 0 AND 0: call a(0)
Calculating 0 AND 1: call a(0)
Calculating 1 AND 0: call a(1) b(0)
Calculating 1 AND 1: call a(1) b(1)
Calculating 0 OR 0: call a(0) b(0)
Calculating 0 OR 1: call a(0) b(1)
Calculating 1 OR 0: call a(1)
Calculating 1 OR 1: call a(1)
</pre>
=={{header|Ada}}==
|