Array: Unterschied zwischen den Versionen

Aus microbit - Das Schulbuch
Wechseln zu: Navigation, Suche
(Neues Array erstellen)
(Neues Array erstellen)
(47 dazwischenliegende Versionen desselben Benutzers werden nicht angezeigt)
Zeile 32: Zeile 32:
 
=Erklärungsvideo=
 
=Erklärungsvideo=
  
[[Datei:icon_progress.png|20px]] In Arbeit!
+
ARBEITEN MIT LISTEN
 +
 
 +
[[Datei:icon_you_tube.png|20px|Icon]] https://youtu.be/ojHuK2ivYdk
  
 
=Befehlsblöcke=
 
=Befehlsblöcke=
Zeile 44: Zeile 46:
 
Um ein neues Array zu erstellen, muss zuerst eine neue Variable angelegt werden. Das ist die große Box, die nun weitere kleine Boxen enthalten soll.  
 
Um ein neues Array zu erstellen, muss zuerst eine neue Variable angelegt werden. Das ist die große Box, die nun weitere kleine Boxen enthalten soll.  
  
*TODO Grafik1
+
[[Datei:Array_variable_befehle.PNG|300px|Befehlskategorie Variablen]]
*TODO Grafik2
+
 
*TODO Grafik3
+
[[Datei:Array_neuevariable.PNG|300px|Neue Variable erstellen]]
 +
 
 +
[[Datei:Array_erstellen.png|200px|Variable initialisieren]]
 +
 
  
 
Mit dem folgenden Befehl kann eine Liste von Zeichen oder Zeichenketten erstellt werden:
 
Mit dem folgenden Befehl kann eine Liste von Zeichen oder Zeichenketten erstellt werden:
  
*TODO Grafik 4
+
[[Datei:Array_leeresarray.png|200px|Leeres Array]]
  
 
Um 2 Elemente zum Array „Einkaufsliste“ hinzuzufügen, müssen die Befehlsblöcke miteinander verbunden werden.
 
Um 2 Elemente zum Array „Einkaufsliste“ hinzuzufügen, müssen die Befehlsblöcke miteinander verbunden werden.
  
*TODO Grafik 5
+
[[Datei:Array_variableeinkaufsliste.png|350px|Variable - Array]]
  
 
Die Boxen können nun mit Inhalten befüllt werden.  
 
Die Boxen können nun mit Inhalten befüllt werden.  
  
*TODO Grafik 6
+
[[Datei:Array_arraybefuellen.png|350px|Array initialisieren]]
 +
 
 +
==Weitere Elemente zum Array hinzufügen==
 +
 
 +
Auf der Einkaufsliste stehen 6 Produkte. Dazu müssen weitere 4 Elemente zur Liste hinzugefügt werden. Mit Klick auf das Zahnrad-Symbol kann das Array erweitert werden.
 +
 
 +
Ziehe dazu den violetten Wert-Block in den Array-Block. 
 +
 
 +
[[Datei:Array_neueelemente1.png|400px|weitere Elemente zum Array hinzufügen]]
 +
 
 +
[[Datei:Array_neueelemente2.png|400px|weitere Elemente zum Array hinzufügen]]
 +
 
 +
 
 +
In der Befehlskategorie '''Fortgeschritten > Text''' findest du den folgenden Textblock:
 +
 
 +
[[Datei:Array_textblock.png|100px|Text]]
 +
 
 +
Damit kann die Liste nun vervollständigt werden:
 +
 
 +
 
 +
[[Datei:Array_unvollstaendig.png|400px|Array mit Werten befüllen]]
  
==Array erweitern==
+
[[Datei:Array_vollstaendig.png|450px|Array befüllt]]
  
In das Array wurden bereits die ersten Hobbys eingetragen. Doch da fehlen ja noch ein paar! Richtig, denn nun musst du dein Array erweitern. Das machst du mit folgendem Befehl:
+
==Auf ein Element im Array zugreifen==
  
[[Datei:array_erweitern.png|450px|Array erweitern]]
+
Mit dem folgenden Befehl kann auf ein Element im Array an einer bestimmten Stelle zugegriffen werden:
  
*Mit einem Klick auf das Zahnrad kannst du dein Array größer machen! Dazu musst du nur den Block '''Wert''' in das Array ziehen. Dadurch bestimmst du, wie groß dein Array sein soll.
 
  
*Du kannst dann neue Daten in dein Array einfügen. Einen Block für eine weitere Zeichenfolge findest du in der Kategorie '''Text'''. Wenn dein Array aus Zahlen besteht, findest du eine neue Zahl in der Kategorie '''Mathematik'''.
+
[[Datei:Array_positionarray.png|250px|auf eine Stelle im Array zugreifen]]
  
==Wert abrufen==
 
  
Nun möchtest du Daten aus deinem Array abrufen und ausgeben. Angenommen, du willst z.B. dein Lieblingshobby ausgeben, dann machst du das mit dem folgenden Block:
+
Das folgende Programm gibt das Element, das sich an der 4. Stelle im Array befindet, aus. Das Wort „Apfel“ wird dabei als Laufschrift am LED-Display des BBC micro:bit angezeigt. Achte darauf, dass die Nummerierung bei 0 startet.   
  
[[Datei:wert_abrufen_array.png|450px|Wert abrufen]]
 
  
*Aufgepasst! Was fällt dir auf? Wir wollen unser Lieblingshobby auswählen (also das erste Hobby in der Liste), und nehmen deshalb den Wert, der sich an der '''0. Stelle''' befindet. Merke dir: Bei einem Array beginnt das Zählen bei '''0''' und nicht bei 1! Wenn du also z.B. dein drittliebstes Hobby auswählen willst, musst du die zweite Stelle im Array auswählen und nicht die dritte.
+
[[Datei:Array_beispielprogramm.png|400px|Beispielprogramm Einkaufsliste]]
 +
 
 +
 
 +
Zum Programm: https://makecode.microbit.org/_eXxLCgVhEadj
 +
 
 +
=Beispielprogramm – Wer erledigt den Einkauf?=
 +
 
 +
Manchmal wird eine Entscheidungshilfe benötigt, zum Beispiel in der Frage, welche Person den Einkauf erledigt.
 +
 
 +
In einem Array können die Namen aller Personen, die zur Erledigung des Einkaufs in Frage kommen, gespeichert werden.
 +
 
 +
Um zufällig eine Person auszuwählen, wird eine Zufallszahl zwischen 0 und 3 berechnet und in der Variable Zufallsposition abgespeichert.
 +
 
 +
Der Listeneintrag an der zufällig ermittelten Position im Array wird abschließend am LED-Display des micro:bit ausgegeben.
 +
 
 +
Welche Person wird wohl ausgewählt werden?
 +
 
 +
 
 +
[[Datei:Array_einkauf.png|450px|Beispielprogramm - Verwendung von Arrays]]
 +
 
 +
 
 +
Zum Programm: https://makecode.microbit.org/_R36XXRDWHKi7
  
 
=Beispielprogramm - C-Dur-Tonleiter=
 
=Beispielprogramm - C-Dur-Tonleiter=
  
Mithilfe eines Arrays kannst du alle Töne der C-Dur-Tonleiter abspeichern. Durch das Drücken der Taste A wird dann zufällig ein Ton aus der Tonleiter abgespielt. Es wird dabei zufällig ein Ton zwischen der 0. und der 7. Stelle des Arrays ausgewählt - da sich 8 Töne im Array befinden.
+
Mithilfe eines Arrays können auch alle Töne der C-Dur-Tonleiter abgespeichert werden.  
 +
 
 +
Durch das Drücken der Taste A wird dann '''zufällig''' ein Ton aus der Tonleiter abgespielt.  
 +
 
 +
Mithilfe einer Zufallszahl zwischen '''0''' und '''7''' wird eine zufällige Position im Array ausgewählt.  
 +
 +
 
 +
[[Datei:tonleiter_beispiel.png|650px|C-Dur-Tonleiter]]
 +
 
  
[[Datei:tonleiter_beispiel.png|800px|C-Dur-Tonleiter]]
+
Zum Programm: https://makecode.microbit.org/_EAA8my2uE826
  
 
=Übung=
 
=Übung=
  
Versuche, die Biber-der-Informatik-Aufgabe '''Vegetarische Schnitzeljagd''' zu lösen.
+
Versuche, die Biber-der-Informatik-Aufgabe '''"Vegetarische Schnitzeljagd"''' zu lösen.
  
 
* Du findest sie unter folgendem Link auf Seite 45:
 
* Du findest sie unter folgendem Link auf Seite 45:
  
 
http://www.ocg.at/sites/ocg.at/files/Biberheft_2016_ohne_neu.pdf
 
http://www.ocg.at/sites/ocg.at/files/Biberheft_2016_ohne_neu.pdf

Version vom 29. August 2018, 17:43 Uhr

Was ist das?

Wie du wahrscheinlich bereits weißt, kannst du dir eine Variable wie eine Box vorstellen, die beispielsweise eine Zahl oder eine Zeichenkette beinhalten kann. In einer Box können sich aber auch weitere Boxen, die wiederum bestimmte Daten enthalten, befinden.


box-in-box-modell


Die kleinen Boxen in der großen Box sind dabei nummeriert. Die Reihenfolge, in der die Boxen in die große Box gelegt werden, ist also wichtig. Eine solche Box (Variabel) nennt man Liste oder Array.

Ein Array, also eine spezielle Variable, muss also immer dann erstellt werden, wenn eine Liste von Zahlen, Zeichen oder Wörtern in einer bestimmten Reihenfolge gespeichert werden sollen, z.B. die Produkte auf einer Einkaufsliste:


box-modell-einkaufsliste


  • Jedes Array hat einen eindeutigen Namen, zum Beispiel „Einkaufsliste“. Das bedeutet, dass es kein weiteres Array geben darf, dass den denselben Namen hat. Der Name soll darüber Auskunft geben, welche Daten in der Liste gespeichert sind.
  • Jedes Element des Arrays besitzt denselben Datentyp. Bei der „Einkaufsliste“ handelt es sich um eine Liste von Wörtern, also Zeichenketten.
  • Die Elemente der Arrays sind durchnummeriert. Dabei wird bei 0 zum Zählen begonnen. Das Wort „Eis“ befindet sich an der 0. Stelle des Arrays „Einkaufsliste“. Das Wort „Schokolade“ befindet sich an der 5. Stelle des Arrays.


einkaufsliste


  • Über die Nummer (Position im Array) kann auf jedes einzelne Element im Array zugegriffen werden. So kann beispielsweise der Wert des Listeneintrags mit der Nummer 3 abgefragt, verändert oder gelöscht werden.
  • Es können auch neue Elemente zur Liste hinzugefügt werden.

Erklärungsvideo

ARBEITEN MIT LISTEN

Icon https://youtu.be/ojHuK2ivYdk

Befehlsblöcke

Für die Programmierung des BBC micro:bit stehen die folgenden Befehle in der Kategorie Fortgeschritten > Arrays zur Verfügung:

Befehle Array

Neues Array erstellen

Um ein neues Array zu erstellen, muss zuerst eine neue Variable angelegt werden. Das ist die große Box, die nun weitere kleine Boxen enthalten soll.

Befehlskategorie Variablen

Neue Variable erstellen

Variable initialisieren


Mit dem folgenden Befehl kann eine Liste von Zeichen oder Zeichenketten erstellt werden:

Leeres Array

Um 2 Elemente zum Array „Einkaufsliste“ hinzuzufügen, müssen die Befehlsblöcke miteinander verbunden werden.

Variable - Array

Die Boxen können nun mit Inhalten befüllt werden.

Array initialisieren

Weitere Elemente zum Array hinzufügen

Auf der Einkaufsliste stehen 6 Produkte. Dazu müssen weitere 4 Elemente zur Liste hinzugefügt werden. Mit Klick auf das Zahnrad-Symbol kann das Array erweitert werden.

Ziehe dazu den violetten Wert-Block in den Array-Block.

weitere Elemente zum Array hinzufügen

weitere Elemente zum Array hinzufügen


In der Befehlskategorie Fortgeschritten > Text findest du den folgenden Textblock:

Text

Damit kann die Liste nun vervollständigt werden:


Array mit Werten befüllen

Array befüllt

Auf ein Element im Array zugreifen

Mit dem folgenden Befehl kann auf ein Element im Array an einer bestimmten Stelle zugegriffen werden:


auf eine Stelle im Array zugreifen


Das folgende Programm gibt das Element, das sich an der 4. Stelle im Array befindet, aus. Das Wort „Apfel“ wird dabei als Laufschrift am LED-Display des BBC micro:bit angezeigt. Achte darauf, dass die Nummerierung bei 0 startet.


Beispielprogramm Einkaufsliste


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

Beispielprogramm – Wer erledigt den Einkauf?

Manchmal wird eine Entscheidungshilfe benötigt, zum Beispiel in der Frage, welche Person den Einkauf erledigt.

In einem Array können die Namen aller Personen, die zur Erledigung des Einkaufs in Frage kommen, gespeichert werden.

Um zufällig eine Person auszuwählen, wird eine Zufallszahl zwischen 0 und 3 berechnet und in der Variable Zufallsposition abgespeichert.

Der Listeneintrag an der zufällig ermittelten Position im Array wird abschließend am LED-Display des micro:bit ausgegeben.

Welche Person wird wohl ausgewählt werden?


Beispielprogramm - Verwendung von Arrays


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

Beispielprogramm - C-Dur-Tonleiter

Mithilfe eines Arrays können auch alle Töne der C-Dur-Tonleiter abgespeichert werden.

Durch das Drücken der Taste A wird dann zufällig ein Ton aus der Tonleiter abgespielt.

Mithilfe einer Zufallszahl zwischen 0 und 7 wird eine zufällige Position im Array ausgewählt.


C-Dur-Tonleiter


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

Übung

Versuche, die Biber-der-Informatik-Aufgabe "Vegetarische Schnitzeljagd" zu lösen.

  • Du findest sie unter folgendem Link auf Seite 45:

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