DU LERNST HIER... |
den wichtigen Begriff der Variablen kennen. Darunter versteht man in der Informatik Namen, die als Platzhalter für Werte dienen, die sich im Laufe der Programmausführung ändern können. |
MUSTERBEISPIELE |
from gturtle import * makeTurtle() fillToPoint() n = 7 repeat n: forward(100) right(360 / n) Du kannst jetzt leicht auch beliebige andere n-Ecks zeichnen. Mache dies für ein paar andere Werte von n. Im Gegensatz zur Mathematik kann der Variablenname, auch Variablenbezeichner genannt, aus einem ganzen Wort bestehen. Bei der Wahl des Namen hältst du dich an die gleichen Regeln wie bei der Wahl von Funktionsnamen.
|
MERKE DIR... |
Eine Variable entsteht dann, wenn du ihr mit dem Gleichheitszeichen einen Wert zuweist. Du kannst ihren Wert jederzeit durch eine neue Zuweisung ändern und dabei sogar ihren eigenen (alten) Wert gebrauchen. Du darfst die dabei verwendete Schreibweise nicht mit einer mathematischen Gleichung verwechseln. Die Programmanweisung: n = n + 1 hat nichts mit einer mathematischen Gleichung zu tun, also mit der Aufgabe, n so zu bestimmen, dass sich links und rechts von Gleichheitszeichen derselbe Wert ergibt. Für n = n + 1 gibt es noch die Kurzschreibweise n += 1 , die genau das Gleiche macht. |
ZUM SELBST LÖSEN |
|
Der Variablenbegriff ist von grundlegender Bedeutung, aber ein didaktisches Minenfeld, insbesondere im Zusammenhang mit Basistypen und Referenztypen/Zeiger.
Es gibt im Wesentlichen drei verschiedene methodische Ansätze:
Low-Level-Modell | Vorteile | Nachteile |
Eine Variable wird wie im Maschinecode/Assembler als ein reservierter Hauptspeicherplatz angesehen, der über seine Adresse angesprochen wird |
Anschaulicher Bezug zur Maschinenstruktur |
Adressen sind zwar im Assembler, C/C++ und anderen Programmiersprachen mit Zeigern (Pointer) wichtig, spielen aber in in der Praxis bei vielen anderen Programmiersprachen nur noch eine untergeordnete Rolle oder sind sogar verpönt |
Boxmetapher | Vorteile | Nachteile |
Eine Variable wird als eine Box- (oder Schublade) aufgefasst, die mit einem Namen angeschrieben ist und in der sich der Wert befindet
|
Eine Variable wird als eine Box- (oder Schublade) aufgefasst, die mit einem Namen angeschrieben ist und in der sich der Wert befindet |
Die Box kann auch leer sein, eine Variable hat aber immer einen Wert.
Die Box kann auch mehrere Dinge enthalten, eine Variable aber nicht.
Das Boxmetapher ist für Python falsch, da eine Variable hier immer eine Referenz auf ein Objekt ist (auch für Zahlen) |
Pragmatischer Ansatz | Vorteile | Nachteile |
Variablen sind Bezeichner für einen Wert, der verändert werden kann. Es gibt also einen Bezug oder eine Verbindung (engl. bindung) zwischen dem Namen (Alias) und ihrem Wert (der irgendein Datentyp sein kann) |
Der Ansatz entspricht der intuitiven Auffassung von Namen: "Hans ist ein Bezeichner für eine Person". Man "verliert" keine Zeit mit problematischen Erklärungen |
Man bleibt vage, was die Implementierung der Variablen (das Speichermodell) angeht |
Wir folgen in diesem Lehrmittel dem pragmatischen Ansatz.
Für weitere Gedanken zum Variablenbegriff in Python siehe:
www.tigerjython.ch