Programmieren in Pascal: Zahlenraten: Unterschied zwischen den Versionen
Zur Navigation springen
Zur Suche springen
Admin (Diskussion | Beiträge) (Die Seite wurde neu angelegt: „'''Pascal''' ist eine nach Blaise Pascal benannte Programmiersprache, die von Niklaus Wirth definiert wurde. Da die Sprache im Unterricht und im Studium einges…“) |
Admin (Diskussion | Beiträge) |
||
(5 dazwischenliegende Versionen desselben Benutzers werden nicht angezeigt) | |||
Zeile 1: | Zeile 1: | ||
− | '''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 BEGIN | + | '''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 [https://www.lazarus-ide.org/ Lazarus]. Die Programme können zwischen den Systemen frei kopiert und neu übersetzt werden. | ||
<pre> | <pre> | ||
Zeile 5: | Zeile 7: | ||
// Testen von LAZARUS auf Windows und Linux | // Testen von LAZARUS auf Windows und Linux | ||
− | // ( | + | // (c) Frank Werner, 21.12.2021 |
CONST iMaxZahl = 100; | CONST iMaxZahl = 100; | ||
− | VAR | + | VAR iZahl, iVermutung: INTEGER; |
// Prüft, ob die Vermutung richtig ist und gibt Tipps | // Prüft, ob die Vermutung richtig ist und gibt Tipps | ||
− | FUNCTION | + | FUNCTION Richtig (iNumber, iGuess: INTEGER): BOOLEAN; |
BEGIN | BEGIN | ||
− | IF | + | IF iGuess > iNumber THEN BEGIN |
WRITELN ('...kleiner'); | WRITELN ('...kleiner'); | ||
− | + | Richtig := FALSE; | |
− | END ELSE IF | + | END ELSE IF iGuess < iNumber THEN BEGIN |
WRITELN ('...größer'); | WRITELN ('...größer'); | ||
− | + | Richtig := FALSE; | |
− | END ELSE IF | + | END ELSE IF iGuess = iNumber THEN BEGIN |
WRITELN ('...ERRATEN!'); | WRITELN ('...ERRATEN!'); | ||
− | + | Richtig := TRUE; | |
END; | END; | ||
Zeile 37: | Zeile 39: | ||
// Zufallszahl initialisieren und erzeugen | // Zufallszahl initialisieren und erzeugen | ||
RANDOMIZE; | RANDOMIZE; | ||
− | + | iZahl := RANDOM(iMaxZahl); | |
// Abfragen bis die Zahl erraten ist | // Abfragen bis die Zahl erraten ist | ||
Zeile 43: | Zeile 45: | ||
WRITE ('Deine Vermutung?'); | WRITE ('Deine Vermutung?'); | ||
READLN (Vermutung); | READLN (Vermutung); | ||
− | UNTIL | + | UNTIL Richtig (iZahl, iVermutung); |
END. | END. | ||
</pre> | </pre> |
Version vom 6. Januar 2022, 15:45 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.