42 lines
533 B
Text
42 lines
533 B
Text
PROC OddByAnd(INT v)
|
|
IF (v&1)=0 THEN
|
|
Print(" even")
|
|
ELSE
|
|
Print(" odd ")
|
|
FI
|
|
RETURN
|
|
|
|
PROC OddByMod(INT v)
|
|
;MOD doesn't work properly for negative numbers in Action!
|
|
IF v<0 THEN
|
|
v=-v
|
|
FI
|
|
IF v MOD 2=0 THEN
|
|
Print(" even")
|
|
ELSE
|
|
Print(" odd ")
|
|
FI
|
|
RETURN
|
|
|
|
PROC OddByDiv(INT v)
|
|
INT d
|
|
d=(v/2)*2
|
|
IF v=d THEN
|
|
Print(" even")
|
|
ELSE
|
|
Print(" odd ")
|
|
FI
|
|
RETURN
|
|
|
|
PROC Main()
|
|
INT i
|
|
|
|
FOR i=-4 TO 4
|
|
DO
|
|
PrintF("%I is",i)
|
|
OddByAnd(i)
|
|
OddByMod(i)
|
|
OddByDiv(i)
|
|
PutE()
|
|
OD
|
|
RETURN
|