Wiederholung mit Laufvariable: Unterschied zwischen den Versionen
Sn (Diskussion | Beiträge) (Die Seite wurde neu angelegt: „{{subst:Bedingte Wiederholung}}“) |
Sn (Diskussion | Beiträge) ({{Taste|Strg C Strg V}}) |
||
Zeile 1: | Zeile 1: | ||
{{ | Eine [[bedingte Wiederholung]] ist eine [[Anweisung]] oder eine [[Sequenz]] von Anweisungen, die immer wieder ausgeführt wird, solange eine angegebene [[Wahrheitswert|Bedingung]] erfüllt ist. Im Unterschied zur [[Bedingte Anweisung|bedingten Anweisung]] wird die bedingte Wiederholung nicht nur einmal, sondern immer wieder ausgeführt. | ||
Bedingungen können mit [[Boolesche Operatoren|Operatoren]] wie '''NICHT''', '''UND''' und '''ODER''' miteinander verbunden werden. Beispiele: | |||
*"Solange es regnet, bleibe ich im Haus." | |||
* "Solange ich '''nicht''' 18 bin, trinke ich keinen Schnaps." | |||
==Beschreibungen von Algorithmen== | |||
===Programmablaufpläne=== | |||
In [[Programmablaufplan|Programmablaufplänen]] wird eine Raute verwendet, um eine bedingte Anweisung bzw. bedingte Verzweigung zu beginnen: | |||
{{Hinweisbaustein | |||
| style = border: none; padding: none | |||
| INHALT = {{Thumbnailbox|ALIGN=left|CLASS=noclear|INHALT=<mermaid> | |||
graph TD | |||
start(["Start"]) --> bedingung{"Regnet es?"} --ja--> anweisung["Warte"] --> bedingung --nein--> ende(["Ende"]) | |||
</mermaid> | |||
|CAPTION=Eine bedingte Wiederholung}} | |||
}} | |||
===Pseudocode=== | |||
Im [[Pseudocode]] werden die Schlüsselwörter <code>while</code>, <code>do</code> und <code>endwhile</code> verwendet, um die bedingte Wiederholung umzusetzen. | |||
<syntaxhighlight lang="text" line="1"> | |||
while es regnet | |||
do warte | |||
endwhile | |||
</syntaxhighlight> | |||
==Visuelle Programmierung== | |||
===Scratch=== | |||
In [[Scratch]] gibt es den Wiederhole-Bis-Block, um bedingte Wiederholungen umzusetzen: | |||
<scratchblocks> | |||
wiederhole bis <wird [andere Figur v] berührt> | |||
gehe [10] er Schritt | |||
ende | |||
sage [Entschuldigung!] | |||
</scratchblocks> | |||
{{Achtung|In Scratch wird die bedingte Anweisung nicht ausgeführt, '''solange''' die Bedingung erfüllt ist, sondern '''bis''' sie erfüllt ist, also solange sie '''nicht''' erfüllt ist. Das ist in anderen Sprachen anders!}} | |||
===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.<gallery widths="360" heights="100"> | |||
Datei:Blockly while.png|Der Block ''"während _ mache _"'' aus dem [[AppInventor]] | |||
Datei:Blockly while Beispiel.png|Ein Anwendungsbeispiel für diesen Block | |||
</gallery> | |||
===NEPO=== | |||
In [[NEPO]] sehen die entsprechenden Blöcke so ähnlich aus wie im AppInventor. Sie befinden sich in der Kategorie ''Kontrolle''. In NEPO hat man die Wahl, ob man die Anweisungen wiederholen möchte, ''bis'' die Bedingung erfüllt ist oder ''solange'' sie erfüllt ist.<gallery widths="360" heights="100"> | |||
Datei:NEPO While.svg|Der Text "Flossen weg!" wird angezeigt, '''''solange''''' die Taste A gedrückt wird. | |||
Datei:NEPO Repeat Until.svg|Der Text "Drück mich!" wird angezeigt, '''''bis''''' die Taste A gedrückt wird. | |||
</gallery> | |||
==Textuelle Programmierung == | |||
===Python === | |||
In [[Python (Programmiersprache)|Python]] wird das Schlüsselwort <code>while</code> benutzt, um bedingte Wiederholungen umzusetzen.<syntaxhighlight lang="python" line="1"> | |||
name = '' | |||
while name == '': | |||
name = input('Wie heißt du?') | |||
print('Hallo ') + name | |||
</syntaxhighlight> | |||
===Java, JavaScript, C usw. === | |||
In den "Curly-Bracket-Sprachen" gibt es zwei Möglichkeiten, bedingte Wiederholungem umzusetzen: <code>while</code> und <code>do-while</code>. Der Unterschied ist, dass bei der Wiederholung mit <code>do-while</code> die Anweisungen bereits ausgeführt werden, bevor die Bedingung zum ersten Mal überprüft wird: <syntaxhighlight lang="javascript" line="1"> | |||
while (name == '') { | |||
name = prompt('Wie heißt du?'); | |||
} | |||
alert('Hallo ' + name); | |||
do { | |||
name = prompt('Wie heißt du?') | |||
} while (name == ''); | |||
alert('Hallo ' + name); | |||
</syntaxhighlight> | |||
== Weblinks == | |||
* [https://www.python-lernen.de/while-schleife.htm <nowiki>"While-Schleifen" [sic!] auf python-lernen.de </nowiki>{{Flagge|DE}}] | |||
{{Navigationsleiste Bestandteile von Algorithmen}} | |||
[[Kategorie:Programmierung]] | |||
[[Kategorie:Algorithmen]] |
Version vom 19. März 2024, 13:46 Uhr
Eine bedingte Wiederholung ist eine Anweisung oder eine Sequenz von Anweisungen, die immer wieder ausgeführt wird, solange eine angegebene Bedingung erfüllt ist. Im Unterschied zur bedingten Anweisung wird die bedingte Wiederholung nicht nur einmal, sondern immer wieder ausgeführt.
Bedingungen können mit Operatoren wie NICHT, UND und ODER miteinander verbunden werden. Beispiele:
- "Solange es regnet, bleibe ich im Haus."
- "Solange ich nicht 18 bin, trinke ich keinen Schnaps."
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 while
, do
und endwhile
verwendet, um die bedingte Wiederholung umzusetzen.
while es regnet
do warte
endwhile
Visuelle Programmierung
Scratch
In Scratch gibt es den Wiederhole-Bis-Block, um bedingte Wiederholungen umzusetzen:
wiederhole bis <wird [andere Figur v] berührt> gehe [10] er Schritt ende sage [Entschuldigung!]
In Scratch wird die bedingte Anweisung nicht ausgeführt, solange die Bedingung erfüllt ist, sondern bis sie erfüllt ist, also solange sie nicht erfüllt ist. Das ist in anderen Sprachen anders!
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.
Der Block "während _ mache _" aus dem AppInventor
NEPO
In NEPO sehen die entsprechenden Blöcke so ähnlich aus wie im AppInventor. Sie befinden sich in der Kategorie Kontrolle. In NEPO hat man die Wahl, ob man die Anweisungen wiederholen möchte, bis die Bedingung erfüllt ist oder solange sie erfüllt ist.
Textuelle Programmierung
Python
In Python wird das Schlüsselwort while
benutzt, um bedingte Wiederholungen umzusetzen.
name = ''
while name == '':
name = input('Wie heißt du?')
print('Hallo ') + name
Java, JavaScript, C usw.
In den "Curly-Bracket-Sprachen" gibt es zwei Möglichkeiten, bedingte Wiederholungem umzusetzen: while
und do-while
. Der Unterschied ist, dass bei der Wiederholung mit do-while
die Anweisungen bereits ausgeführt werden, bevor die Bedingung zum ersten Mal überprüft wird:
while (name == '') {
name = prompt('Wie heißt du?');
}
alert('Hallo ' + name);
do {
name = prompt('Wie heißt du?')
} while (name == '');
alert('Hallo ' + name);