Exkurs - Datentypen
Datentypen
Zu verarbeitende Daten können von ganz unterschiedlichem Typ sein, z. B. Zahlen, mit denen man rechnen kann, oder Wahrheitswerte, die man mit logischen Operatoren verknüpfen kann.
Ein Datentyp beschreibt eine Menge von Datenobjekten, die alle die gleiche Struktur haben und mit denen die gleichen Operationen ausgeführt werden können.
Die Verwendung verschiedener Datentypen soll anhand eines einfachen Beispiels verdeutlicht werden.
Problem: Abstand zum Bau bestimmen
Kara befindet sich in einiger Entfernung vor dem Eingang des Baus. Kara soll zum Eingang des Baus laufen und sich im Eingang genau so oft drehen, wie Schritte zum Erreichen des Baus erforderlich sind.
Beispiel: Karawelt - vorher / nachher:
Lösungen mit Variablen
Das folgende Programm zeigt eine Lösung, in der eine Zählvariable abstand
und eine
Hilfsvariable ergebnis
vorkommen.
# Unterprogramm def imEingang(): if kara.treeLeft() and kara.treeRight(): ergebnis = True else: ergebnis = False return ergebnis def drehen(): kara.turnLeft() kara.turnLeft() kara.turnLeft() kara.turnLeft() # Hauptprogramm abstand = 0 while not imEingang(): kara.move() abstand = abstand + 1 while abstand > 0: drehen() abstand = abstand - 1
Beachte, dass die Variable abstand
hier Zahlen und die Variable ergebnis
Wahrheitswerte verwaltet.
Das folgende Programm zeigt eine weitere Lösung, die neben der Variablen abstand
eine Variable gefunden
benutzt.
# Hauptprogramm if kara.treeLeft() and kara.treeRight(): gefunden = True else: gefunden = False abstand = 0 while not gefunden: kara.move() abstand = abstand + 1 if kara.treeLeft() and kara.treeRight(): gefunden = True else: gefunden = False while abstand > 0: kara.turnLeft() kara.turnLeft() kara.turnLeft() kara.turnLeft() abstand = abstand - 1
Die beiden Variablen abstand
und gefunden
verwalten hier unterschiedliche
Sorten von Daten. Während die Variable abstand
Zahlen (genauer: ganze Zahlen) verwaltet,
verwaltet die Variable gefunden
Wahrheitswerte.
Datentypen spielen beim Programmieren eine wichtige Rolle. In den weiteren Kapiteln wird sich das immer wieder zeigen.