|
|
DataMuseum.dkPresents historical artifacts from the history of: RC4000/8000/9000 |
This is an automatic "excavation" of a thematic subset of
See our Wiki for more about RC4000/8000/9000 Excavated with: AutoArchaeologist - Free & Open Source Software. |
top - metrics - download
Length: 3840 (0xf00)
Types: TextFile
Names: »kktt«
└─⟦621cfb9a2⟧ Bits:30002817 RC8000 Dump tape fra HCØ. Detaljer om "HC8000" projekt.
└─⟦0364f57e3⟧
└─⟦this⟧ »kktt«
└─⟦667bb35d6⟧ Bits:30007480 RC8000 Dump tape fra HCØ.
└─⟦4334b4c0b⟧
└─⟦this⟧ »kktt«
kkt=algol
begin
integer c,g;
read(in,c);
g:=3;
begin
real r,t;
integer nx1,i3,i2,i1,i0,j3,j2,j1,j0,i,j,in0,in1,in2,in3;
integer array s(0:g-1,0:c-1),rk1(0:c-1);
for i:=0 step 1 until c-1 do s(0,i):=0;
for i:=0 step 1 until c-1 do s(1,i):=3**i;
for i:=0 step 1 until c-1 do s(2,i):=s(1,i)*2;
nx1:=0;
for i:=0 step 1 until c-1 do
begin
rk1(i):=s(((round(random(j)*100000)) mod g),i);
nx1:=nx1+rk1(i);
write(out,<< ddd>,rk1(i));
end;
write(out,<< ddd>,nx1,<:<10>:>);
goto L;
for i3:=c-1 step -1 until 3 do
for j3:=g-1 step -1 until 0 do
if rk1(i3)<>s(j3,i3) then
begin
in3:=s(j3,i3)-rk1(i3);
nx1:=nx1+in3;
for i2:=i3-1 step -1 until 2 do
for j2:=g-1 step -1 until 0 do
if rk1(i2)<>s(j2,i2) then
begin
in2:=s(j2,i2)-rk1(i2);
nx1:=nx1+in2;
for i1:=i2-1 step -1 until 1 do
for j1:=g-1 step -1 until 0 do
if rk1(i1)<>s(j1,i1) then
begin
in1:=s(j1,i1)-rk1(i1);
nx1:=nx1+in1;
for i0:=i1-1 step -1 until 0 do
for j0:=g-1 step -1 until 0 do
if rk1(i0)<>s(j0,i0) then
begin
in0:=s(j0,i0)-rk1(i0);
nx1:=nx1+in0;
write(out,<:<10>:>,<< ddd>,i3,i2,i1,i0,nx1,<:<10>:>,j3,j2,j1,j0);
nx1:=nx1-in0;
end;
nx1:=nx1-in1;
end;
nx1:=nx1-in2;
end;
nx1:=nx1-in3;
end;
comment *****************************************;
L:
r:=systime(1,i,t);
for i2:=c-1 step -1 until 2 do
for j2:=g-1 step -1 until 0 do
if rk1(i2)<>s(j2,i2) then
begin
in2:=s(j2,i2)-rk1(i2);
nx1:=nx1+in2;
for i1:=i2-1 step -1 until 1 do
for j1:=g-1 step -1 until 0 do
if rk1(i1)<>s(j1,i1) then
begin
in1:=s(j1,i1)-rk1(i1);
nx1:=nx1+in1;
for i0:=i1-1 step -1 until 0 do
for j0:=g-1 step -1 until 0 do
if rk1(i0)<>s(j0,i0) then
begin
in0:=s(j0,i0)-rk1(i0);
nx1:=nx1+in0;
write(out,<:<10>:>,<< ddd>,i2,i1,i0,nx1,<:<10>:>,j2,j1,j0);
nx1:=nx1-in0;
end;
nx1:=nx1-in1;
end;
nx1:=nx1-in2;
end;
comment *******************************************************;
for i1:=c-1 step -1 until 1 do
for j1:=g-1 step -1 until 0 do
if rk1(i1)<>s(j1,i1) then
begin
in1:=s(j1,i1)-rk1(i1);
nx1:=nx1+in1;
for i0:=i1-1 step -1 until 0 do
for j0:=g-1 step -1 until 0 do
if rk1(i0)<>s(j0,i0) then
begin
in0:=s(j0,i0)-rk1(i0);
nx1:=nx1+in0;
write(out,<:<10>:>,<< ddd>,i1,i0,nx1,<:<10>:>,j1,j0);
nx1:=nx1-in0;
end;
nx1:=nx1-in1;
end;
comment ***********************************************************;
for i0:=c-1 step -1 until 0 do
for j0:=g-1 step -1 until 0 do
if rk1(i0)<>s(j0,i0) then
begin
in0:=s(j0,i0)-rk1(i0);
nx1:=nx1+in0;
write(out,<:<10>:>,<< ddd>,i0,nx1,<:<10>:>,j0);
nx1:=nx1-in0;
end;
write(out,<:<10>:>,nx1,systime(1,i,t)-r);
end
end
▶EOF◀