begin
comment library 1;
integer procedure fact(n);
value
n;
integer
n;
fact :=
if n > 1 then
n * fact(n - 1)
else
1;
fact := 1;
outreal(1, fact(5))
end
algol
begin
comment library 1;
real
y;
procedure p(x, x);
value
x;
real
x;
x := x^2 + 8.6;
p(y, 2.0);
outreal(1, y)
end
algol
begin
comment library 1;
real
x;
procedure p(y);
value
x;
real
y;
y := x;
x := 3.4;
p(10.0);
outreal(1, x)
end
algol
sdec :
begin
comment library5;
real pr;
integer pi;
boolean pb;
pi := 1;
pr := 0.0@0;
pb :=
if not pi > 0 and pi >= 1 or pi < 0 impl pr <= 0
equiv pi \= 0 then
true
else
true;
if pb then
pr := - 1 * pi^3 div 2 +
entier(sign(sqrt(abs(arctan(ln(exp(cos(sin(1)))))
)))) - (pr / (if pr = 0.0 then 3 else 3));
begin
switch psw := entry, exit;
own real array pra[0 : 1];
integer array pia[2 : 3];
boolean array pba[ - 1 : 0];
boolean procedure pfb;
pfb := false;
procedure write text(od, s);
value od;
integer od;
string s;
outreal(1, od);
procedure all parameters(csr, csi, csb, ca1, ca2, cb,
crfa, cifa, cbfa, cfr, cfi, cfb, cl, csl, cpr,
cst, csw, car, cai, cab);
value ca1, ca2, cb, crfa, cifa, cbfa, csl;
integer csi, ca2;
real csr, ca1;
boolean csb, cb;
integer array cifa, cai;
real array crfa, car;
real procedure cfr;
integer procedure cfi;
boolean procedure cfb;
boolean array cbfa, cab;
procedure cpr;
string cst;
switch csw;
label cl, csl;
begin
real procedure take formal(tf);
real tf;
take formal := tf;
car[1] := take formal(ca1);
cai[2] := ca2;
cab[ - 1] := cb;
cpr(30, cst);
cfb;
ca2 := cfi(1);
goto cl;
end all parameters;
for pi := pi + 1 while pi < 3,
1 step 1 until 1,
1 do
pi := pi := pi;
goto psw[1];
entry :;
all parameters(pr, pi, pb, 3.0, 3, false , pra, pia,
pba, sin, entier, pfb, psw[2], exit, write
text, [[c]
this_is_a_string], psw, pra, pia, pba);
exit :;
outreal(1, pra[1] + pia[2] + pi + pr + (if pba[ - 1]
then 10 else 0));
end;
end
algol
begin
comment library 1;
real
x;
procedure p(a, b);
value
(a, b);
real
(a, b);
x := a + b;
p(3, 4);
outreal(1, x)
end
algol
begin
comment library 1;
real
x;
integer
i;
x := 3.84;
for i := 1 step 1 until 200 do
begin
if - 1 / x \= - (1 / x) then
outreal(1, i);
x := x * 1.01;
end;
outreal(1, 0);
end
algol
begin
comment library 1;
array
a[1.2];
a[1] := 1.0;
outreal(1, a[1])
end
algol
begin
comment library 1;
integer
i,
j,
k;
i := j := k := 1;
if i = j then
la : if j \= k then
outreal(1, 1)
else
outreal(1, 2);
outreal(1, 3)
end
algol
begin
comment library 1;
array
a[1 : 2.3 : 4];
a[1] := 1.0;
outreal(1, a[1])
end
algol
begin
comment library 1;
real
x,
y;
integer
case;
procedure check(b);
value
b;
boolean
b;
if b then
case := case + 1
else
begin
outreal(1, x);
outreal(1, y);
outreal(1, case)
end;
case := 0;
for x := - 6.8,
.001,
13.4 do
for y := - 6.8,
.001,
13.4 do
begin
if x = y then
check(x <= y or x >= y)
else if x > y then
check(x >= y)
else if x < y then
check(x <= y)
else
check(false )
end;
outreal(1, case);
end
kdf9