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)
 
(91 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 Behälter für verschiedene Daten, zum Beispiel Zahlen (7, 2.5, 159.89532147), Zeichen (h, e, y, !), Zeichenfolgen (hey, Anna, HALLO!) oder Symbole.
'''Variablen'''
 
Du kannst dir eine Variable, wie eine Box mit bestimmten Eigenschaften vorstellen.
[[Datei:icon_you_tube.png|20px|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.  


[[Datei:Box.png|200px|Variable]]
[[Datei:Box.png|200px|Variable]]


* Eine Box kann mit bestimmten Daten befüllt werden, zum Beispiel mit einer Zahl.
*Jede Box hat einen '''eindeutigen Namen''', der ihren Inhalt gut beschreibt. Das bedeutet, dass es keine zweite Variable mit demselben Namen geben darf.
* Es gibt kleinere und größere Boxen für verschiedene Datentypen.
* Jede Box hat einen eindeutigen Namen, der ihren Inhalt gut beschreibt.
* Der Inhalt der Box kann jederzeit abgefragt werden.
* Der Inhalt der Box kann jederzeit verändert werden.


=Erklärungsvideo=
*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.


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


=Befehlsblöcke=
==Befehle==


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


==Variable anlegen und ihren Wert ändern==
[[Datei:Befehle_variablen_neu.png|500px|Befehlskategorie Variablen]]


*Du kannst eine neue Variable erzeugen, indem du auf "Neue Variable anlegen" klickst und der Variable einen aussagekräftigten Namen gibst.
==Neue Variable erstellen==


[[Datei:variable_neu.PNG|300px|Variable]]
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.


*Noch ist der Inhalt der "Box" leer, d.h. der Variable wurde kein Wert zugewiesen.
Das kannst du mit dem folgenden Befehl ändern:


[[Datei:variable_wert_aendern.png|300px|Wert der Variable ändern]]
[[Datei:Variable_erstellen_neu.png|600px|Neue Variable anlegen]][[Datei:Neue_variable_anlegen.PNG|400px|Eindeutigen Variablennamen vergeben]]


Mit diesen beiden Blöcken kannst du eine Variable erzeugen, ihr einen Wert zuweisen und diesen verändern.
==Variable mit Daten befüllen==


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!
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]]


Variablen brauchst du aber nicht nur, wenn du sie selbst anlegst, sondern sie kommen beim Programmieren mit dem micro:bit in verschiedenen Bereichen vor.
==Inhalt der Variablen abfragen==


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


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


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


==Zahl ausgeben==
==Zeichenketten speichern und ausgeben==


[[Datei:Variable_zahl.png|border|200px|Integervariable]]
Eine Zeichenkette oder Zeichenfolge nennt man in der Programmierung auch '''String'''.  


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.
So kannst du eine Zeichenkette speichern und am LED-Display des BBC micro:bit als Laufschrift ausgeben:


==Bild/Symbol ausgeben==
<pre id="var01">
let Spruch = "Hallo Welt!"
basic.showString(Spruch)
</pre>


[[Datei:Variable_bild.png|border|200px|Bildvariable]]
Zum Programm: https://makecode.microbit.org/_7ovWLtKaWJqg


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.
=Beispielprogramm - Bis 10 zählen=


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


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


==Countdown==
...


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


[[Datei:beispielprogramm_countdown.png|border|400px|Countdown]]
Der Inhalt der Box „Zähler“ ändert sich somit bei jedem Schleifendurchlauf.  


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


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


[[Datei:beispielprogramm_thermometer.png|border|400px|Thermometer]]
=Beispielprogramm - Klickzähler=
 
Beim Start des Programmes wird eine neue Variable mit dem Namen „Anzahl der Klicks“ erstellt.<br />
Sie wird mit dem Wert 0 initialisiert.<br />
 
'''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 />
 
Nach jeder Änderung des Wertes wird der aktuelle Wert der Variable am LED-Display des micro:bit ausgegeben.
 
<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>
 
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!