Hessischer Bildungsserver / Lernpfad Variablen

Lernpfad Variablen

Variablen in der Informatik

In diesem Lernpfad wird es um die folgenden Fragen gehen:

  • Was ist eine Variable in der Informatik?
  • Wozu braucht man Variablen?
  • Wie verwendet man Variablen?

Dies wird allgemein und am Beispiel der Programmiersprachen VBA und Python erläutert.

Anhand kleiner Selbsttests kannst Du Dein Verständnis überprüfen.

So arbeitest Du mit diesem Lernpfad

Die Reiter leiten Dich durch den Lernpfad:

  1. Grundlagen: Das EVA-Prinzip
  2. Variablen: Kommoden-Metapher
  3. Variablen Check: eine Multiple-Choice-Übung
  4. Variablen und Datentypen: Variablen und ihre Inhalte
  5. Variablen in VBA oder Variablen in Python: entscheide, mit welcher Sprache Du arbeiten möchtest
  6. Abschluss-Check 1: eine Zuordnungsübung
  7. Abschluss-Check 2: eine Multiple-Choice-Übung
  8. Aubsblick: Wie Du weiterarbeiten kannst

Das EVA Prinzip

Wenn Du programmierst, dann bist Du bestimmt bereits dem EVA-Prinzip in der Informatik begegnet.

EVA steht für Eingabe-Verarbeitung-Ausgabe.

Bei einer einfachen Operation auf dem Taschenrechner kannst Du Dir das schon vorstellen:

Eingabe

z. B. 3 + 4

Verarbeitung:

Der Rechner muss jetzt die Addition als Rechenoperation mit den eingegebenen Zahlen durchführen. Wie das im Rechner genau vonstatten geht, darüber machen wir uns i. d. R. keine Gedanken.

Ausgabe:

7

Damit der Taschenrechner die Operation ausführen kann, muss er sich die Werte, die Du berechnen willst merken. Hier kommen die Variablen ins Spiel. Die Variablen sind sozusagen Behälter, in denen die Werte gespeichert werden. Variabel bedeutet "veränderlich". Der Behälter kann also unterschiedliche Werte annehmen.

In der folgenden Einheit Variablen stellen wir uns den Speicherbereich erst einmal ganz einfach als Kommode vor.

Danach schauen wir uns an, wie man in VBA und in Python mit Variablen arbeitet. Dabei kannst Du Dir aussuchen, mit welcher Programmiersprache Du lieber arbeiten möchtest. Die Prinzipien kannst Du auf andere Programmiersprachen übertragen, die Syntax unterscheidet sich aber.

 

 

Variablen

Wie im Abschnitt Grundlagen angekündigt, stellen wir uns den Speicherbereich eines Rechners vereinfacht als Kommode oder als Briefkästen vor.

Kommodenmetapher

Die verschiedenen Schubladen der Kommode haben eindeutige Adressen (so wie Dein Briefkasten auch). Diese Adressen haben im Rechner aber kryptische Bezeichnungen, die für die Maschine gut geeignet sind.

Wir Menschen können uns besser Wörter merken. Daher haben wir mit Variablen die Möglichkeit, der Adresse einen Namen zuzuweisen. Stell Dir vor, auf Deinem Briefkasten stünde BK102323, dann klebst Du Deinen Namen darüber und das ganze ist für die Post eindeutig, sofern es niemanden im Haus gibt, der genau denselben Namen hat wie Du. Dann müsstet Ihr Euch eine Unterscheidung überlegen, indem Du z. B. Deinen Vornamen noch mit angibst. Sobald Du den Briefkasten eindeutig beschriftet hast, wird der Inhalt, der für diesen Kasten bestimmt ist, genau in diesem Kasten abgelegt.

So ist das auch bei Variablen. In der Abbildung ist der kryptischen Speicheradresse der Variablen-Name zahl1 zugeordnet. Dort soll die erste Zahl abgelegt werden. In unserem Beispiel war das die 3.

In der 2. Schublade wird die zahl2 abgelegt. In unserem Beispiel war das die 4.

Nach der Berechnung (3 + 4) möchten wir, dass das Ergebnis in der Schublade mit dem Aufkleber ergebnis abgelegt wird.

Den Auslese- und Speichervorgang kann man sich so vorstellen, dass der Rechner die Schublade öffnet, nachsieht bzw. den Wert herausnimmt und damit arbeitet. Dann legt er diesen Wert wieder zurück und schließt die Schublade. Es besteht aber auch die Möglichkeit, den Wert in der Schublade durch einen anderen Wert zu ersetzen (variabel = veränderlich).

Hier wird der Vorgang einmal mit Hilfe von Pseudocode verdeutlicht:

Reserviere GanzeZahl zahl1 (Reserviere Speicherplatz mit dem Namen zahl1 für eine ganze Zahl)

Reserviere GanzeZahl zahl2 (Reserviere Speicherplatz mit dem Namen zahl2 für eine ganze Zahl)

Reserviere GanzeZahl ergebnis (Reserviere Speicherplatz mit dem Namen ergebnis für eine ganze Zahl)

zahl1 = 3   (Weise den Wert 3 diesem Speicherplatz zu, Zuweisung von rechts nach links)

zahl2 = 4   (Weise den Wert 4 diesem Speicherplatz zu, Zuweisung von rechts nach links)

ergebnis = 3 + 4 (Weise das Ergebnis der Berechung aus 3 + 4 diesem Speicherplatz zu, von rechts nach links)

 

Regeln für die Benennung von Variablen

Beim Programmieren arbeitest Du mit sehr vielen Variablen. Daher ist es wichtig, dass Du sie sinngebend benennst, um immer zu wissen, was inhaltlich in den Schubladen abgelegt ist.

schlecht: var1, var2, ...., var50

gut: summand1, summand2, summe

Generell gilt:

  • Variablennamen beginnen mit einem Buchstaben a-z oder mit einem Unterstrich _.
  • In Variablennamen dürfen keine Leerzeichen, Umlaute, und bestimmte Sonderzeichen ($, @, ., !, #) enthalten und i. d. R. dürfen sie nicht länger als 255 Zeichen sein.

Je nach Sprache oder Unternehmen gibt es Konventionen, sodass man durch einheitliche Benennung den Code besser lesbar macht. Beispiele findest Du zu VBA, Python oder auch ganz allgemein gehalten.

 

Variablen: Grundlagen gecheckt?

Mehrfach-Auswahl

Aufgabe anzeigen/verstecken

Wähle die richtigen Lösungen aus!

Mit welcher Metapher wird im Kapitel Variablen gearbeitet? (!Rechenschieber) (!Kühlschrank) (!Heizungskeller) (Kommode)

Was ist die Funktion einer Variable? (Speicherung eines Wertes) (!Berechnung eines Wertes) (!Zahlen durch Namen zu ersetzen)

Welche Variablennamen sind gültig? (meineZahl1) (!meine Zahl1) (!meine1.Zahl) (meine_zahl1)

Wie wird ein Wert einer Variablen zugewiesen? Welcher Pseudocode passt? (!3 = zahl1) (!variable = zahl1) (zahl1 = 3)

Was ist richtig für die Benennung von Variablen? (!Beginnen immer mit einer Zahl) (!Werden grundsätzlich groß geschrieben) (Beginnen immer mit einem Buchstaben oder einem Unterstrich) (Ein Punkt darf nicht im Namen enthalten sein) (Sollen möglichst sinngebend benannt werden)

.. basiert auf dem Quiz-Skript Framework

Variablen und Datentypen

Variablen können wir uns ganz abstrakt als Behälter vorstellen, in denen wir Werte ablegen (Kommoden- oder Briefkastenmetapher im Reiter Variablen).

Die Größe der Behälter muss zum Inhalt passen. Du kannst Dir das wie bei einer Paketstation vorstellen, an der es unterschiedlich große Fächer gibt.

Bei manchen Programmiersprachen muss oder kann man diese Fächer vorher für den späteren Inhalt reservieren (s. z. B. VBA). Andere Programmiersprachen gucken einfach mal, was kommt und legen dann das Fach fest (s. z. B. Python).

Was für ein Inhalt später in das Fach kommt, wird für die Variablen als Datentyp angegeben. Es wird z. B. unterschieden, ob die Variable Text, eine ganze Zahl oder eine Kommazahl speichern soll. Je nach Inhalt kann man ganz unterschiedliche Rechenoperationen vornehmen, mit einem Text kann man z. B. nicht rechnen, dafür kann man ihn zusammenfügen oder zerlegen.

Wichtige Datentypen für den Anfang sind: Text (String), Ganzzahl (Integer), Gleitkommazahl (Float), Wahr/Falsch (Boolean).

Wenn Du tiefer in die Programmierung einsteigen möchtest, musst Du Dich eingehender mit den Datentypen in VBA oder Datentypen in Python beschäftigen.

Im Folgenden kannst Du Dich entscheiden, ob Du mit VBA (z. B. an Beruflichen Schulen) oder mit Python weiterarbeiten möchtest. Wähle den entsprechenden Reiter im Lernpfad.

Variablen und Datentypen in VBA

Visual Basic for Applications (VBA) steht in der Entwicklungsumgebung von Office-Anwendungen zur Verfügung und kann dort leicht im VBA-Editor ausprobiert werden.

Um die Verwendung von Variablen in VBA zu verdeutlichen, bleiben wir bei dem einfachen Beispiel der Addition zweier Zahlen mit folgendem Code:

(Erläuterung: Das Hochkomma leitet einen Kommentar in VBA ein, der den Code erläutert (grün). Nur der in schwarz dargestellte Code wird ausgeführt.):

'benutzerdefinierte Funktion mit dem Namen meineSumme
Function meineSumme()

   'Deklaration der Variablen

   'Dimensionierung der Variablen summand1 als Ganzzahl
    Dim summand1 As Integer
    'Dimensionierung der Variablen summand2 als Ganzzahl
    Dim summand2 As Integer
    'Dimensionierung der Variablen summe als Ganzzahl
    Dim summe As Integer
    
    'Zuweisung der Werte zu den Variablen (hier Erstzuweisung: Initalisierung)
    summand1 = 3
    summand2 = 4

    'Zuweisung der berechneten Summe an die Variable summe
    summe = summand1 + summand2

    'Rückgabe des Ergebnisses an die Funktion

    meineSumme = summe

End Function

Diese Funktion steht dann in Excel zur Verwendung zur Verfügung und liefert immer das Ergebnis 7.

Dies ist natürlich etwas sinnlos und dient nur der Verdeutlichung, wie Variablen verwendet werden.

Im Beispiel wird nur der Datentyp Integer verwendet. Dieser beschreibt eine ganze Zahl im Wertebereich von -32.768 bis 32.767.

Weitere Datentypen in VBA sind z. B. String für Text, Double für Gleitkommazahlen, Boolean für wahr/falsch, Date für Datum usw.. Mehr Information zu den Datentypen in VBA findest Du im Onlinetutorial.

 

Variablen und Datentypen in Python

Python kannst Du mit Tigerjython ganz einfach online im Browser ausprobieren.

In Python müssen Variablen nicht deklariert werden, d. h. es muss nicht vorher festgelegt werden, welcher Datentyp in der Variablen gespeichert werden soll. Das erkennt Python bei der Initialisierung.

Wir bleiben auch hier bei dem einfachen Beispiel und sehen uns den Code für eine einfache Funktion an, die die Zahlen 3 und 4 addiert:

(Erläuterung: Der Hashtag (#) leitet einen Kommentar in Python ein, der den Code erläutert (grün). Nur der in schwarz dargestellte Code wird ausgeführt.):

#Definition der Funktion mit dem Namen summiere
def summiere():
    #Initialisierung der Variablen summand1 und summand2
    summand1 = 3
    summand2 = 4
    #Initialisierung der Variablen summe durch Berechnung
    summe = summand1 + summand2
    #Die Funktion soll den Inhalt der Variablen summe liefern
    return summe
 #Die Funktion summiere wird in der print-Funktion aufgerufen und ausgeführt
print(summiere())

Auch hier ist das Ergebnis immer 7, da die Variablen immer die Werte 3 und 4 haben. Das ist keine so sinnvolle Funktion, sie dient nur der Verdeutlichung der Verwendung von Variablen.

Weitere Datentypen in Python sind String (Text), Float (Gleitkommazahlen) und Boolean (Wahrheitswerte). Wenn Du Dich weiter mit Programmierung beschäftigen möchtest, dann solltest Du Dich mit den Datentypen in Python näher vertraut machen.

 

Ordne passende Begriffe einander zu!

Zuordnungen

Aufgabe anzeigen/verstecken

Schiebe die Wörter bzw. Bilder in die passende Zeile!
Float Inhalt ist Kommazahl
Integer Inhalt ist ganze Zahl
summand1 = 3 Wertzuweisung
variabel veränderlich
Variablenname summand1
Variable Container
EVA Eingabe-Verarbeitung-Ausgabe
Datentyp Inhaltsangabe für die Variable
Boolean Inhalt ist Wahr/Falsch
String Inhalt ist Text

.. basiert auf dem Quiz-Skript Framework

Prüfe Dein Verständnis

Mehrfach-Auswahl

Aufgabe anzeigen/verstecken

Wähle die richtigen Lösungen aus!

Wofür braucht man Variablen in der Programmierung? (speichern von Werten) (!gar nicht) (!um den Code zu verstehen)

Welcher Begriff beschreibt am ehesten, was ein Datentyp ist? (Inhaltsangabe einer Variablen) (!eine Zahl) (!eine Zuweisung)

Was versteht man unter einer Zuweisung? (ein Wert wird an eine Variable übergeben) (!ein Wert wird berechnet) (!einer Variablen wird ein Datentyp zugewiesen)

Welche Zuweisung ist richtig? (!3 = summand1) (!Int summand1) (summand1 = 3)

 

 

.. basiert auf dem Quiz-Skript Framework

Wie geht es weiter?

Du hast an einem einfachen Beispiel gelernt, wofür man Variablen in der Programmierung braucht und wie man sie verwendet.

Die Beispiele waren sehr einfach und für die Berechnung von 3 + 4 brauchst Du bestimmt kein Programm. Du könntest Dich jetzt aber der Fragestellung widmen, wie Du die Funktion in VBA oder Python so anpassen kannst, dass Du beliebige Zahlen eingeben kannst und als Ergebnis deren Summe erhältst.

Dazu benötigst Du eine Eingabefunktion und die eingegebenen Werte müssen Deiner Summenfunktion als Parameter übergeben werden.

Hier wird dies als Pseudocode verdeutlicht:

#Funktion mit Parameterübergabe (für: Python, VBA)

function meineSumme(zahl1, zahl2){

     summand1 = zahl1

     summand2 = zahl2

     summe = summand1 + summand2

    return summe

}

#Eingabefunktion (für: Python, VBA)

eingabe1 = userInput()

eingabe2 = userInput()

#Aufruf der Funktion mit Übergabe von Parametern

print(meineSumme(eingabe1, eingabe2))

 

Informationen für Lehrkräfte zu diesem Lernpfad