Variablen: Unterschied zwischen den Versionen

Aus microbit - Das Schulbuch
Zur Navigation springen Zur Suche springen
Maria.grandl (Diskussion | Beiträge)
 
(108 dazwischenliegende Versionen von 3 Benutzern werden nicht angezeigt)
Zeile 1: Zeile 1:
==[[Datei:icon_play.png|20px|Icon]] Video==
'''Variablen'''
[[Datei:icon_you_tube.png|20px|Icon]] https://youtu.be/FROYyfuIMP8
==Was ist das?==
==Was ist das?==


Eine Variable ist in der Programmierung ein Platzhalter für die verschiedensten Daten. Du kannst in Variablen Informationen speichern und diese auslesen. Du kannst dabei aber auch jederzeit neue Daten in deine Variable speichern und die alten verändern oder überschreiben. Um deinen Programmcode übersichtlich zu halten, ist es dabei wichtig, deinen Variablen einen eindeutigen, leicht verständlichen Namen zu geben.
Eine Variable ist in der Programmierung ein Behälter für verschiedene Daten, zum Beispiel für Zahlen (7, 2.5, 159.89532147), Zeichen (h, e, y, !) oder Zeichenfolgen (hey, Anna, HALLO!).
 
Du kannst dir eine Variable wie eine Box mit bestimmten Eigenschaften vorstellen.
Bei der Erstellung einer Variable wird im Speicher eine bestimmte Box reserviert.
 
[[Datei:Box.png|200px|Variable]]
 
*Jede Box hat einen '''eindeutigen Namen''', der ihren Inhalt gut beschreibt. Das bedeutet, dass es keine zweite Variable mit demselben Namen geben darf.
 
*Eine Box kann mit bestimmten Daten befüllt werden, zum Beispiel mit einer Zahl. Eine Variable besitzt also immer einen bestimmten '''Datentyp''', der die Art der Information bestimmt, die gespeichert werden soll.
 
*Wurde eine Box reserviert, dann sollte sie auch gleich mit Daten befüllt werden. Jede Variable sollte immer einen '''Anfangswert''' besitzen, das heißt '''initialisiert''' werden.
 
*Es gibt kleinere und größere Boxen für verschiedene Datentypen. Zum Speichern von ganzen Wörtern oder Sätzen wird mehr Speicherplatz als zum Speichern einer natürlichen Zahl benötigt. 
 
*Der '''Inhalt''' der Box, also der '''Wert''' der Variable, kann jederzeit '''abgefragt''' und '''verändert''' werden.
 
==Befehle==
 
Für die Programmierung des BBC micro:bit stehen die folgenden Befehle in der Kategorie '''Variablen''' zur Verfügung:
 
[[Datei:Befehle_variablen_neu.png|500px|Befehlskategorie Variablen]]
 
==Neue Variable erstellen==
 
Du kannst eine neue Variable erzeugen, indem du auf „'''Erstelle eine Variable...'''“ klickst und der Variable einen aussagekräftigen Namen gibst. Bestätige deine Eingabe mit Klick auf OK.
 
 
[[Datei:Variable_erstellen_neu.png|600px|Neue Variable anlegen]][[Datei:Neue_variable_anlegen.PNG|400px|Eindeutigen Variablennamen vergeben]]
 
==Variable mit Daten befüllen==
 
Noch ist der Inhalt der Box mit dem Namen „Lieblingszahl“ leer, d.h., der Variable wurde noch kein Wert zugewiesen. Das kannst du mit dem folgenden Befehl ändern:
 
[[Datei:Variable_befuellen_neu.png|600px|Variable auswählen und initialisieren]]
 
==Inhalt der Variablen abfragen==
 
Mit dem folgenden Befehl kannst du den aktuellen Wert der Variablen abfragen:
 
[[Datei:Wert_variable_neu.png|500px|Wert der Variable]]
 
[[Datei:Wert_ausgeben_neu.png|300px|Wert der Variable ausgeben]]
[[Datei:Ausgabe_wert_variable.png|300px|Anzeige am LED-Display des BBC micro:bit]]


==Befehlsblöcke==
==Zeichenketten speichern und ausgeben==


In der Programmierumgebung des BBC micro:bit lassen sich verschiedene Blöcke für die Verwendung von Variablen finden. Welche du benötigst, hängt davon ab, was du mit deinem Programm machen möchtest.
Eine Zeichenkette oder Zeichenfolge nennt man in der Programmierung auch '''String'''.  


===Variable anlegen und ihren Wert ändern===
So kannst du eine Zeichenkette speichern und am LED-Display des BBC micro:bit als Laufschrift ausgeben:


[[Datei:Variable.png|border|300px|Variable]]
<pre id="var01">
let Spruch = "Hallo Welt!"
basic.showString(Spruch)
</pre>


Mit diesen beiden Blöcken kannst du eine Variable anlegen und ihren Wert verändern. Diese beiden Blöcke findest du im MakeCode Editor unter dem Register "Variablen". Mit einem Klick auf den Variablennamen kannst du dabei den Namen der Variable ändern. Dies solltest du für dein Programm auf jeden Fall tun, da "Platzhalter" kein aussagekräftiger Name ist!
Zum Programm: https://makecode.microbit.org/_7ovWLtKaWJqg


----
=Beispielprogramm - Bis 10 zählen=


Variablen brauchst du aber nicht nur, wenn du sie selbst anlegst, sondern sie kommen beim Programmieren mit dem micro:bit in verschiedenen Bereichen vor.
Beim Start des Programmes wird eine Variable mit dem Namen „Zähler“ erstellt. Ihr wird der Wert 0 zugewiesen.<br />
Das Zählen startet, nachdem Knopf A gedrückt wurde.<br />
Bei jedem Schleifendurchlauf wird der Wert der Variable „Zähler“ um 1 erhöht:


===Text ausgeben===
*Wert nach dem 1. Schleifendurchlauf: 1
*Wert nach dem 2. Schleifendurchlauf: 2
...


[[Datei:Variable_string.png|border|300px|Stringvariable]]
...


Unter dem Register "Grundlagen" findest du den oberen Block, mit dem du eine Zeichenfolge ausgeben kannst. Eine Zeichenfolge nennt man in der Programmierung auch "String" - du erkennst diese leicht daran, weil diese meistens unter Anführungszeichen (" ") stehen! Die Zeichenfolge selbst ist dabei eine Variable - sie kann von dir beliebig verändert werden. Du könntest statt einem festgelegten Text auch eine vorher festgelegte Variable ausgeben lassen!
...
*Wert nach dem 10. Schleifendurchlauf: 10


===Zahl ausgeben===
Der Inhalt der Box „Zähler“ ändert sich somit bei jedem Schleifendurchlauf.


[[Datei:Variable_zahl.png|border|200px|Integervariable]]
<pre id="var02">
input.onButtonPressed(Button.A, function () {
    for (let index = 0; index < 10; index++) {
        zaehler += 1
        basic.showNumber(zaehler)
        basic.pause(1000)
    }
})
let zaehler = 0
zaehler = 0
</pre>


Ebenfalls unter dem Register "Grundlagen" findest du den oben abgebildeten Block, mit dem du Zahlen ausgeben kannst. Ganzzahlen (das sind Zahlen ohne Kommastellen) werden in der Programmierung als "Integer" bezeichnet. Die ausgegebene Zahl kann dabei beliebig verändert werden. Wie auch bei einem Text kannst du dabei eine Variable, die du vorher erstellt hast, ausgeben lassen.
Zum Programm: https://makecode.microbit.org/_DAb9ayTqTiXx


===Bild/Symbol ausgeben===
=Beispielprogramm - Klickzähler=


[[Datei:Variable_bild.png|border|200px|Bildvariable]]
Beim Start des Programmes wird eine neue Variable mit dem Namen „Anzahl der Klicks“ erstellt.<br />
Sie wird mit dem Wert 0 initialisiert.<br />


Bei den "Grundlagen" findest du auch den oben gezeigten Block, mit dem du ein Symbol bzw. ein Bild ausgeben kannst. Das Bild bzw. das Symbol ist dabei selbst auch eine Variable - du kannst diese beliebig verändern und somit die Ausgabe beeinflussen.
'''Wenn''' der '''Knopf A gedrückt''' wird, dann wird die '''Anzahl''' der Klicks '''um 1 erhöht'''.<br />
'''Wenn''' der '''Knopf B gedrückt''' wird, dann wird die '''Anzahl''' der Klicks '''um 1 erniedrigt'''.<br />


==Beispielprogramme==
Nach jeder Änderung des Wertes wird der aktuelle Wert der Variable am LED-Display des micro:bit ausgegeben.


Variablen kommen in fast allen Programmen vor, die du mit dem micro:bit erstellen wirst. Dennoch findest du hier einige Beispiele für Programme, in denen Variablen verwendet werden:
<pre id="var03">
input.onButtonPressed(Button.A, function () {
    Anzahl_der_Klicks += 1
    basic.showNumber(Anzahl_der_Klicks)
})
input.onButtonPressed(Button.B, function () {
    Anzahl_der_Klicks += -1
    basic.showNumber(Anzahl_der_Klicks)
})
let Anzahl_der_Klicks = 0
Anzahl_der_Klicks = 0
basic.showNumber(Anzahl_der_Klicks)
</pre>


===Countdown===
Zum Programm: https://makecode.microbit.org/_0joKMLdDEYya


Du kannst mit dem BBC micro:bit einen Countdown programmieren, der beispielsweise 60 Sekunden lang dauert. Dafür brauchst du eine Variable, die du anfangs auf die Anzahl der Sekunden setzt, die dein Countdown dauern soll. Anschließend zeigst du den aktuellen Wert des Countdowns auf dem micro:bit an. Die Countdown-Variable wird anschließend jede Sekunde um 1 verringert, bis er schlussendlich 0 ist. Damit ist der Countdown beendet. Für dieses Programm wird auch eine [[Schleifen|Schleife]] benötigt. Der Code für dieses Programm sieht wie folgt aus:
=Übung=


[[Datei:beispielprogramm_countdown.png|border|400px|Countdown]]
[[Datei:icon_progress.png|20px]] In Arbeit!


==Unplugged Übung==
<htmlet>makecode_embed</htmlet>

Aktuelle Version vom 28. April 2022, 16:16 Uhr

Icon Video

Variablen

Icon https://youtu.be/FROYyfuIMP8

Was ist das?

Eine Variable ist in der Programmierung ein Behälter für verschiedene Daten, zum Beispiel für Zahlen (7, 2.5, 159.89532147), Zeichen (h, e, y, !) oder Zeichenfolgen (hey, Anna, HALLO!).

Du kannst dir eine Variable wie eine Box mit bestimmten Eigenschaften vorstellen. Bei der Erstellung einer Variable wird im Speicher eine bestimmte Box reserviert.

Variable

  • Jede Box hat einen eindeutigen Namen, der ihren Inhalt gut beschreibt. Das bedeutet, dass es keine zweite Variable mit demselben Namen geben darf.
  • Eine Box kann mit bestimmten Daten befüllt werden, zum Beispiel mit einer Zahl. Eine Variable besitzt also immer einen bestimmten Datentyp, der die Art der Information bestimmt, die gespeichert werden soll.
  • Wurde eine Box reserviert, dann sollte sie auch gleich mit Daten befüllt werden. Jede Variable sollte immer einen Anfangswert besitzen, das heißt initialisiert werden.
  • Es gibt kleinere und größere Boxen für verschiedene Datentypen. Zum Speichern von ganzen Wörtern oder Sätzen wird mehr Speicherplatz als zum Speichern einer natürlichen Zahl benötigt.
  • Der Inhalt der Box, also der Wert der Variable, kann jederzeit abgefragt und verändert werden.

Befehle

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

Befehlskategorie Variablen

Neue Variable erstellen

Du kannst eine neue Variable erzeugen, indem du auf „Erstelle eine Variable...“ klickst und der Variable einen aussagekräftigen Namen gibst. Bestätige deine Eingabe mit Klick auf OK.


Neue Variable anlegenEindeutigen Variablennamen vergeben

Variable mit Daten befüllen

Noch ist der Inhalt der Box mit dem Namen „Lieblingszahl“ leer, d.h., der Variable wurde noch kein Wert zugewiesen. Das kannst du mit dem folgenden Befehl ändern:

Variable auswählen und initialisieren

Inhalt der Variablen abfragen

Mit dem folgenden Befehl kannst du den aktuellen Wert der Variablen abfragen:

Wert der Variable

Wert der Variable ausgeben Anzeige am LED-Display des BBC micro:bit

Zeichenketten speichern und ausgeben

Eine Zeichenkette oder Zeichenfolge nennt man in der Programmierung auch String.

So kannst du eine Zeichenkette speichern und am LED-Display des BBC micro:bit als Laufschrift ausgeben:

let Spruch = "Hallo Welt!"
basic.showString(Spruch)

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

Beispielprogramm - Bis 10 zählen

Beim Start des Programmes wird eine Variable mit dem Namen „Zähler“ erstellt. Ihr wird der Wert 0 zugewiesen.
Das Zählen startet, nachdem Knopf A gedrückt wurde.
Bei jedem Schleifendurchlauf wird der Wert der Variable „Zähler“ um 1 erhöht:

  • Wert nach dem 1. Schleifendurchlauf: 1
  • Wert nach dem 2. Schleifendurchlauf: 2

...

...

...

  • Wert nach dem 10. Schleifendurchlauf: 10

Der Inhalt der Box „Zähler“ ändert sich somit bei jedem Schleifendurchlauf.

input.onButtonPressed(Button.A, function () {
    for (let index = 0; index < 10; index++) {
        zaehler += 1
        basic.showNumber(zaehler)
        basic.pause(1000)
    }
})
let zaehler = 0
zaehler = 0

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

Beispielprogramm - Klickzähler

Beim Start des Programmes wird eine neue Variable mit dem Namen „Anzahl der Klicks“ erstellt.
Sie wird mit dem Wert 0 initialisiert.

Wenn der Knopf A gedrückt wird, dann wird die Anzahl der Klicks um 1 erhöht.
Wenn der Knopf B gedrückt wird, dann wird die Anzahl der Klicks um 1 erniedrigt.

Nach jeder Änderung des Wertes wird der aktuelle Wert der Variable am LED-Display des micro:bit ausgegeben.

input.onButtonPressed(Button.A, function () {
    Anzahl_der_Klicks += 1
    basic.showNumber(Anzahl_der_Klicks)
})
input.onButtonPressed(Button.B, function () {
    Anzahl_der_Klicks += -1
    basic.showNumber(Anzahl_der_Klicks)
})
let Anzahl_der_Klicks = 0
Anzahl_der_Klicks = 0
basic.showNumber(Anzahl_der_Klicks)

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

Übung

In Arbeit!