StructorizerHandbuch DE

IF-Anweisung

Ein Element des Typs IF-Anweisung stellt eine Alternative im Kontrollfluss dar. Es wird an einem Entscheidungspunkt eingesetzt, an dem der Algorithmus einen von zwei verschiedenen Wegen einschlagen muss. Die IF-Anweisung umfasst die Bedingung und beide sich ergebenden Pfade. Es ist jedoch wichtig zu verstehen, dass sich beide Zweige am unteren Ende des Elements wieder zusammenführen, d. h. nachdem der ausgewählte Zweig (welcher auch immer) durchlaufen wurde, wird der Kontrollfluss in jedem Fall unterhalb des IF-Elements fortgesetzt.

Der Text des IF-Elements soll den logischen Ausdruck (die Bedingung) enthalten. Er kann durch einen beliebigen Booleschen Ausdruck repräsentiert werden, d. h. einen Ausdruck, der entweder zu true oder zu false ausgewertet wird. Wenn der Wert zu true berechnet wird, wird der linke Zweig genommen, andernfalls der rechte Zweig.

Bitte beachten Sie:
Die Beschriftungen für den „TRUE"- und den „FALSE"-Zweig in der grafischen Darstellung können in den Struktureinstellungen (Menüpunkt "Preferences › Structures") geändert werden.

Erläutern wir dies an einem einfachen Beispiel: Stellen Sie sich vor, Sie haben die Aufgabe herauszufinden, ob ein Eingabewert größer als null ist. Dies erfordert offensichtlich zunächst eine Eingabeanweisung für eine Variable, sagen wir A, und dann eine Entscheidung — Sie müssen den Wert der Variablen mit 0 vergleichen und in beiden Fällen eine unterschiedliche Textausgabe erzeugen. Dieser einfache Algorithmus könnte wie im Screenshot unten aussehen, wo die gesamte IF-Anweisung einschließlich der Zweige gelb markiert ist (beachten Sie: Wenn Sie eine IF-Anweisung auswählen, wird nur ihr „Kopf", d. h. das obere Rechteck mit den drei Dreiecken, das die Bedingung und die Zweigbeschriftungen enthält, hervorgehoben, siehe Schritt 5 unten):

Demoprogramm mit einer IF-Anweisung
Demoprogramm mit einer IF-Anweisung

Wenn die Bedingung wahr ist, wird die OUTPUT-Anweisung im linken Zweig (beschriftet TRUE) ausgeführt, andernfalls die im rechten Zweig (beschriftet FALSE).

Wie fügen Sie nun eine IF-Anweisung zu Ihrem Diagramm hinzu? Nehmen Sie an, das Programm ist bereits benannt und die Eingabeanweisung wurde bereits platziert (siehe Instruction):

  1. Wählen Sie das Element aus, nach dem Sie eine IF-Anweisung anhängen möchten, und klicken Sie dann auf das IF-Anweisungssymbol in der Symbolleiste (oder drücken Sie die Akzeleratortaste <F6>, oder verwenden Sie das Menü „Diagram" oder das Kontextmenü):
    IF-Anweisung auswählen
    IF-Anweisung auswählen
  2. Die Bedingung eingeben: Wenn der Element-Editor öffnet, enthält das Textfeld einen Standardtext (der in den Struktureinstellungen konfigurierbar ist). Ersetzen Sie diesen Standardtext durch die eigentliche Bedingung. Dies kann ein Vergleich (über die Operatoren = oder ==, <> oder !=, <, >, <=, >=), eine Variable mit Booleschen Inhalt oder mehrere durch logische Operatoren verknüpfte Bedingungen sein.
    Akzeptierte logische Operatoren sind and (auch &&), or (auch ||), not (auch !) und xor (auch ^), wobei letzteres für exklusives Oder steht (P xor Q ist wahr, wenn genau eine der Bedingungen P und Q wahr ist). Die logischen Operatoren können auch in Großbuchstaben geschrieben werden (AND, OR, XOR, NOT). In unserem Fall lautet die Bedingung A > 0:
    IF-Anweisung bearbeiten
    IF-Anweisung bearbeiten
    Wenn einer der beiden Zweige leer bleiben soll (d. h. Sie erstellen eine „bedingte Anweisung"), formulieren Sie die Bedingung so, dass der nicht leere Zweig der „TRUE"-Zweig ist, der sich immer auf der linken Seite befindet. (Falls Sie es versehentlich anders gemacht haben, können Sie die Zweige tauschen und die Bedingung durch Transmutation negieren lassen.)
  3. Fügen Sie die Elemente, die abhängig von der Bedingung ausgeführt werden sollen, z. B. Anweisungen, den jeweiligen Zweigen hinzu (siehe Diagram/Add elements), indem Sie den (leeren) Zweig auswählen und die Symbolleisten-Schaltfläche für den gewünschten Elementtyp drücken:
    Anweisung in die IF-Anweisung einfügen
    Anweisung in die IF-Anweisung einfügen
    Füllen Sie die Elementtexte entsprechend dem beabsichtigten Algorithmus aus (siehe oben).
  4. Wenn Sie mehr als eine Anweisung in einem Zweig ausführen möchten, fügen Sie einfach nach oder vor der ersten weitere Anweisungen hinzu (d. h. achten Sie darauf, dass ein Element des Zweigs ausgewählt ist, wenn Sie eine weitere Anweisung einfügen oder anhängen):
    Weitere Anweisung nach der ersten im IF-Zweig einfügen
    Weitere Anweisung nach der ersten im IF-Zweig einfügen
  5. Wenn Sie weitere Elemente nach der gesamten IF-Anweisung hinzufügen möchten (denken Sie daran: Unabhängig davon, welcher Zweig gewählt und ausgeführt wurde, wird der Kontrollfluss mit dem Element nach der IF-Anweisung fortgesetzt), müssen Sie zunächst deren Kopf auswählen:
    Anweisung nach der IF-Anweisung hinzufügen
    Anweisung nach der IF-Anweisung hinzufügen
  6. Nach dem Einfügen einer unbedingten OUTPUT-Anweisung unterhalb der IF-Anweisung (beachten Sie, dass weder die INPUT-Anweisung oben noch die — jetzt ausgewählte — OUTPUT-Anweisung Teil des IF-Elements sind) würde der Algorithmus so aussehen:
    Vollständige IF-Anweisung
    Vollständige IF-Anweisung

Demo herunterladen

Alternativen (IF-Elemente) können natürlich verschachtelt werden (jeder IF-Zweig kann eine Folge beliebiger Elemente sein, nicht nur Instruction-Elemente):

Demoprogramm mit verschachtelten Alternativen
Demoprogramm mit verschachtelten Alternativen