home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Crawly Crypt Collection 1
/
crawlyvol1.bin
/
crm_demo
/
p_pascal
/
zahltafl.pas
< prev
Wrap
Pascal/Delphi Source File
|
1992-03-10
|
1KB
|
64 lines
PROGRAM Zahlentafel;
CONST ErsteZahl = 0;
LetzteZahl = 63;
MaxZweierPotenz = 32;
TYPE ZahlBereich = ErsteZahl..LetzteZahl;
VAR Zahl : ZahlBereich;
Antwort : CHAR;
ZweierPotenz : 1..MAXINT;
PROCEDURE Init;
BEGIN
WRITELN('*** Zahltafel ***');
WRITELN;
WRITELN('Denke Die eine Zahl zwischen ', ErsteZahl,
' und ', LetzteZahl, ' aus!');
WRITELN('Ich werde sie erraten!');
WRITELN('Du mußt lediglich sagen, auf welchen Zahlentafeln');
WRITELN('Deine Zahl verzeichnet ist.');
WRITELN;
WRITELN('Und hier die Zahlentafeln!');
WRITELN
END;
PROCEDURE EineTafel(Anfang : ZahlBereich);
CONST ZahlenProZeile = 8;
VAR Lauf, Anzahl : ZahlBereich;
BEGIN
WRITELN;
Anzahl := 0;
FOR Lauf:=Anfang TO LetzteZahl DO
BEGIN
IF (Lauf MOD (2 * Anfang)) >= Anfang THEN
BEGIN
WRITE(Lauf:5);
INC(Anzahl);
IF (Anzahl MOD ZahlenProZeile) = 0 THEN
WRITELN
END;
END;
WRITELN
END;
BEGIN
Init;
Zahl := 0;
ZweierPotenz := 1;
WHILE ZweierPotenz <= MaxZweierPotenz DO
BEGIN
EineTafel(ZweierPotenz);
WRITE('Ist Deine Zahl dabei (J/N): ');
REPEAT
READLN(Antwort);
Antwort := UPCASE(Antwort)
UNTIL Antwort IN ['J', 'N'];
IF Antwort = 'J' THEN
INC(Zahl, ZweierPotenz);
ZweierPotenz := 2 * ZweierPotenz
END;
WRITELN;
WRITELN('*** Deine Zahl lautet ', Zahl)
END.