Python. Der Sprachkurs für Einsteiger und Individualisten. Willemer Arnold V.
Чтение книги онлайн.
Читать онлайн книгу Python. Der Sprachkurs für Einsteiger und Individualisten - Willemer Arnold V. страница 3
Sie sehen, dass die Abfrage in die Schleife eingebaut wurde. Diese Art der Kombination der Programmierelemente ist zunächst vielleicht verwirrend, aber bei längerem Nachdenken logisch. Diese Art, Aufgaben zu formalisieren, damit der Computer es versteht, ist die Aufgabe eines Programmierers.
Der Vollständigkeit halber zeige ich Ihnen, wie das Programm aussieht, das aus dem Algorithmus hervorgeht. Vielleicht werden Sie die Befehle nicht verstehen. Keine Sorge, die werden in den nächsten Kapiteln im Detail erläutert. Wichtig ist nur, dass Sie sehen, wie sich aus dem Algorithmus das fertige Programm entwickelt.
Einlage = 1000
Jahr = 1
while Jahr <= 7:
if Jahr < 3:
Einlage = Einlage + Einlage * 0.06
if Jahr >= 3:
Einlage = Einlage + Einlage * 0.09
Jahr = Jahr + 1
print(Einlage)
Listing 1.3 Sparbriefe
Tatsächlich kann der Computer gar nicht viel mehr als Abläufe, Abfragen und Schleifen. Programmiersprachen kommen nur deshalb nicht mit fünf Befehlen aus, weil es noch einige Mechanismen gibt, die dem Programmierer helfen, Programmteile zu strukturieren, um sie mehrfach verwenden zu können.
Wenn Computer und Menschen über Zahlen reden, meinen sie nicht ganz dasselbe. Der Mensch verwendet das Dezimalsystem, vermutlich, weil er zehn Finger hat. Computer dagegen kennen nur zwei Zustände. Entweder es ist Strom auf der Leitung oder nicht. Aber genauso wie die meisten Menschen mit größeren Zahlen als 10 umgehen können, kann auch der Computer nicht nur bis 2 zählen. Durch das Verwenden mehrerer Stellen können beinahe beliebige Zahlen dargestellt werden, ob im Zehner- oder im Binärsystem.
In den meisten Fällen kann es Ihnen egal sein, wie Ihr Computer seine Zahlen intern darstellt. Ich will Sie damit auch gar nicht länger belästigen. Aber Sie werden feststellen, dass die 2 und ihre Potenzen magische Zahlen für Computer sind. Acht Stellen sind ein Byte. Und da 28 256 ist, können darin 256 Zustände abgespeichert werden. Ein Kilobyte sind 1024 Byte, weil 1024 210 sind. Zur leichteren Unterscheidung vom Kilo Zucker wird das Kilo für Bytes mit einem großen K abgekürzt.
Die unterschiedlichen Codierungen haben für die Nachkommazahlen fatale Folgen. Sie kennen vielleicht das Ergebnis, wenn Sie in Ihrem Taschenrechner 1 durch 3 teilen. Das erwartete Drittel erscheint als eine endlose Kolonne von Dreien hinter der 0 vor dem Komma. Multiplizieren Sie diese Zahl dann mit 3, werden die meisten Taschenrechner spontan eine Reihe von Neunen auf dem Display haben. Wenn das ein Außerirdischer sähe, der mit drei Fingern geboren ist, würde er sehr verblüfft sein. Denn vermutlich hätte er ein Zahlensystem, das auf der 3 basiert, und kann sich nicht vorstellen, dass ein Drittel mal 3 irgendetwas anderes als 1 ergibt. Und ganz ähnlich geht es dem Computer mit dem menschlichen Zehntel, das binär codiert ebenfalls ein endloser Bruch ist.
Spicker
Für den Computer mit seinen zwei Ziffern ist ein Zehntel ein richtig fieser endloser Bruch. Dadurch kommt der Computer beim Rechnen mit Dezimalstellen manchmal zu unsauberen Ergebnissen.
Der Computer und seine Texte
Der Computer speichert die Buchstaben natürlich auch in Bytes, die wie erwähnt 256 Zustände kennen. Die englischen Buchstaben umfassen 26 Zeichen. Hinzu kommen die Großbuchstaben und die zehn Ziffern. Das sind also 62 verschiedene Zeichen. Wenn noch ein paar Satzzeichen wie Punkt, Komma und Fragezeichen hinzukommen, sind es schnell mehr als 64 Zeichen, so dass 6 Bits für die Aufnahme aller Zeichen nicht ausreichen. Darum wurden zunächst 7 Bits verwendet, die einen Zeichenvorrat von 128 ermöglichen. Das letzte Bit wurde erst einmal auf 0 belassen. Diese Codierung wurde als ASCII-Zeichensatz (American Standard Code for Information Interchange) genormt.
Wenn Sie dieses Buch lesen, werden Sie vermutlich die deutsche Sprache verwenden und ahnen, dass die Amerikaner beim ASCII nicht viel Aufwand um die Umlaute getrieben haben. Darum wird das Thema wiederkommen.
Spicker
Buchstaben sind aus Sicht des Computers durchnummeriert. Erst bei der Ausgabe werden aus den Zahlen dann Buchstaben. Da aber Buchstaben für uns Menschen so wichtig sind, werden Buchstaben von Computersprachen besonders behandelt.
>Entgegen anderslautenden Gerüchten verstehen Computer uns Menschen gar nicht. Das Herz des Computers, oder besser das Gehirn des Computers, ist der Prozessor, der auch gern CPU (Central Processing Unit) genannt wird. Dieser Prozessor kennt eine übersichtliche Zahl von Befehlen, die einfach durchnummeriert sind. Hinter jedem Befehl steht, mit welcher Adresse oder Wert gearbeitet werden soll, und auch das ist nichts als eine Zahl. Solch einen Zahlensalat kann sich aber kein Mensch merken.
Um dieses gegenseitige Unverständnis zu überbrücken, sind Programmiersprachen entstanden, die etwas dichter an die Vorstellung des Menschen gerückt sind. Ihre Befehle bestehen aus englischen Wörtern. Damit sie auch der Computer versteht, müssen sie in seine Zahlenbefehle übersetzt werden. Dazu gibt es zwei Techniken:
• Ein Compiler ist ein Übersetzer, der wie ein Übersetzungsbüro arbeitet. Er nimmt den gesamten Text und übersetzt ihn einmal in die Zielsprache des Computers. Der führt die Übersetzung dann direkt aus. Zur Ausführung des Programms wird dann weder der Originaltext noch der Compiler benötigt.
• Ein Interpreter übersetzt den Programmtext wie ein Simultandolmetscher. Er liest den Text dem Computer quasi vor und der führt die Befehle quasi parallel aus. Bei jedem Neustart des Programms werden der Interpreter und der Originaltext benötigt.
Alles so englisch hier!
Ja, die Computerei ist voller Anglizismen. Die Befehle sind englisch, die Bezeichnungen sind englisch, selbst das Wort Computer ist englisch. Wenn Ihr Englisch nicht so toll ist, muss Sie dies nicht beunruhigen. Sie müssen genauso wenig Englisch lernen wie Ihr Apotheker Latein. Denn obwohl die meisten Präparate in der Apotheke lateinische Namen tragen, wird sich Ihr Apotheker schwertun, Julius Caesars Schriften über den gallischen Krieg im Original zu lesen. Und wozu auch? Seit Gründung der Europäischen Gemeinschaft hat es keine kriegerischen Auseinandersetzungen zwischen Franzosen und Italienern mehr gegeben, wenn wir mal von den Stadienkämpfen während der verschiedenen Fußballturniere absehen.
Viele Computerbegriffe sind längst übersetzt, sodass man sich damit nicht wehtut. Ein paar angelsächsische Besonderheiten sollten Sie aber im Hinterkopf behalten.
1. Das Dezimalkomma bei Zahlen ist ein Punkt. Wenn im Programm eine 1.2 steht, ist damit eine deutsche 1,2 gemeint.
2. Beim Datum nennen die Amerikaner den Monat vor dem Tag.
3. Die Amerikaner können sich nicht vorstellen, wozu jemand Umlaute gebrauchen kann, der kein Fan von Heavy Metal ist.
Aber das sind keine Gründe, ein Anglistik-Studium als Voraussetzung für das Erlernen einer Programmiersprache anzusehen.
Kapitel 2 Annäherung an Python
Inhalt
• Python als einfacher, aber mächtiger Einstieg in die Programmierung