Variable (Informatik): Unterschied zwischen den Versionen

Aus KGS-Wiki
Keine Bearbeitungszusammenfassung
Zeile 45: Zeile 45:
Im AppInventor werden die Blöcke [[Datei:AppInventor Setze.svg]] für die Zuweisung und [[Datei:AppInventor Hole.svg]] für die Abfrage verwendet.
Im AppInventor werden die Blöcke [[Datei:AppInventor Setze.svg]] für die Zuweisung und [[Datei:AppInventor Hole.svg]] für die Abfrage verwendet.


{{Todo}}
{{Todo|Sn}}


==Weblinks==
==Weblinks==


* {{Inf-Schule|6.3.2.1|Variablen}}
* {{Inf-Schule|6.3.2.1|Variablen}}

Version vom 21. September 2024, 01:15 Uhr

Man kann sich eine Variable wie eine beschriftete Box vorstellen

In der Informatik bezeichnet man als Variable einen Verweis auf ein Stück Speicher, in dem eine Information festgehalten werden kann. Diese Information kann aus dem Speicher ausgelesen werden, ebenso kann eine neue Information hineingeschrieben werden. Bei diesem Vorgang geht die alte Information verloren.

Eine Variable hat immer einen Namen, den so genannten Bezeichner (engl. identifier). Mit diesem Namen kann auf den Wert der Variablen zugegriffen werden.

Analogie

Man kann sich eine Variable wie eine beschriftete Box mit einem Inhalt vorstellen. Die Beschriftung ist hier der Bezeichner, der Inhalt ist der Wert.

Konkretes Beispiel: in meiner Küche steht eine Box mit der Beschriftung MEHL. Wenn ich meine Freundin bitte, mir die Box mit der Beschriftung MEHL zu geben, weiß sie, was ich will. Der Bezeichner dient also dazu, eine Variable eindeutig zu identifizieren.

Den Wert einer Variable kann man beliebig oft abfragen ("Schatz, wie viel ist noch in der ie eine beschrift-Dose?" - "Vielleicht 300 Gramm?"), verändern (indem man Mehl entnimmt oder hinzufügt) oder ganz löschen. Das Ergebnis einer Abfrage gibt dabei immer den aktuellen Wert einer Variablen zurück. Alte vorherigen Werte gehen beim Überschreiben verloren.

⚠️
Achtung

Der Bezeichner einer Variable hat nicht zwingend etwas mit dem Inhalt zu tun! In die MEHL-Dose könnte ich auch Zucker, Linsen oder schmutzige Socken füllen! Der Wert einer Variablen wird ausschließlich von dem Programm festgelegt, in dem sie verwendet wird!

👉
Hinweis

Der Bezeichner einer Variable sollte zu deren Wert passen. Genau so, wie ich von einer mit MEHL beschrifteten Dose erwarte, dass sie Mehl enthält, erwarte ich von einer Variable namens vorname, dass darin jemandes Vorname gespeichert wird. Dies gilt umso mehr, weil man in der Regel nicht alleine, sondern im Team an einem Programm arbeitet.

Kleine Anekdote: Als Jugendlicher wollte ich mal für einen Kuchen einen Zuckerguss aus Zitronensaft und Puderzucker anrühren. Das weiße Pulver in der mit "PUDERZUCKER" beschrifteten Dose war aber Kartoffelstärke. Moral: benenne deine Variablen und beschrifte deine Dosen so, dass andere sofort sehen oder wenigstens ahnen können, was darin ist.

In manchen Programmiersprachen haben Variablen feste Datentypen, die festlegen, wie viel Speicher für diese Variable zur Verfügung steht und welche Werte darin gespeichert werden dürfen. Zum Beispiel kann eine Variable vom Typ byte in C nur ganzzahlige Werte zwischen -128 und 127 annehmen. Meine MEHL-Dose hat auch nur ein begrenztes Fassungsvermögen.

Verwendung

Variablen bilden die einfachste Form des "Gedächtnisses" eines Computerprogramms oder Algorithmus. Komplexere Daten, die mehrere Informationen umfassen, müssen mit Datenstrukturen gespeichert werden.

Deklaration

Im AppInventor müssen Variablen deklariert werden, bevor sie verwendet werden können.
Auch in Scratch müssen Variablen vor der Verwendung deklariert werden.

In vielen Programmiersprachen müssen Variablen deklariert werden, bevor sie verwendet werden können. Das heißt, dass ihr Name sowie gegebenenfalls ihr Datentyp oder Informationen über ihre Sichtbarkeit festgehalten werden müssen. Im AppInventor müssen Variablen mit den Blöcken global initialisieren oder lokal initialisieren deklariert werden und können nur dann verwendet werden, wenn diese Blöcke vorhanden sind.

In Sprachen wie Java deklariert man Variablen zum Beispiel so:

int x;
char y;
boolean z;

Das bedeutet: es werden drei Variablen x, y und z angelegt. In x darf nur eine ganze Zahl gespeichert werden, in y nur ein Zeichen und in z nur ein Wahrheitswert. Damit wird zugleich der nötige Speicher für diese Variablen reserviert: 4 Byte für den int, 2 Byte für den char und 1 Bit für den boolean.

Durch die Pflicht zur Deklaration von Variablen kann bereits beim Kompilieren des Programms geprüft werden, ob alle verwendeten Variablen ganz sicher existieren und auch so verwendet werden dürfen, wie es im Programm steht.

Zuweisung und Abfrage

Den Wert einer Variable zu ändern, ist eine Anweisung, da hierdurch der Zustand des Programms verändert wird. Den Wert einer Variable abzufragen, ist hingegen ein Ausdruck, da ein Ergebnis zurückgeliefert wird.

In den visuellen Programmiersprachen werden für Anweisungen und Ausdrücke unterschiedlich geformte Blöcke verwendet. Darum wird auch anhand der Blockform zwischen Zuweisung und Abfrage unterschieden. In Scratch gibt es für die Zuweisung den Block setze [x v] auf () und für die Abfrage die ovalen Blöcke (x) mit den Variablennamen.

Im AppInventor werden die Blöcke AppInventor Setze.svg für die Zuweisung und AppInventor Hole.svg für die Abfrage verwendet.

🏗
Baustelle

Dieser Abschnitt wird gerade von Sn überarbeitet


Weblinks