DataMuseum.dk

Presents historical artifacts from the history of:

RC4000/8000/9000

This is an automatic "excavation" of a thematic subset of
artifacts from Datamuseum.dk's BitArchive.

See our Wiki for more about RC4000/8000/9000

Excavated with: AutoArchaeologist - Free & Open Source Software.


top - metrics - download

⟦3a3178803⟧ TextFile

    Length: 3840 (0xf00)
    Types: TextFile
    Names: »kktt«

Derivation

└─⟦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« 

TextFile

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◀