|
DataMuseum.dkPresents historical artifacts from the history of: RegneCentralen GIER Computer |
This is an automatic "excavation" of a thematic subset of
See our Wiki for more about RegneCentralen GIER Computer Excavated with: AutoArchaeologist - Free & Open Source Software. |
top - download
Length: 5840 (0x16d0) Description: Bits:30000657 Program Potens Types: 8-hole paper tape Notes: Gier Text, Has10
algol,10< jesper andreas tågholt e690744 potensopløftningbegin comment stavefejlen i potens i programmet beklages ; _____ _______integer i,g,f,gang,eks,protens,j,antal,nulinput; _______integer array v[1:100],ind[1:20],akt[1:20],res[1:20]; _______ _____procedure enop(a,t,res,eks); _________integer eks ; _______integer array a , t , res ; _______ _____begin _____integer i, j ,p , m ; _______integer array pro[ 1 :41 ]; _______ _____for i := 1 step1 until 41 do pro[i]:=0 ; ___ ____ _____ __for i := 1 step 1 until 20 do if t[i]|0 then ___ ____ _____ __ __ = ____for j := 1 step 1 until 20 do ___ ____ _____ __begin _____p := a[j]⨯t[i]+pro[i+j-1];m := p_100000; :pro[i+j-1] :=p - m ⨯ 100000; pro[i+j] := m + pro[i+j];m:=pro[i+j]_100000; :pro[i+j] := pro[i+j] - m ⨯ 100000; pro[i+j+1] := pro[i+j+1] +m;end; ___for i := 1 step 1 until 41 do if pro[i] | 0 then m := i ; ___ ____ _____ __ __ = ____p := if m< 20 then 0 else m-20; __ ____ ____for i := 1 step 1 until 20 do res[i] := pro[i+p]; ___ ____ _____ __eks := eks + p ;end; ___procedure iand(a,res,eks); _________integer eks ; _______integer array a , res ; _______ _____begin _____integer i , j ,p , m ; _______integer array pro[ 1 :41 ]; _______ _____for i := 1 step 1 until 41 do pro[i]:=0 ; ___ ____ _____ __for i := 1 step 1 until 20 do if a[i] | 0 then ___ ____ _____ __ __ = ____for j := i+1 step 1 until 20 do ___ ____ _____ __begin _____p := a[j]⨯a[i]⨯2+pro[i+j-1];m := p_100000; :pro[i+j-1] :=p - m ⨯100000; pro[i+j] := m + pro[i+j];m:=pro[i+j]_100000; :pro[i+j] := pro[i+j] - m ⨯ 100000; pro[i+j+1] := pro[i+j+1] +m;end; ___for i:= 1 step 1 until 20 do ___ ____ _____ __begin _____p := a[i]⨯a[i]+pro[i⨯2-1];m := p_100000; :pro[i⨯2-1] :=p - m ⨯ 100000; pro[i⨯2] := m + pro[i⨯2];m := pro[2⨯i]_100000; :pro[2⨯i] := pro[2⨯i] - m ⨯ 100000; pro[2⨯i+1] := pro[2⨯i+1] + m;end; ___for i:= 1 step 1 until 41 do if pro[i] | 0 then m := i ; ___ ____ _____ __ __ = ____p := if m< 20 then 0 else m-20; __ ____ ____for i := 1 step 1 until 20 do res[i] := pro[i+p]; ___ ____ _____ __eks :=2 ⨯ eks + p;end; ___procedure itre(a,res,eks); _________integer eks ; _______integer array a , res ; _______ _____begin _____integer eks1,eks2; _______integer array p[ 1 : 20 ]; _______ _____eks1:=eks2:=0; iand(a,p,eks2); enop(p,a,res,eks1); eks:=3⨯eks+eks2+eks1;end; ___select(8);writechar(42); writechar(58); nulinput:=1;for antal:= 100step -1 until 1 do ___ ____ _____ __begin _____nulinput := 20;for i := 1 step 1 until 20 do ind[i] := 0; ___ ____ _____ __for i := lyn while i|64 do if i = 11 then go to stop else writechar(i); ___ _____ = __ __ ____ __ __ ____j:=0;for i := lyn while i<10∨i=16do if i | 0 then ___ _____ __ __ = ____begin _____if i=16 then i:= 0 ; __ ____j:=j+1; v[j]:=i;end; ___if i = 11 then go to stop; __ ____ __ __for i:=j step -1 until 1 do ___ ____ _____ __begin _____g:=(j-i)_5; :f:=j-i-5⨯g;ind[g+1] :=ind[g+1] +v[i] ⨯ 10∧f; |end; ___protens := read integer;for i := 1 step 1 until 20 do ___ ____ _____ __begin _____akt[i] := ind[i];if ind[i] | 0then nulinput := i ; __ = ____end; ___for i:=1 step 1 until 100 dov[i]:=0 ; ___ ____ _____ __for i:=1 step 1 until 100do ___ ____ _____ __begin _____v[i] := ifprotens mod 2 = 0 then 2 else if protens mod 3 = 0then 3 else 1 ; __ ___ ____ ____ __ ___ ____ ____protens := if v[i] = 1 then protens - 1 else protens_v[i]; __ ____ ____ :if protens = 1 then go to protens færdig ; __ ____ __ __end; ___writetext(|< for stor eksponent |); < >goto slut; ____protens færdig :f := i; writecr;for g := f step-1 until1 do ___ ____ _____ __begin _____writetext(case v[g] of( ____ __|< gange input|, < >|< i anden |, < >|< i tredie |)); < >if(f-g)mod 8 = 7 then writecr; __ ___ ____end; ___writecr;writetext(|<potens opløst til <|); >for g:=1 step 1 until f do ___ ____ _____ __beginwritetext(casev[g]of( _____ ____ __ifg=1then|<1+|else|<(1+|, __ ____< >____< >ifg=fthen|<2| else|<2⨯|, __ ____< > ____< >ifg=fthen|<3| else|<3⨯|)); __ ____< > ____< >if g mod 40 = 0 then writetext(|< fortsættes __ ___ ____ <|); >end; ___i:=0;forg:=2 step 1 until f do if v[g]=1thenwritetext(|<)|); ___ ____ _____ __ __ ____ < >writecr; eks := 0 ;for gang := f step -1 until 1 do ___ ____ _____ __begin _____writecr;protens := if v[gang]=1 then protens + 1 else protens⨯ v[gang]; __ ____ ____case v[gang] of ____ __begin _____enop(akt,ind,res,eks); iand(akt,res,eks); itre(akt,res,eks);end; ___writecr; writecr;for i := 5⨯(20-nulinput)step -1 until 1 dowritechar(0); ___ ____ _____ __write(|ddddd|,ind[nulinput]); < >for i := nulinput-1step -1 until 1 do write(|pdddd|,ind[i]); ___ ____ _____ __ < >writetext(|<∧|); < >write(|ddddddddddd|,protens); < >writetext(|<= <|); >for i := -1,i+1while res[20-i] = 0 do; ___ _____ __for g := 5⨯istep -1 until 1 do writechar(0); ___ ____ _____ __write(|ddddd|,res[20-i]); < >for i := 19-istep-1until 1 dowrite(|pdddd|,res[i]); ___ ____ _____ __ < >writetext(|<10 |); < >write(|ddddddddddd|,5⨯eks); < >for i :=1step 1until 20doakt[i]:=res[i]; ___ ____ _____ __end; ___slut:end; ___stop:end; ___[ s t o p ]