Bedingte Wiederholung: Unterschied zwischen den Versionen

Aus KGS-Wiki
Keine Bearbeitungszusammenfassung
(→‎Python: Python und Curly ok, Blockly todo)
Zeile 62: Zeile 62:


===Python ===
===Python ===
In [[Python (Programmiersprache)|Python]] werden die Schlüsselwörter <code>if</code>, <code>elif</code> und <code>else</code> benutzt, um bedingte Anweisungen und bedingte Verzweigungen umzusetzen.<syntaxhighlight lang="python" line="1">
In [[Python (Programmiersprache)|Python]] wird das Schlüsselwort <code>while</code> benutzt, um bedingte Wiederholungen umzusetzen.<syntaxhighlight lang="python" line="1">
if n > 0:
name = ''
    print('n ist positiv')


if n > 0:
while name == ''
    print('n ist positiv')
  name = input('Wie heißt du?')
else:
    print('n ist nicht positiv')


if n > 0:
print('Hallo ') + name
    print('n ist positiv')
elif n == 0:
    print('n ist 0')
else:
    print('n ist negativ')
</syntaxhighlight>
</syntaxhighlight>


===Java, JavaScript, C usw. ===
===Java, JavaScript, C usw. ===
In den "Curly-Bracket-Sprachen" werden nur die Schlüsselwörter <code>if</code> und <code>else</code> verwendet. Anders als bei Python müssen alternative Abfragen geschachtelt werden.<syntaxhighlight lang="c" line="1">
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">
if (n > 0) {
while (name == '') {
    printf("n ist positiv.");
  name = prompt('Wie heißt du?');
}
}
alert('Hallo ' + name);


if (n > 0) {
do {
    printf("n ist positiv.");
  name = prompt('Wie heißt du?')
} else {
} while (name == '');
    printf("n ist nicht positiv.");
alert('Hallo ' + name);
}


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



Version vom 18. März 2024, 17:59 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!]
⚠️
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 – TO DO AB HIER!!!

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 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);

Weblinks