Übersicht

IF THEN

Befehl aus der Gruppe: PASCAL-Sprachreferenz

Die bedingte Anweisung IF THEN führt eine Gruppe von <Anweisungen> nur aus, wenn die oben angegebene <Bedingung> erfüllt ist. Die Erweiterung dieser bedingten Anweisung durch einen ELSE Abschnitt, gestattet die Abarbeitung einer weiteren Gruppe von <Anweisungen>, wenn die <Bedingung> nicht erfüllt ist.

Syntax 1 (ohne ELSE)

IF <Bedingung> THEN

<0..n Anweisungen>

ENDIF;

Syntax 2 (mit ELSE)

IF <Bedingung> THEN

<0..n Anweisungen>

ELSE

<0..n Anweisungen>

ENDIF;

Parameter

<Bedingung> = BOOLscher Ausdruck (Wahr oder Falsch)

<0..n Anweisungen> = Gruppe von einzelnen Anweisungen, Verzweigungen oder weiteren bedingten Anweisungen

Beispiel 1 (ohne ELSE)


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
PROGRAM test_if_then;
 
DEVICE = mega1284P;
 
{$I mega1284_Register.INC}
 
VAR
  Kursor_Schleife : DWord;
  Ergebnis : Boolean;
 
BEGIN
 
  Ergebnis:=false;
 
  if Kursor_Schleife=100000 then
    Ergebnis:=true;
  endif;
 
END test_if_then.

Die Bedingung dieser bedingten IF THEN Anweisung besteht aus dem Vergleich der Variable "Kursor_Schleife" mit der Konstanten 100.000. Ist das Ergebnis dieses Vergleichs wahr (true), so werden die Anweisungen zwischen den Schlüsselworten "then" und "endif" ausgeführt. In diesem Beispiel wäre das "Ergebnis:=true;".

Ist das Ergebnis dieses Vergleichs falsch (false), so wird mit der Abarbeitung der Anweisungen nach dem "endif" fortgesetzt.


Beispiel 2 (mit ELSE)


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
PROGRAM test_if_then;
 
DEVICE = mega8;
 
VAR
  Zahl1, Zahl2, Zahl3 : Byte;
 
BEGIN
 
  Zahl1 := 5;
  Zahl2 := 6;
 
  if Zahl1>Zahl2 then
    Zahl3:=1;
  else
    Zahl3:=2;
  endif;
 
END test_if_then.

Die Bedingung dieser bedingten IF THEN ELSEAnweisung besteht aus einem Vergleich der Byte-Variablen "Zahl1" und "Zahl2". Ist die Bedingung erfüllt, dass heißt, ist das Ergebnis des Vergleichs "Zahl1>Zahl2" wahr (true), so wird der Abschnitt zwischen den Anweisungen "then" und "else" abgearbeitet. In diesem Beispiel würde die Anweisung "Zahl3:=1;" ausgeführt. Der Abschnitt nach dem "else" bis zum "endif;" wird übersprungen.

Ist das Ergebnis des Vergleichs "Zahl1>Zahl2" falsch (false), so wird mit der Abarbeitung der Anweisungen nach dem "else" bis zum "endif" fortgesetzt. In diesem Beispiel würde die Anweisung "Zahl3:=2;" ausgeführt. Der Abschnitt zwischen dem "then" und dem "else" wird übersprungen.

siehe auch



Übersicht