# Theorie I: Variablen (Arbeitsblatt)

Lesen Sie sich folgende Information durch und schreiben Sie sie in Ihr Heft:

## Variablen

**Variablen** dienen in der Informatik dazu Daten zu verwalten. Eine Variable hat einen Namen und bekommt einen Wert zugewiesen. 
Einer Variable wird ein Wert mithilfe eines Gleichheitszeichens und eines arithmetischen Ausdrucks (ein Ausdruck, der einen Wert hat) zugewiesen. 

Um dies zu verstehen, nutzen wir eine interaktive Konsole.

Geben Sie im Terminal (das ist der Bereich unten in VS Code) das Wort `python` ein und bestätigen Sie mit Enter.

<img src="" width="50%">

Hinweis: Falls kein Terminal unten sichtbar ist, gehen Sie oben in der Menüzeile auf Terminal → New Terminal

Geben Sie dann nacheinander folgende Befehle ein und bestätigen Sie jeweils mit Enter:

1. `3+4`
1. `3+4+x`
1. `x=1`
1. `x`
1. `3+4+x`
1. `x`
1. `x=2*x+1`
1. `x`
1. `3+4+x`
1. `x`

Schauen Sie sich nun die Ausgabe an.

* Analysieren Sie die Fehlermeldung, die zu Zeile 2 gehört.
* Erläutern Sie, warum Zeile 2 kein gültiger arithmetischer Ausdruck ist.
* Geben Sie die Bedeutung von Zeile 3 an.
* Erläutern Sie, weshalb Zeile 5 im Gegensatz zu Zeile 2 ein gültiger arithmetischer Ausdruck ist.
* Geben Sie die Bedeutung von Zeile 7 an.
* Weisen Sie den Variablen `y` und `x` Werte zu, so dass der arithmetische Ausdruck `x+y` den Wert `2` hat und `x-y` den Wert `0`.
* Aus dem Mathematik-Unterricht kennen Sie Gleichungen. Lösen Sie die Gleichung: <img src="img/06-1-gleichung.png" style="display: inline" />
  Erläutern Sie den Unterschied zwischen der Zuweisung `x=-2*x+3` und der Gleichung.

In unserem Spiel werden die Bilder in einem Array gespeichert.

Lesen Sie folgende Information und schreiben Sie sie in Ihr Heft:

## Arrays

**Arrays** (alternativ **Felder**) sind Listen, in denen mehrere Werte gleichen Typs gespeichert werden können. 
In Python werden Arrays mit `[ ]` gekennzeichnet.

Bearbeiten Sie dann folgende Aufgaben:

1. Geben Sie Folgendes in die Konsole ein: `a=[7,5,9]`. Geben Sie an, welche Werte in dem Array gespeichert sind. (Hinweis: Wenn unklar ist, wie sie die Zeichen `[` und `]` eingeben, melden Sie sich!)
1. Geben Sie `print(a)` ein. Geben Sie an, was nach der Anweisung `print(a)` passiert.
1. Geben Sie `a[0]` ein, geben Sie `a[1]` ein, geben Sie `a[2]` ein.
1. Geben Sie an, was mit `a[i]` abgerufen werden kann.
1. Geben Sie `a[1]=2` ein und dann `a`.
1. Geben Sie `len(a)` ein. Geben Sie an, was mit `len(a)` abgerufen werden kann.

Ein Array kann als Werte auch wiederum Arrays haben.
Beispiel: `[[11,12,13], [21,22,23], [31,32,33]]`.

Geben Sie zunächst durch Überlegen an, welcher Wert sich jeweils hinter den Ausdrücken `a[0][0]`, `a[1][0]` und `a[2][2]` versteckt. Testen Sie Ihre Überlegung dann, indem Sie den jeweiligen Ausdruck in die Konsole eingeben.

Gehen Sie dann zurück in Ihr Spiel. Finden Sie heraus, wie das Spielfeld aufgebaut ist.