begin
comment lib 1;
array
a[1 : 3],
b[1 : 3, 1 : 3];
real procedure sum(dim, a);
value
dim;
integer
dim;
array
a;
sum :=
if dim = 1 then
(a[1] + a[2] + a[3])
else
(a[1, 1] + a[1, 2] + a[1, 3] + a[2, 1] + a[2, 2]
+ a[2, 3] + a[3, 1] + a[3, 2] + a[3, 3]);
integer
i,
j;
for i := 1,
2,
3 do
begin
a[i] := i * i;
for j := 1,
2,
3 do
b[i, j] := a[i] + j
end;
outreal(1,sum(1, a));
outreal(1,sum(2, b));
end
algol
begin
comment lib 1;
procedure recursive(level, l);
value
level;
integer
level;
label
l;
begin
if level \= 0 then
recursive(level - 1, exit)
else
goto l;
exit :;
outreal(1,level)
end;
recursive(10, exit);
exit :;
end
algol
begin
comment lib5;
integer
i;
boolean
b;
procedure labelbyvalue(l);
value
l;
label
l;
;
procedure labelbyname(l);
label
l;
begin
i := 1;
if b then
goto l
end;
switch s :=
l1,
l2;
integer procedure nottouse;
nottouse := sqrt( - 1);
integer procedure one;
one := 1;
b := false;
labelbyname(s[nottouse]);
b := true;
i := 2;
labelbyname(s[i]);
l1 :;
outreal(1,1);
l2 :;
outreal(1,2);
labelbyvalue(s[one]);
end
algol
begin
comment lib 1;
integer array
a[1 : 9];
integer
i,
s;
procedure dummy(a);
value
a;
array
a;
sum(a);
procedure sum(a);
array
a;
for i := 1 step 1 until 9 do
begin
s := s + a[i];
a[i] := 0
end;
s := 0;
for i := 1 step 1 until 9 do
a[i] := i;
dummy(a);
outreal(1,s);
for i := 1 step 1 until 9 do
if a[i] \= i then
outreal(1,i)
end
algol
begin
comment lib1;
real
x,
y;
integer
i;
for x := @6,
@+6,
@-6,
.6,
6,
6.6,
.6@6,
.6@+6,
.6@-6,
6@6,
6@+6,
6@-6,
6.6@6,
6.6@+6,
6.6@-6 do
outreal(1, x);
outreal(1, .0000000000000000123456789123456789);
outreal(1, 3.1415926535897932384626433832795028841972);
x := y := .0000001;
for i := 1 step 1 until 13 do
begin
outreal(1, x);
outreal(1, y);
x := 10.0 * x;
y := 110 * x / 10.0
end
end
algol
begin
procedure p(l);
integer
l;
l : begin
real
a;
goto l;
l :;
goto ll
end;
p(1);
ll :;
end
algol
begin
comment lib 1;
integer
s;
procedure p(f, g);
procedure
f,
g;
begin
integer
x;
procedure r;
begin
outreal(1, s);
outreal(1, x)
end;
s := s + 1;
x := s;
if s = 1 then
p(f, r)
else
f(g, r)
end p;
procedure q(f, g);
procedure
f,
g;
begin
f;
g
end q;
s := 0;
p(q, p);
end
algol
begin
comment lib 1;
integer
n1,
n2;
procedure dummy;
;
procedure p(x, l);
value
x;
integer
x;
procedure
l;
begin
procedure gotol1;
goto l1;
if x = n1 then
p(x - 1, gotol1)
else if x = n2 then
l
else
p(x - 1, l);
l1 :;
outreal(1, x)
end p;
n1 := 4;
n2 := 2;
p(5, dummy);
n2 := 0;
p(7, dummy);
end
algol
begin
comment lib 1;
integer
s;
procedure p(f, g);
procedure
f,
g;
begin
integer
x;
procedure r(f, g);
procedure f, g;
begin
outreal(1, s);
outreal(1, x)
end;
s := s + 1;
x := s;
if s = 1 then
p(f, r)
else
f(g, r)
end p;
procedure q(f, g);
procedure
f,
g;
begin
f( q, q );
g( q, q)
end q;
s := 0;
p(q, p);
end
algol
begin
comment lib 1;
integer
n1,
n2;
procedure p(x, l);
value
x;
integer
x;
label
l;
begin
if x = n1 then
p(x - 1, l1)
else if x = n2 then
goto l
else
p(x - 1, l);
l1 :;
outreal(1, x)
end p;
n1 := 4;
n2 := 2;
p(5, l2);
n2 := 0;
p(7, l2);
l2:;
end
kdf9