Programmieren in Pascal: Zahlenraten: Unterschied zwischen den Versionen
Zur Navigation springen
Zur Suche springen
Admin (Diskussion | Beiträge) |
Admin (Diskussion | Beiträge) |
||
| Zeile 3: | Zeile 3: | ||
Ein freies, portables und leistungsfähiges Entwicklungssystem für Windows, MacOS und Linux ist [https://www.lazarus-ide.org/ Lazarus]. Die Programme können zwischen den Systemen frei kopiert und neu übersetzt werden. | Ein freies, portables und leistungsfähiges Entwicklungssystem für Windows, MacOS und Linux ist [https://www.lazarus-ide.org/ Lazarus]. Die Programme können zwischen den Systemen frei kopiert und neu übersetzt werden. | ||
| + | <html> | ||
<pre> | <pre> | ||
| − | PROGRAM Zahlenraten; | + | <abbr title="Jedes Pascal-Programm beginnt mit dem Schlüsselwort program.">PROGRAM</abbr> Zahlenraten; |
// Testen von LAZARUS auf Windows und Linux | // Testen von LAZARUS auf Windows und Linux | ||
// (c) Frank Werner, 21.12.2021 | // (c) Frank Werner, 21.12.2021 | ||
| − | CONST iMaxZahl = 100; | + | <abbr title="Mit dem Schlüsselwort CONST werden Konstante definiert, also Platzhalter, deren Inhalt nicht geändert werden kann.">CONST</abbr> iMaxZahl = 100; |
VAR iZahl, iVermutung: INTEGER; | VAR iZahl, iVermutung: INTEGER; | ||
| Zeile 49: | Zeile 50: | ||
END. | END. | ||
</pre> | </pre> | ||
| + | </html> | ||
Version vom 27. Juni 2022, 10:57 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 und dass ELSIF fehlt, was etwas merkwürdige Schachtelungen ergibt.
Ein freies, portables und leistungsfähiges Entwicklungssystem für Windows, MacOS und Linux ist Lazarus. Die Programme können zwischen den Systemen frei kopiert und neu übersetzt werden.
PROGRAM Zahlenraten;
// Testen von LAZARUS auf Windows und Linux
// (c) Frank Werner, 21.12.2021
CONST iMaxZahl = 100;
VAR iZahl, iVermutung: INTEGER;
// Prüft, ob die Vermutung richtig ist und gibt Tipps
FUNCTION Richtig (iNumber, iGuess: INTEGER): BOOLEAN;
BEGIN
IF iGuess > iNumber THEN BEGIN
WRITELN ('...kleiner');
Richtig := FALSE;
END ELSE IF iGuess < iNumber THEN BEGIN
WRITELN ('...größer');
Richtig := FALSE;
END ELSE IF iGuess = iNumber 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;
iZahl := RANDOM(iMaxZahl);
// Abfragen bis die Zahl erraten ist
REPEAT
WRITE ('Deine Vermutung?');
READLN (Vermutung);
UNTIL Richtig (iZahl, iVermutung);
END.