Programmieren in Pascal: Zahlenraten: Unterschied zwischen den Versionen
Zur Navigation springen
Zur Suche springen
Admin (Diskussion | Beiträge) |
Admin (Diskussion | Beiträge) |
||
Zeile 12: | Zeile 12: | ||
// Prüft, ob die Vermutung richtig ist und gibt Tipps | // Prüft, ob die Vermutung richtig ist und gibt Tipps | ||
− | FUNCTION | + | FUNCTION Richtig (Number, Guess: INTEGER): BOOLEAN; |
BEGIN | BEGIN | ||
IF Guess > Number THEN BEGIN | IF Guess > Number THEN BEGIN | ||
WRITELN ('...kleiner'); | WRITELN ('...kleiner'); | ||
− | + | Richtig := FALSE; | |
END ELSE IF Guess < Number THEN BEGIN | END ELSE IF Guess < Number THEN BEGIN | ||
WRITELN ('...größer'); | WRITELN ('...größer'); | ||
− | + | Richtig := FALSE; | |
END ELSE IF Guess = Number THEN BEGIN | END ELSE IF Guess = Number THEN BEGIN | ||
WRITELN ('...ERRATEN!'); | WRITELN ('...ERRATEN!'); | ||
− | + | Richtig := TRUE; | |
END; | END; | ||
Zeile 43: | Zeile 43: | ||
WRITE ('Deine Vermutung?'); | WRITE ('Deine Vermutung?'); | ||
READLN (Vermutung); | READLN (Vermutung); | ||
− | UNTIL | + | UNTIL Richtig (Zahl, Vermutung); |
END. | END. | ||
</pre> | </pre> |
Version vom 21. Dezember 2021, 13:14 Uhr
Pascal ist eine nach Blaise Pascal benannte Programmiersprache, die von Niklaus Wirth definiert wurde. Da die Sprache im Unterricht und im Studium eingesetzt wurde, erfuhr sie eine große Popularität. Pascal ist eine strukturierte Sprache, hat aber m. E. einige Schwächen. Zum Beispiel dass jedes END ein BEGIN erfordert, was etwas merkwürdige Schachtelungen ergibt:
PROGRAM Zahlenraten; // Testen von LAZARUS auf Windows und Linux // (c) Frank Werner, 21.12.2021 CONST iMaxZahl = 100; VAR Zahl, Vermutung: INTEGER; // Prüft, ob die Vermutung richtig ist und gibt Tipps FUNCTION Richtig (Number, Guess: INTEGER): BOOLEAN; BEGIN IF Guess > Number THEN BEGIN WRITELN ('...kleiner'); Richtig := FALSE; END ELSE IF Guess < Number THEN BEGIN WRITELN ('...größer'); Richtig := FALSE; END ELSE IF Guess = Number THEN BEGIN WRITELN ('...ERRATEN!'); Richtig := TRUE; END; END; BEGIN // Titel ausgeben WRITELN ('Zahlenraten - ich denke mir eine Zahl!'); WRITELN ('zwischen 0 und ', iMaxZahl); WRITELN ('und Du errätst sie!'); // Zufallszahl initialisieren und erzeugen RANDOMIZE; Zahl:=RANDOM(iMaxZahl); // Abfragen bis die Zahl erraten ist REPEAT WRITE ('Deine Vermutung?'); READLN (Vermutung); UNTIL Richtig (Zahl, Vermutung); END.