Checkmark on Circle.png

Bedingte Anweisung

Aus KGS-Wiki

Eine bedingte Anweisung ist eine Anweisung oder eine Sequenz von Anweisungen, die nur ausgeführt wird, wenn eine angegebene Bedingung erfüllt ist. Falls zusätzlich dazu auch noch Anweisungen vorhanden sind, die ausgeführt werden sollen, wenn die Bedingung nicht erfüllt ist, spricht man von einer bedingten Verzweigung.

💬
Beispiel

"Nimm einen Schirm mit, falls es regnet!".

Die Anweisung "Nimm einen Schirm mit" wird nur ausgeführt, wenn die Bedingung "es regnet" erfüllt ist.

Bedingungen können mit Operatoren wie NICHT, UND und ODER miteinander verbunden werden. Beispiele:

  • "Wenn es nicht regnet, komme ich mit zu deinem Fußballspiel."
  • "Zieh lieber Gummistiefel an, falls es regnet oder schneit."
  • "Wenn du Lust hast und am Donnerstag freikriegst, lass uns doch ins Kino gehen!"

Ein Beispiel für eine bedingte Verzweigung: "Wenn ich es zeitlich schaffe, koche ich uns Cannelloni, ansonsten schieben wir schnell eine Pizza in den Ofen."

Beschreibungen von Algorithmen

Programmablaufpläne

In Programmablaufplänen wird eine Raute verwendet, um eine bedingte Anweisung bzw. bedingte Verzweigung zu beginnen:

Pseudocode

Im Pseudocode werden die Schlüsselwörter if, then, else und endif verwendet, um die bedingte Anweisung und die bedingte Verzweigung umzusetzen.

if regnet
then nimm Schirm mit
endif

else leitet dabei den "Sonst"-Fall ein:

if genug Zeit
then koche Cannelloni
else schiebe schnell Pizza in den Ofen
endif

Visuelle Programmierung

Scratch

In Scratch gibt es den Falls-Dann-Block, um bedingte Anweisungen umzusetzen:

falls <wird [andere Figur v] berührt>, dann
sage [Entschuldigung!]

Für bedingte Verzweigungen gibt es den Falls-Dann-Sonst-Block:

falls <(Bühnenbild [Nummer v]) = (4)>, dann
verstecke dich
sonst
zeige dich

AppInventor

Mit dem blauen Zahnrad können Sonst- und Sonst-Wenn-Fälle zu einem Wenn-Dann-Block hinzugefügt werden

Im AppInventor gibt es in der Kategorie Steuerung die Blöcke Wenn-Dann, Wenn-Dann-Sonst und Wenn-Dann-Sonst-Wenn. Tatsächlich ist das alles derselbe Block, der mit einem blauen Zahnrad-Button beliebig erweitert oder verkleinert werden kann, um beliebig viele Bedingungen zu überprüfen.

NEPO

In NEPO sehen die entsprechenden Blöcke so ähnlich aus wie im AppInventor. Sie befinden sich in der Kategorie Kontrolle.

Textuelle Programmierung

Python

In Python werden die Schlüsselwörter if, elif und else benutzt, um bedingte Anweisungen und bedingte Verzweigungen umzusetzen.

if n > 0:
    print('n ist positiv')

if n > 0:
    print('n ist positiv')
else:
    print('n ist nicht positiv')

if n > 0:
    print('n ist positiv')
elif n == 0:
    print('n ist 0')
else:
    print('n ist negativ')

Java, JavaScript, C usw.

In den "Curly-Bracket-Sprachen" werden nur die Schlüsselwörter if und else verwendet. Anders als bei Python müssen alternative Abfragen geschachtelt werden.

if (n > 0) {
    printf("n ist positiv.");
}

if (n > 0) {
    printf("n ist positiv.");
} else {
    printf("n ist nicht positiv.");
}

if (n > 0) {
    printf("n ist positiv.");
} else {
    if (n > 0) {
        printf("n ist negativ.");
    } else {
        printf("n ist 0.");
    }
}

Weblinks