Variablen: Unterschied zwischen den Versionen

Aus microbit - Das Schulbuch
Zur Navigation springen Zur Suche springen
Maria.grandl (Diskussion | Beiträge)
Maria.grandl (Diskussion | Beiträge)
 
(100 dazwischenliegende Versionen von 2 Benutzern werden nicht angezeigt)
Zeile 1: Zeile 1:
=Was ist das?=
==[[Datei:icon_play.png|20px|Icon]] Video==


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.
'''Variablen'''


==Erklärungsvideo==
[[Datei:icon_you_tube.png|20px|Icon]] https://youtu.be/FROYyfuIMP8


[[Datei:icon_progress.png|20px]]  In Arbeit!
==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.
 
[[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:


=Befehlsblöcke=
[[Datei:Variable_befuellen_neu.png|600px|Variable auswählen und initialisieren]]


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.
==Inhalt der Variablen abfragen==


==Variable anlegen und ihren Wert ändern==
Mit dem folgenden Befehl kannst du den aktuellen Wert der Variablen abfragen:


[[Datei:Variable.png|border|300px|Variable]]
[[Datei:Wert_variable_neu.png|500px|Wert der Variable]]


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!
[[Datei:Wert_ausgeben_neu.png|300px|Wert der Variable ausgeben]]
[[Datei:Ausgabe_wert_variable.png|300px|Anzeige am LED-Display des BBC micro:bit]]


----
==Zeichenketten speichern und ausgeben==


Variablen brauchst du aber nicht nur, wenn du sie selbst anlegst, sondern sie kommen beim Programmieren mit dem micro:bit in verschiedenen Bereichen vor.
Eine Zeichenkette oder Zeichenfolge nennt man in der Programmierung auch '''String'''.  


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


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


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!
Zum Programm: https://makecode.microbit.org/_7ovWLtKaWJqg


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


[[Datei:Variable_zahl.png|border|200px|Integervariable]]
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:


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.
*Wert nach dem 1. Schleifendurchlauf: 1
*Wert nach dem 2. Schleifendurchlauf: 2
...


==Bild/Symbol ausgeben==
...


[[Datei:Variable_bild.png|border|200px|Bildvariable]]
...
*Wert nach dem 10. Schleifendurchlauf: 10


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.
Der Inhalt der Box „Zähler“ ändert sich somit bei jedem Schleifendurchlauf.  


=Beispielprogramme=
<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>


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:
Zum Programm: https://makecode.microbit.org/_DAb9ayTqTiXx


==Countdown==
=Beispielprogramm - Klickzähler=


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:
Beim Start des Programmes wird eine neue Variable mit dem Namen „Anzahl der Klicks“ erstellt.<br />
Sie wird mit dem Wert 0 initialisiert.<br />


[[Datei:beispielprogramm_countdown.png|border|400px|Countdown]]
'''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 />


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


Mithilfe von Variablen ist es auch mit dem micro:bit einfach möglich, die Temperatur zu messen. Dazu findet sich unter "Eingabe" die vorgefertigte Variable "Temperatur (°C)", die die Temperatur in Grad Celsius ausliest. Diese kannst du dann mit dem vorher gezeigten Block zum Ausgeben von Zahlen anzeigen.  
<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>


[[Datei:beispielprogramm_thermometer.png|border|400px|Thermometer]]
Zum Programm: https://makecode.microbit.org/_0joKMLdDEYya


=Übung=
=Übung=


[[Datei:icon_progress.png|20px]]  In Arbeit!
[[Datei:icon_progress.png|20px]]  In Arbeit!
<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!