DataMuseum.dk

Presents historical artifacts from the history of:

RegneCentralen GIER Computer

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

See our Wiki for more about RegneCentralen GIER Computer

Excavated with: AutoArchaeologist - Free & Open Source Software.


top - download

⟦88d3a39c2⟧ Bits:30000666 tegnstat, 8-hole paper tape

    Length: 4967 (0x1367)
    Description: Bits:30000666 tegnstat
    Types: 8-hole paper tape
    Notes: Gier Text

GIER Text (HTML)

begin comment J.P.Søltoft, 26 MAR 1970. _____ _______
Tegnstatistik for en bestemt samling tegn i en tekst. De enkelte tegn optælles med lyn, og konverteres til en bekvem intern datarepræs entation sledes, at tegnene nummereres fra 1 og opefter. Tegn, dr ikke ønskes optalt, sættes af k onv til nul. Sluttegnet for den tekst, der skal indlæses, sættes af konv til -1. Nr optællingen er slut, sorteres tegnene efter hyppighed og udskrives efter fald ende hyppighed med bde absolut og procentisk forekomst. Ideen til den interne repræsentation er hentet fra SL: Elementær Datamatik p. 110 ff. Variabelbeskrivelse n Antal tegn i alfabetet i,j Indexvariable m,l Indexvariable i sortering konv[0:127] Konverterer tegnene i flexowriterkoden til den valgte, interne repræsentation raa[1:n] Omformer den interne rep. tilbage til flexowriterkoden stat[1:n] Hyppighed for tegnene i alfabetet proc[1:n] Procentisk hyppighed for tegnene i alfabetet hstat,hraa Hjælpevariable for stat og raa i sorteringen tegn Det aktuelle indlæste tegn total Samlede antal læste tegn i alfabetet nt,q,js,jl Hjælpevariable i udskrift Som input kræver programmet 2 strimler: 1. n, <alfabetet> <det ønskede sluttegn> STOP CODE 2. <Den tekst, der skal undersøges> <sluttegn> STOP CODE
Det bemærkes, at alfabetet skal st uden mellemrum, cr, tape feed o.s.v.; ____
integer n,i,j,ii,jj,nt,q,js,jl,tegn,total; _______
integer array konv[0:127]; _______ _____
select(8);
comment initialisernng af samtlige tegn; _______
for i:=0 step 1 until 127 do konv[i]:=0; ___ ____ _____ __
n:=read integer;
begin integer array raa,stat[1:n]; _____ _______ _____
integer hstat,hraa,m,l; _______
real array proc[1:n]; ____ _____
for i:=1 step 1 until n do ___ ____ _____ __
begin j:=lyn; konv[j]:=i; raa[i]:=j; stat[i]:=0; _____
end; ___
j:=lyn; konv[j]:=-1;
comment indledende overskrift; _______
writecr;
writetext(|< |); < >
writetext(|<Tabel over hyppighedsforekomst for de enkelte tegn i alfabetet <
|); >
writecr; writecr;
writetext(|< |); < >
for i:=1 step 1 until n do writechar(raa[i]); ___ ____ _____ __
writecr; writecr;
comment indlæsning og sortering; _______
for tegn:=konv[lyn] while tegn_0 do ___ _____ > __
begin iftegn>0 then _____ __ ____
stat[tegn]:=stat[tegn]+1;
end; ___
comment sidste tegn er læst, og der sorteres efter størrelse; _______
for i :=2 step 1 until n do ___ ____ _____ __
begin for j:=1 step 1 until i do _____ ___ ____ _____ __
begin ii:=stat[i]; jj:=stat[j]; _____
if jj<ii∨(jj=ii∧j>i) then __ ____
begin hstat:=stat[i]; hraa:=raa[i]; m:=i-j; _____
for l:=i-1 step -1 until j do ___ ____ _____ __
begin stat[l+1]:= stat[l]; _____
raa[l+1] := raa[l];
end; ___
stat[j]:=hstat; raa[j]:=hraa;
end; ___
end; ___
end; ___
comment udregning af totalt antal tegn og procentvis forekomst; _______
total:=0;
for i :=1 step 1 until n do total:=total+stat[i]; ___ ____ _____ __
for i:=1 step 1 until n do proc[i]:= 100⨯(stat[i]/total); ___ ____ _____ __
comment afsluttende udskrift; _______
writetext(|< |); < >
writetext(|<Det totale antal læste tegn i alfabetet er|); < >
write(| dddddddd|,total); < >
writecr; writecr; writecr;
nt:=(n-1)_10+1; :
for j:=1 step 1 until nt do ___ ____ _____ __
begin jl:=(j-1)⨯10+1; _____
q:=if n-jl_9 then 9 else n-jl; js:=jl+q; __ > ____ ____
writetext(|<Tegn |); < >
for i:=jl step 1 until js do ___ ____ _____ __
begin writetext(|< |); writechar(raa[i]); _____ < >
end; ___
writecr; writetext(|<Forekomst |); < >
for i:=jl step 1 until js do write(| dddddddd|,stat[i]); ___ ____ _____ __ < >
writecr; writetext(|<I procent |); < >
for i:=jl step 1 until js do write(| ddd.dd|,proc[i]); ___ ____ _____ __ < >
writecr; writecr; writecr;
end; ___
end; ___
end [stop] ___