# Variablen

Wir verwenden den Begriff Variable so, wie er in der Mathematik und in anderen Programmiersprachen verwendet wird: ein benannter Wert, der verändert (variiert) werden kann. Variablen können auf verschiedene Arten erstellt werden.

- Einige Blöcke wie "zähle mit" und "für jeden" verwenden eine Variable und definieren ihre Werte. Ein traditioneller Informatik-Begriff für solche Variablen lautet Schleifenvariablen.
- Benutzerdefinierte Funktionen (auch als "Prozeduren" bezeichnet) können Eingaben definieren, wodurch Variablen erzeugt werden, die nur innerhalb dieser Funktion verwendet werden können. Solche Variablen werden traditionell als "Parameter" oder "Argumente" bezeichnet.
- Benutzer können jederzeit Variablen über den "setze"-Block verändern. Diese werden traditionell als "globale Variablen" bezeichnet. Sie sind überall im Code von ROBO Pro Coding verwendbar.

#### Dropdown-Menü

Wenn du auf das Dropdown-Symbol (kleines Dreieck) einer Variable klickst, erscheint das folgende Menü:

[![image-1623590853546.png](https://docs.fischertechnik-cloud.com/uploads/images/gallery/2021-06/scaled-1680-/image-1623590853546.png)](https://docs.fischertechnik-cloud.com/uploads/images/gallery/2021-06/image-1623590853546.png)

Das Menü bietet die folgenden Optionen.

- die Anzeige der Namen aller vorhandenen, im Programm definierten Variablen.
- "Variable umbenennen …", d.h. die Änderung des Namens dieser Variable, wo immer sie im Programm erscheint (die Auswahl dieser Option öffnet eine Abfrage für den neuen Namen)
- "Variable löschen …", d.h. das Löschen aller Blöcke, die auf diese Variable verweisen, wo immer sie im Programm vorkommt.

### Blöcke

#### Festlegen

Der "setze"-Block weist einer Variablen einen Wert zu und legt die Variable an, falls sie bisher nicht existiert. Zum Beispiel wird so der Wert der Variable "Alter" auf 12 gesetzt:

[![image-1623590862822.png](https://docs.fischertechnik-cloud.com/uploads/images/gallery/2021-06/scaled-1680-/image-1623590862822.png)](https://docs.fischertechnik-cloud.com/uploads/images/gallery/2021-06/image-1623590862822.png)

#### Abrufen

Der "rufe ab"-Block liefert den in einer Variablen gespeicherten Wert, ohne ihn zu verändern:

[![image-1623590873177.png](https://docs.fischertechnik-cloud.com/uploads/images/gallery/2021-06/scaled-1680-/image-1623590873177.png)](https://docs.fischertechnik-cloud.com/uploads/images/gallery/2021-06/image-1623590873177.png)

Es ist möglich, aber eine schlechte Idee, ein Programm zu schreiben, in dem ein "rufe ab"-Block ohne einen entsprechenden vorherigen "setze"-Block vorkommt.

#### Ändern

Der "ändere"-Block fügt eine Zahl zu einer Variablen hinzu.

[![image-1623590887860.png](https://docs.fischertechnik-cloud.com/uploads/images/gallery/2021-06/scaled-1680-/image-1623590887860.png)](https://docs.fischertechnik-cloud.com/uploads/images/gallery/2021-06/image-1623590887860.png)

Der "ändere"-Block ist eine Abkürzung für das folgende Konstrukt:

[![image-1623590898726.png](https://docs.fischertechnik-cloud.com/uploads/images/gallery/2021-06/scaled-1680-/image-1623590898726.png)](https://docs.fischertechnik-cloud.com/uploads/images/gallery/2021-06/image-1623590898726.png)

#### Beispiel

Betrachte den folgenden Beispielcode:

[![Bild6_d.PNG](https://docs.fischertechnik-cloud.com/uploads/images/gallery/2021-12/scaled-1680-/bild6-d.PNG)](https://docs.fischertechnik-cloud.com/uploads/images/gallery/2021-12/bild6-d.PNG)

Die erste Reihe von Blöcken erzeugt eine Variable namens "Alter" und setzt ihren Anfangswert auf die Zahl 12. Die zweite Reihe von Blöcken ruft den Wert 12 ab, addiert 1 dazu und speichert die Summe 13 in der Variablen. In der letzten Zeile wird die Meldung ausgegeben: "Herzlichen Glückwunsch! Du bist jetzt 13".