Bedingte Anweisung: Unterschied zwischen den Versionen

Aus KGS-Wiki
(Seite angelegt und umfassend befüllt)
 
KKeine Bearbeitungszusammenfassung
 
(3 dazwischenliegende Versionen desselben Benutzers werden nicht angezeigt)
Zeile 1: Zeile 1:
Eine [[bedingte Anweisung]] ist eine [[Anweisung]] oder eine [[Sequenz]] von Anweisungen, die nur ausgeführt wird, wenn eine angegebene [[Wahrheitswert|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''.
Eine [[bedingte Anweisung]] ist eine [[Anweisung]] oder eine [[Sequenz]] von Anweisungen, die nur ausgeführt wird, wenn eine angegebene [[Wahrheitswert|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''.


Ein umgangssprachliches 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.
{{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 [[Boolesche Operatoren|Operatoren]] wie '''NICHT''', '''UND''' und '''ODER''' miteinander verbunden werden. Beispiele:
Bedingungen können mit [[Boolesche Operatoren|Operatoren]] wie '''NICHT''', '''UND''' und '''ODER''' miteinander verbunden werden. Beispiele:
Zeile 62: Zeile 64:
</scratchblocks>
</scratchblocks>


===Blockly (AppInventor und NEPO)===
===AppInventor===
 
[[Datei:Blockly If Configure.gif|gerahmt|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.
<gallery>
<gallery>
Datei:Blockly If.png|Die einfachste '''bedingte Anweisung''': Der Wenn-Dann-Block
Datei:Blockly If.png|Die einfachste '''bedingte Anweisung''': Der Wenn-Dann-Block
Datei:Blockly If Else.png|Der Wenn-Dann-Sonst-Block ermöglicht eine '''bedingte Verzweigung'''
Datei:Blockly If Else.png|Der Wenn-Dann-Sonst-Block ermöglicht eine '''bedingte Verzweigung'''
Datei:Blockly If Elif.png|Mit Sonst-Wenn-Bedingungen können '''Mehrfachverzweigungen''' realisiert werden.
Datei:Blockly If Elif.png|Mit Sonst-Wenn-Bedingungen können '''Mehrfachverzweigungen''' realisiert werden.
Datei:Blockly If Elif Elif Elif Else.png|Mehrfachverzweigungen können beliebig kompliziert ausgeführt werden...
Datei:Blockly If Elif Elif Elif Else.png|Mehrfachverzweigungen können beliebig kompliziert ausgeführt werden.
Datei:Blockly If Configure.gif|... indem man auf das blaue Zahnrad am Wenn-Dann-Block klickt und sich die benötigten Alternativen einbaut.
Datei:Blockly If Example.png|Ein konkretes Beispiel für eine bedingte Anweisung.
Datei:Blockly If Example.png|Ein konkretes Beispiel für eine bedingte Anweisung.
</gallery>
</gallery>
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''.
<gallery>
<gallery>
Datei:NEPO If.svg|Die einfachste '''bedingte Anweisung''': Der Wenn-Dann-Block
Datei:NEPO If.svg|Die einfachste '''bedingte Anweisung''': Der Wenn-Dann-Block
Datei:NEPO If Else.svg|Der Wenn-Dann-Sonst-Block ermöglicht eine '''bedingte Verzweigung'''
Datei:NEPO If Else.svg|Der Wenn-Dann-Sonst-Block ermöglicht eine '''bedingte Verzweigung'''
Datei:NEPO If Elif Elif Elif.svg|Mehrfachverzweigungen können beliebig kompliziert ausgeführt werden, indem mit dem kleinen <code>+</code> und <code>-</code> oben links weitere Bedingungen eingefügt oder gelöscht werden.
Datei:NEPO If Elif Elif Elif.svg|Mehrfachverzweigungen können beliebig kompliziert ausgeführt werden, indem mit dem kleinen <code>+</code> und <code>-</code> oben links weitere Bedingungen eingefügt oder gelöscht werden.
</gallery>In [[NEPO]] sehen die entsprechenden Blöcke ganz ähnlich aus. Sie befinden sich in der Kategorie ''Kontrolle''.
</gallery>


==Textuelle Programmierung==
==Textuelle Programmierung==

Aktuelle Version vom 12. Mai 2024, 22:07 Uhr

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