Bedingte Anweisung: Unterschied zwischen den Versionen
Sn (Diskussion | Beiträge) |
Sn (Diskussion | Beiträge) KKeine Bearbeitungszusammenfassung |
||
(2 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''. | ||
{{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 63: | Zeile 65: | ||
===AppInventor=== | ===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 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> | ||
=== NEPO === | === 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> | </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.
"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
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.");
}
}