Читать книгу LearnPasLin - null hagbard123 - Страница 4

Variablen und Konstanten

Оглавление

Man kann Variablen vergleichen, oder anders ausgedrückt: ähnliche Datentypen miteinander vergleichen. Das geschieht mit einem der folgenden Zeichen unter Anwendung normaler mathematischer Regeln: = ("ist gleich"), <> ("ist nicht gleich"), < ("ist kleiner"), <= ("ist kleiner oder gleich"), > ("ist größer"), >= ("ist größer oder gleich"). Als Ergebnis bekommen Sie eine Boolean-Variable.


..... booleanVariable := Zahl1<=Zahl2; ..... booleanVariable ist dann true, wenn Zahl1 kleiner oder gleich Zahl2 ist.


Konstanten im mathematischen Sinne sind unveränderliche Werte. Beispiele hierfür sind Pi oder e.

In Pascal können Konstanten als Variable angesehen werden, deren Wert nicht verändert werden kann. Wenn Sie anstatt von Variablen Konstanten verwenden, ist sichergestellt, dass diese ihren Wert zur Laufzeit nicht verändern. Sie können ihren Wert nur im Sourcecode verändern. Würden Sie stattdessen Variablen verwenden, könnten Sie unabsichtlich irgendwann der falschen Variablen einen Wert zuweißen, und schon ist das Programm falsch. Wenn Sie einer Konstante einen Wert zuweisen, bekommen Sie beim Compilieren eine Fehlermeldung, und Sie wissen, dass etwas "nicht stimmt".


PROGRAM Konstanten; CONST Pi = 3.1415; maxanz = 13; intConst : integer=123; VAR .... Wie im Beispiel erkennbar, können Konstanten sowohl mit als auch ohne Typ angelegt werden. Wichtig ist, nicht zu vergessen, dass man Konstanten im Anweisungsteil keinen Wert mehr zuweisen kann, sondern nur bei der Definition der Konstanten. Gibt man explizit einen Datentyp an, so muß dieser natürlich mit dem angegebenen Wert kompatibel sein.

• Boolsche Logik

• Boolean-Variablen können miteinander verknüpft werden. Dies geschieht mit den boolschen Operatoren and (und), or (oder) und not (nicht) (es gibt noch weitere, auf die ich hier nicht näher eingehe). .... b3:= b1 AND b2; ....

• Der Wert von b3 ist dann TRUE, wenn b1 und b2 (and) TRUE sind. Ist einer der beiden (oder auch beide) FALSE, dann ist b3 ebenfalls FALSE. .... b3:= b1 OR b2; ....

• Der Wert von b3 ist dann TRUE, wenn b1 oder (or) b2 TRUE ist. Ist also einer (oder beide) TRUE, dann ist auch b3 TRUE, sind beide FALSE, ist auch b3 FALSE. .... b1:= NOT b2; ....

• Der Wert von b1 ist dann TRUE, wenn der von b2 FALSE ist. Die not Verknüpfung "dreht den Wert der Variablen um". if - Abfragen Syntax: IF bedingung THEN anweisung; [ ELSE anweisung; ] Mit Hilfe der if Anweisung kann man Codeteile ausführen lassen, wenn die dazugehörende Bedingung erfüllt ist (wenn sie true ist).


.... if Zahl1=0 then Zahl2:=10;

• .... Die Anweisung Zahl2:=10 wird nur ausgeführt, wenn Zahl1=0 true ist. Will man in die if Abfrage mehrere Anweisungen einschließen, benötigt man begin und end: .... if Zahl1>=0 then begin Zahl2:=Zahl2+1; Zahl1:=Zahl2; end; .... Mittels dem in der Syntax angegebenen Teil "ELSE Anweisung" kann man Anweisungen dann ausführen lassen, wenn die Bedingung FALSE ist:

• ..... if Zahl=0 then begin boolZahlIstNull:=TRUE; writeln('Zahl ist gleich Null'); end else begin boolZahlIstNull:=FALSE; writeln('Zahl ist ungleich Null'); end;

• .... Der "begin-end" Block nach "else" wird dann ausgeführt, wenn Zahl=0 false ist, also wenn Zahl nicht gleich Null ist. Zu beachten ist, dass der Strichpunkt vor dem "else" immer wegfallen muss (sonst tritt ein Syntaxfehler auf)! case - Anweisung Eine weite Möglichkeit um Bedingungen auszuwerten ist die Case-Anweisung. Sie kommt bevorzugt zum Einsatz, wenn eine Variable mehr als nur 2 mögliche Werte haben kann:

• ... case intVariable1 of 0: writeln('Der Wert der Variablen ist gleich Null'); 1: writeln('Der Wert der Variablen ist gleich Eins'); else writeln('Der Wert der Variablen ist nicht gleich Eins oder Null'); end; ....



Die Anweisung wird durch "case", die zu überprüfende Variable und "of" eingeleitet. Anschließend folgt jeweils ein Wert (Zahl bei int oder byte, Zeichen in Hochkomma bei char; real und string sind in case-Anweisung nicht möglich). Diesem folgt ein Doppelpunkt und die auszuführende Anweisung. Mehrere Anweisungen müssen in "begin" und "end" eingeschlossen werden! Bei der Ausführung nur die Anweisung (der Block) ausgeführt, dessen Wert gleich ist wie der Wert der Variablen. Wird kein passender Wert gefunden, so wird (falls vorhanden), der else Block ausgeführt.


LearnPasLin

Подняться наверх