Schleifen: Unterschied zwischen den Versionen

Aus microbit - Das Schulbuch
Wechseln zu: Navigation, Suche
(Beispielprogramme)
(Beispielprogramm 4)
(29 dazwischenliegende Versionen desselben Benutzers werden nicht angezeigt)
Zeile 3: Zeile 3:
 
Schleifen werden beim Programmieren immer dann eingesetzt, wenn bestimmte Befehle mehrmals oder unendlich oft wiederholt werden sollen. Man nennt sie daher auch Wiederholungsanweisungen. Je nach Programmiersprache gibt für die Erzeugung einer Schleife bestimmte Befehle.
 
Schleifen werden beim Programmieren immer dann eingesetzt, wenn bestimmte Befehle mehrmals oder unendlich oft wiederholt werden sollen. Man nennt sie daher auch Wiederholungsanweisungen. Je nach Programmiersprache gibt für die Erzeugung einer Schleife bestimmte Befehle.
  
==Erklärungsvideo==
+
=[[Datei:icon_play.png|20px|Icon]] Erklärungsvideo=
  
[[Datei:icon_progress.png|20px]] In Arbeit!
+
'''Schleifen'''
 +
 
 +
WIEDERHOLEN, WIEDERHOLEN, WIEDERHOLEN,...
 +
 
 +
[[Datei:icon_you_tube.png|20px|Icon]] https://youtu.be/z0alRzHB7_g
  
 
==Befehlsblöcke==
 
==Befehlsblöcke==
Zeile 11: Zeile 15:
 
Für die Programmierung des BBC micro:bit stehen die folgenden 3 Befehle zur Verfügung:
 
Für die Programmierung des BBC micro:bit stehen die folgenden 3 Befehle zur Verfügung:
  
[[Datei:Schleife_befehlsbloecke.png|200px]]
+
* Manchmal ist es erwünscht, dass bestimmte Befehle (theoretisch) unendlich oft ausgeführt werden. Man spricht dann von einer '''Endlosschleife''' (engl. infinite loop).
 +
 
 +
[[Datei:schleife_dauerhaft.png|150px]]
 +
 +
Bei den folgenden beiden Schleifenblöcken muss eine '''Abbruchbedingung''' angegeben werden. Dabei ist zu überlegen, wie oft die Befehle in der Schleife ausgeführt werden sollen.
 +
 
 +
* Ist die '''Anzahl der Wiederholungen bekannt''', so kann der folgende Schleifenblock verwendet werden:
 +
 
 +
[[Datei:schleife_zaehler.png|150px]]
  
==Beispielprogramm 1==
+
* Wenn '''nicht klar''' ist, '''wie oft''' bestimmte Befehle wiederholt werden müssen, kann der folgende Schleifenblock verwendet werden:
 +
 
 +
[[Datei:schleife_bedingung.png|150px]]
 +
 
 +
Dabei werden die Befehle in der Schleife '''solange wiederholt''', bis eine '''bestimmte Bedingung nicht mehr erfüllt''' ist.
 +
 
 +
=Beispielprogramm - blinkendes Herz=
  
 
Die folgenden beiden Programme erzeugen dasselbe Ergebnis: ein blinkendes Herz am LED-Display des BBC micro:bit.  
 
Die folgenden beiden Programme erzeugen dasselbe Ergebnis: ein blinkendes Herz am LED-Display des BBC micro:bit.  
Zeile 26: Zeile 44:
 
[[Datei:schleife_blinkendes_herz_mit.png|200px]]
 
[[Datei:schleife_blinkendes_herz_mit.png|200px]]
  
Manchmal ist es sogar erwünscht, dass bestimmte Befehle (theoretisch) unendlich oft ausgeführt werden. Man spricht dann von einer '''Endlosschleife''' (engl. infinite loop).
 
  
Dazu kann dann der folgende Schleifenblock verwendet werden:
+
zum Programm: https://makecode.microbit.org/_MYPiLRiL6FbH
 +
 
 +
 
 +
Um das Herz '''dauerhaft''' blinken zu lassen, kann der folgende Schleifenblock verwendet werden:
  
 
[[Datei:endlosschleife_blinkendes_herz.png|200px]]
 
[[Datei:endlosschleife_blinkendes_herz.png|200px]]
 +
 +
=Beispielprogramm - Countdown=
 +
 +
In diesem Beispiel wird ein Countdown programmiert:
 +
 +
*Gestartet wird bei 10.
 +
*Dann wird schrittweise bis 0 hinuntergezählt.
 +
 +
Dazu müssen die Befehle innerhalb der Schleife insgesamt 11-mal ausgeführt werden.
 +
 +
Nach der 11. Wiederholung bricht die Schleife ab und ein Symbol erscheint am LED-Display des BBC micro:bit.
 +
 +
 +
[[Datei:schleife_countdown.png|250px]]
 +
 +
 +
Zum Programm: https://makecode.microbit.org/_0Vq0RgL2FTf2
 +
 +
=Beispielprogramm - Komponieren=
 +
 +
Der im vorherigen Beispiel verwendete Schleifenblock kann auch für das Komponieren von Melodien sehr hilfreich sein, wie das folgende Beispiel zeigt:
 +
 +
 +
[[Datei:schleife_melodie.png|350px]]
 +
 +
 +
Zum Programm: https://makecode.microbit.org/_EVsK9DEAkgTi
 +
 +
=Beispielprogramm - Drück mich!=
 +
 +
Hier werden 2 Schleifenblöcke ineinander verschachtelt.
 +
 +
Betrachten wir zuerst die innere Schleife:
 +
 +
Die Befehle in der Schleife werden solange wiederholt, bis eine bestimmte Bedingung nicht mehr erfüllt ist. Im folgenden Beispiel wird solange das Herz-Symbol auf der LED-Matrix des BBC micro:bit angezeigt bis der Knopf A losgelassen wird.
 +
 +
Die äußere Endlosschleife wird benötigt, um dauerhaft zu überprüfen, ob der Knopf A gedrückt wird oder nicht.
 +
 +
 +
[[Datei:schleife_beispielprogramm_bedingung.png|250px]]
 +
 +
 +
Zum Programm: https://makecode.microbit.org/_UwUTgsahfcb5
 +
 +
=Übung=
 +
 +
Versuche die Biber-der-Informatik-Aufgabe '''Cassy, die Schildkröte''' zu lösen.
 +
 +
* Klicke dazu auf den folgenden Link:
 +
http://www.ocg.at/sites/ocg.at/files/Biberheft_2016_ohne_neu.pdf
 +
 +
* Du findest die Aufgabe auf Seite 16.

Version vom 29. August 2018, 17:45 Uhr

Was ist das?

Schleifen werden beim Programmieren immer dann eingesetzt, wenn bestimmte Befehle mehrmals oder unendlich oft wiederholt werden sollen. Man nennt sie daher auch Wiederholungsanweisungen. Je nach Programmiersprache gibt für die Erzeugung einer Schleife bestimmte Befehle.

Icon Erklärungsvideo

Schleifen

WIEDERHOLEN, WIEDERHOLEN, WIEDERHOLEN,...

Icon https://youtu.be/z0alRzHB7_g

Befehlsblöcke

Für die Programmierung des BBC micro:bit stehen die folgenden 3 Befehle zur Verfügung:

  • Manchmal ist es erwünscht, dass bestimmte Befehle (theoretisch) unendlich oft ausgeführt werden. Man spricht dann von einer Endlosschleife (engl. infinite loop).

Schleife dauerhaft.png

Bei den folgenden beiden Schleifenblöcken muss eine Abbruchbedingung angegeben werden. Dabei ist zu überlegen, wie oft die Befehle in der Schleife ausgeführt werden sollen.

  • Ist die Anzahl der Wiederholungen bekannt, so kann der folgende Schleifenblock verwendet werden:

Schleife zaehler.png

  • Wenn nicht klar ist, wie oft bestimmte Befehle wiederholt werden müssen, kann der folgende Schleifenblock verwendet werden:

Schleife bedingung.png

Dabei werden die Befehle in der Schleife solange wiederholt, bis eine bestimmte Bedingung nicht mehr erfüllt ist.

Beispielprogramm - blinkendes Herz

Die folgenden beiden Programme erzeugen dasselbe Ergebnis: ein blinkendes Herz am LED-Display des BBC micro:bit.

Im rechten Programm wird eine Schleife verwendet. Das bringt einige Vorteile mit sich:

  • Die Anzahl der Wiederholungen kann schnell geändert werden, z.B. 20-mal anstatt 3-mal.
  • Der Programmcode wird übersichtlicher.


Schleife blinkendes herz ohne.png Schleife blinkendes herz mit.png


zum Programm: https://makecode.microbit.org/_MYPiLRiL6FbH


Um das Herz dauerhaft blinken zu lassen, kann der folgende Schleifenblock verwendet werden:

Endlosschleife blinkendes herz.png

Beispielprogramm - Countdown

In diesem Beispiel wird ein Countdown programmiert:

  • Gestartet wird bei 10.
  • Dann wird schrittweise bis 0 hinuntergezählt.

Dazu müssen die Befehle innerhalb der Schleife insgesamt 11-mal ausgeführt werden.

Nach der 11. Wiederholung bricht die Schleife ab und ein Symbol erscheint am LED-Display des BBC micro:bit.


Schleife countdown.png


Zum Programm: https://makecode.microbit.org/_0Vq0RgL2FTf2

Beispielprogramm - Komponieren

Der im vorherigen Beispiel verwendete Schleifenblock kann auch für das Komponieren von Melodien sehr hilfreich sein, wie das folgende Beispiel zeigt:


Schleife melodie.png


Zum Programm: https://makecode.microbit.org/_EVsK9DEAkgTi

Beispielprogramm - Drück mich!

Hier werden 2 Schleifenblöcke ineinander verschachtelt.

Betrachten wir zuerst die innere Schleife:

Die Befehle in der Schleife werden solange wiederholt, bis eine bestimmte Bedingung nicht mehr erfüllt ist. Im folgenden Beispiel wird solange das Herz-Symbol auf der LED-Matrix des BBC micro:bit angezeigt bis der Knopf A losgelassen wird.

Die äußere Endlosschleife wird benötigt, um dauerhaft zu überprüfen, ob der Knopf A gedrückt wird oder nicht.


Schleife beispielprogramm bedingung.png


Zum Programm: https://makecode.microbit.org/_UwUTgsahfcb5

Übung

Versuche die Biber-der-Informatik-Aufgabe Cassy, die Schildkröte zu lösen.

  • Klicke dazu auf den folgenden Link:

http://www.ocg.at/sites/ocg.at/files/Biberheft_2016_ohne_neu.pdf

  • Du findest die Aufgabe auf Seite 16.