while
-SchleifeVeränderung des Schleifenablaufs
Aufgabe A91 - Puschel frisst Mäuse
Aufgabe A92 - Buchstaben zählen
Aufgabe A93 - Mehrere Buchstaben zählen
Aufgabe A94 - Fibonacci-Zahlen
Aufgabe A97 - Passwörter überprüfen
Eine Schleife dient zur mehrfachen Ausführung von gleichartigen Anweisungen.
while (Bedingung) { // Anweisungen }
Die Anweisungen innerhalb der geschweiften Klammern werden solange ausgeführt, wie die Bedingung in den runden Klammern wahr ist.
var n = 3; while (n > 0) { print("n hat den Wert " + n); n = n - 1; }
n hat den Wert 3 n hat den Wert 2 n hat den Wert 1
n
mit dem Wert 3 wird deklariert.n
größer als 0 ist, wenn dies true
ergibt, wird die Programmausführung unter 3. fortgesetzt, andernfalls unter 6.n hat den Wert ...
n
wird um Eins vermindert und wieder n
zugewiesenbreak
-AnweisungIm Fall, dass die while
-Schleife vorzeitig beendet werden soll, wird die break-Anweisung benutzt. Damit wird die Ausführung des Programms sofort hinter der schließenden geschweiften Klammer fortgesetzt.
var n = 3; while (n > 0) { print("n hat den Wert " + n); if (n == 2) break; n = n - 1; }
n hat den Wert 3 n hat den Wert 2
Nachdem der Wert 2 ausgeben wurde, wird die Schleife beendet.
Es fehlen um das break
geschweifte Klammern, da man diese weglassen kann, wenn nach der if
-Anweisung nur eine einzelne Anweisung folgt.
continue
-AnweisungDie continue-Anweisung ähnelt der break Anweisung. Sie beendet den aktuellen Iterationsschritt, jedoch nicht die Schleife, sondern leitet den nächsten Schritt ein, indem sie die Programmausführung am Beginn der while
-Schleife (also mit der Bedingung) fortsetzt.
var n = 3; while (n > 0) { n = n - 1; if (n == 1) continue; print("n hat den Wert " + n); }
Das Programm hat folgende Ausgabe:
n hat den Wert 2 n hat den Wert 0
Beim Wert 1 von n
wird nichts ausgegeben, da in diesem Fall die continue
-Anweisung die Fortsetzung der Schleife erzwingt.
Verwende in den folgenden Aufgaben Funktionen, um sich wiederholende Programmteile nicht mehrfach zu schreiben.
Verwende nach Möglichkeit
while
-Schleifen.
Schreibe ein Programm, das den folgenden Text ausgibt. Benutze dazu eine while
-Schleife.
Struktogrammaufgabe!
Puschel frisst 2 Mäuse. Puschel frisst 3 Mäuse. Puschel frisst 4 Mäuse. Puschel frisst 5 Mäuse.
Struktogrammaufgabe!
>:)H4sIAAAAAAAACo2QTU7DMBCF95Z8h9kBCxCEFZW8C FVVJCD8JAWxdOJJYhHbYuI0EufhGOx6MSZFQpXKoitr3 sz7ZvykmBmspajUXMdcilEdpemdFKV6w64LI+QfgyaEV IpGLQnRw9xS1aEUs4asYSebykaKM1YcRs2l9epFd5DAB SRSeO1QpVcJnML1ULV91CVTPjdfbYdeinrwVa9cWCPEg TwQagMj2TitsL4OUiyxwclj+whoPbwGijB4sy3+mHBsH TTYTZNPgzak4wkflVctoeU2zxpuNbT59vzestrDaBFCH blDO6TtqPvdsw70HpyL0/+2UU0RZcUiyxb7MWUHxnK5A 3tc5fObxT+Z3x8IO9+BFc8PRbGPYunQu6T4AdMhGsYUA gAA
Schreibe eine Funktion
function zähleBst(wort, bst)
zum Zählen der Buchstaben in einem Wort und verwende diese dann.
wort
für das Buchstaben von bst
gezählt werden sollenbst
der Buchstabe, dessen Auftreten gezählt werden soll>:)H4sIAAAAAAAACp2SzUrDQBSF9wPzDnengpb+iGAhi xhCBW2qTVVcTpObdDCZ4GTStH0eH8NdX8w7rdLSdGMhk HMP9+fjJJz1Y0w4ixxPmJCz2jlz3UfOFs47ZllRQ/hZC Y1A1vLAcjlbHVh3nKXOQCMq8KSOMuSsn2oZ035avUiX6 SptcUZPP0cjyJPKeRUZdKEDnUuw8ppkdytvSLY5UyJHx 73twRUMcabRHqqiWWnElA6t1l+zDBVnSaWi0smLOYKpt AKNIoZaS2MppEoKzgaYop2RpQGUCt4KbaBS8abY23lOZ UzvFDNbPlci1sKguiDyMCIEOUWwPRIh1etvRU0P5JYIN VlFYmhc7zZuejHf3psX+qPIc9P6y95mHkz8IPCbufvN3 INm7u5/cu7ucu7tcu7s0Ty9hN69f+Qv8Jo0wyYNDZ701 dvHaSbj0WTSZBk1WcZNFho8ieVXWpYeZ5z9AOvwqycoA wAA
Die Fibonacci-Zahlen sind folgendermaßen definiert: . Die weiteren Zahlen dieser Folge sind dann immer die Summer ihrer Vorgänger, also . Es entsteht also die Folge:
1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | ... | |
---|---|---|---|---|---|---|---|---|---|
1 | 1 | 2 | 3 | 5 | 8 | 13 | 21 | ... |
>:)H4sIAAAAAAAACpWQT0vEMBDF74F8h7l5WrHturWFH ERYP8CCorf8mbaBdIppugU/vaPYRXc9VHLJJL95j/ekq B02Ulj1oNNBilldZVIY9YIhDDMc3iYdUYr4+wGYqdvoH S/yjuGpx6T56kk96QDZ55GCdI/qvtrCBvbeDKSt9ZtX3 QUkKZqJ7Kj64YiQpkgQUTuYo0/sV3tqBikesUWDBH5M4 DDCM8YEx4GAwGBE2/Gf0+8TOI9nDlJM5GC0XURvEEYGP I3QYuBpj8FdL9E5cnGZMF+RMP8hUf5RUrGmpeLfIgudc cPn+F21wvMLWlTym0uVXbm7XaHzjZ1a5OFcqcrzcrtK7 ERK8QEVVB1rlQIAAA==
>:)H4sIAAAAAAAACo1STU/DMAy9R8p/8K2X0csEEpVy2 IfGAY3DbnDzWreNaNLJTZi238M/4Y/htGMILiC5Vvpqv 2f3Rauiolqr0qwwaMVmRxWsLbreV1qRyV4sdVo1JntgI q/V3mTLLpJWJ5M9U9f1R62cybbYkA+oVdGwlc5cImeWG FMKrSBnAaeUs4hCAxJ7gBOkLKxSVThKREfrzWoFSexrI LibgUDjJL+waZQrONfKoyOzuL+FG3jqy9ZhB/XHO+/TE nX05WBc/0YQIns4oPUBmFAmL6yve602Yy1UlmCHMYig7 DccmMqWRKAiBvQNNSSE8nGDqZqslwWW5GM4Sy+eY4IIN tG/Btv72chX4QDbOAShOJMtW08BonByrEfBgcBRyzWWL WCshVGrtfQ9YmKVvjYAOlj4WiZIFaOIg46I0yjUVek3/ jCCGa5GyFleJjs4h4sdguXpSba4ZMxki0sOpdOf5sz/a 84EXm7MN6rVJ2923P+NAgAA
>:)H4sIAAAAAAAACo2RQU7DMBBF95Z8hzlBpLbAolIWB cSGDSILBDsn+W0sOU4ZO0T0bN31YowTqQXUReIk1vz8e d/KaLWusdWqyh9M1IrzV9RUfPaGodV3/g7nuuEslPm96 0EPlisn5XrHttZKq4yYWSCLcRurLOnrFtFoNVifv5hIS 1rQSlYmV5lepJU3LfLk3fa+CnnbfYFiz54YpqaAWDRmn 7Ks33ZaPVrQh2kc7WwZqZZq0+/gD0mC9Qj0djryFi6Q8 dnk5y7C0xNcDaYDrPjHzgJWPhgfbNXE/92tFbz4dxgmK THOWUIuqoZhS5CdaHsTAnwtrj95CeupdKaX7Vk6AsHHs GdUjdjHjN/YjXOQo4t8YbSnY2LLWRzAkQaw5GTnAdBlA st5Exj/fpoCXYOs5kPG5xrjZi5jolxl3M5njOsa4242Y 7q1+gEYYdh6EwMAAA==
Die folgende Tabelle zeigt die Felder an, die gegen blaue Kreise ersetzt werden müssen. Die restlichen Felder müssen gelöscht werden.
1 | 2 | 3 | 4 | 5 | 6 |X |X |X X|X X|X X X | | X | | X |X X | X| X|X X|X X|X X
>:)H4sIAAAAAAAACp2SwWrjMBCG7wK9w8CyTQ1OaDbdb RLwISxtDoGlkNKyuY3tsS1XlltJriHPUti32FNufrGOk yWkt26REBrNfKMZ/ZJinlImRRL9RL+Woo0GKzKmra2fS FFGgxKlMNHAkDJS5NFv0rpuYf3coCUp5rlVKdMM5iMpe M4r8oy0ykT3qGHMY1ByCqwoWsyuYAi36Fzb/bWeLHS7m OyT7XYZcfqsMYmLqvqFwDfWgCVMobXK9zcpk9VSdK9HA FJF75Jhk8Gy22mv8kdSnov5Z70Pc8qkUPFCzpNxMIUNq aQgAxpNLkXDbjK+QM3u00B+Aj5Y2rr7EzdJ4TzGbJ8vh psgPDilWGnenHpxuA1gn5IDYIOFhvOL4Szg6qRYJ4UlF RMoAyk6yEmzcUM6hRJDiLftCPqXD6EkMJgUKVVS1PE+e N8T6wT5oUtQru/5oCfr+NBrOJt+VCQu/ogytlrcba5/f QaefnlEv6UPs/w7juz42+Ty+4+rTxUduGBx9jUYh6PwP 65+AyLxyFUBAwAA