|
|
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: 2048 (0x800)
Types: TextFile
Names: »GAETTEGN.PAS«
└─⟦08ea08c61⟧ Bits:30003924 PolyPascal programmer
└─⟦this⟧ »GAETTEGN.PAS«
└─⟦092727b26⟧ Bits:30005927 Demoprogrammer til Pascal bog (Jet-80)
└─⟦this⟧ »GAETTEGN.PAS«
└─⟦3702e543b⟧ Bits:30003064 Demoprogrammer A-J til Pascal bog
└─⟦this⟧ »GAETTEGN.PAS«
└─⟦f983c2ef3⟧ Bits:30004681 Pascal opgaver (Butler)
└─⟦this⟧ »GAETTEGN.PAS«
PROGRAM gaettegn;
TYPE
tegn = SET OF 'A' .. 'Å';
str30 = STRING(.30.);
VAR
datamat, spiller, faelles : tegn;
i, gaet, taeller : INTEGER;
ch : CHAR;
tekst : str30;
FUNCTION uppercase(str : str30) : str30;
VAR
i : INTEGER;
s : str30;
BEGIN (* uppercase *)
s := '';
FOR i := 1 TO LEN(str) DO
IF ('a' <= str(.i.)) AND (str(.i.) <= 'å')
THEN s := s + CHR(ORD(str(.i.)) - 32)
ELSE s := s + str(.i.);
uppercase := s;
END; (* uppercase *)
BEGIN
WRITE(CLRHOM);
WRITELN('Datamaten vælger fire forskellige bogstaver');
WRITELN('Du skal i så få gæt som muligt finde frem til disse bogstaver');
WRITELN('Du gætter ved at skrive SFT, ABCDEF e.l.');
WRITELN('Som svar får du ANTALLET af bogstaver, der er fælles for dit');
WRITELN('gæt og datamatens bogstaver');
WRITELN('Dit sidste gæt skal være på netop 4 bogstaver');
WRITELN;
RANDOMIZE;
datamat := (. .);
REPEAT
ch := CHR(RANDOM(ORD('Å') - ORD('A') + 1) + ORD('A'));
datamat := datamat + (.ch.);
taeller := 0;
FOR ch := 'A' TO 'Å' DO
IF ch IN datamat
THEN taeller := taeller + 1;
UNTIL taeller = 4;
(* FOR ch := 'A' TO 'Å' DO *)
(* IF ch IN datamat *)
(* THEN WRITE(ch, ' '); *)
WRITELN;
gaet := 0;
REPEAT
gaet := gaet + 1;
WRITE('Tast gæt nr. ', gaet, ': ');
READLN(tekst);
tekst := uppercase(tekst);
spiller := (. .);
FOR i := 1 TO LEN(tekst) DO
spiller := spiller + (.COPY(tekst, i, 1).);
faelles := datamat * spiller;
taeller := 0;
FOR ch := 'A' TO 'Å' DO
IF ch IN faelles
THEN taeller := taeller + 1;
WRITELN('Antal fælles bogstaver: ', taeller);
UNTIL (taeller = 4) AND (LEN(tekst) = 4);
WRITELN;
WRITELN('Du klarede det på ', gaet, ' forsøg');
END.
«eof»