|
|
DataMuseum.dkPresents historical artifacts from the history of: CP/M |
This is an automatic "excavation" of a thematic subset of
See our Wiki for more about CP/M Excavated with: AutoArchaeologist - Free & Open Source Software. |
top - metrics - download
Length: 1920 (0x780)
Types: TextFile
Names: »HYP«
└─⟦2a24d2e1b⟧ Bits:30003042 Programmer fra Aarhus kursus
└─⟦this⟧ »HYP«
const maxord=300;
type ministreng = string(.30.);
var
liste: array (.1..maxord.) of record
ord:ministreng;
ant:integer;
end;
sidste: integer;
procedure initialiser;
begin
sidste:=0;
end;
procedure tilfoej(ord: streng);
var
p,i: integer; fundet, stop: boolean;
ord1: ministreng;
begin
ord1:=copy(ord,1,30);
p:=1; fundet:=false; stop:=false;
while (p<=sidste) and (not stop) do
begin
if liste(.p.).ord<ord1 then
p:=p+1
else
begin
stop:=true;
if liste(.p.).ord=ord1 then
fundet:=true;
end;
end;
if fundet then
liste(.p.).ant:=liste(.p.).ant+1
else
begin
if sidste=maxord then
writeln('Ikke plads til flere')
else
begin
i:=sidste;
while i >= p do
begin
liste(.i+1.) := liste(.i.);
i:=i-1;
end;
sidste:=sidste+1;
liste(.p.).ord:=ord1; liste(.p.).ant:=1;
end;
end;
end; (* tilfoej *)
procedure fjern(i: integer);
var
j: integer;
begin
for j:=i to sidste-1 do
liste(.j.):=liste(.j+1.);
sidste:=sidste-1;
end;
function antalord: integer;
begin
antalord:=sidste;
end;
procedure storebogstaver(var s:streng);
var
i: integer; ch: char;
begin
for i:=1 to len(s) do
begin
ch:=s(.i.);
if (ch>='a') and (ch<='å') then
ch:=(chr(ord(ch)-32));
s(.i.):=ch;
end;
end;
function ord(i: integer): streng;
begin
ord:=liste(.i.).ord;
end;
function hyppighed(i: integer): integer;
begin
hyppighed:=liste(.i.).ant;
end;
«eof»