Was dieses Buch unter „programmieren“ versteht.- Worauf ein angehender Programmierer achten muss.- Wie dieses Buch zu benutzen ist.- Bei Fragen und Kommentaren.- 1. Grundlagen der Programmierung.- 1.1 Der Begriff des Algorithmus.- 1.1.1 Addition als einführendes Beispiel.- 1.1.2 Grundschritte von Algorithmen.- 1.1.3 Veranschaulichung von Algorithmen durch Flussdiagramme.- 1.2 Elementarer Rechneraufbau.- 1.2.1 Der Prozessor.- 1.2.1 Der Hauptspeicher.- 1.2.3 Die CPU und ihre Maschinensprache.- 1.2.4 Eingabe und Ausgabe.- 1.3 Daten und Operationen auf Daten.- 1.3.1 Nicht negative ganze Zahlen.- 1.3.2 Negative ganze Zahlen.- 1.3.3Zahlen mit Nachkommastellen.- 1.3.4 Zeichen und Texte.- 1.3.5 Wahrheitswerte.- 1.3.6 Die Universalität der binären Kodierung.- 1.4 Assembler.- 1.5 Höhere Programmiersprachen.- 1.5.1 Übersetzung von Hochsprachen.- 1.5.2 Syntax und Semantik.- 1.5.3 Einteilung der Programmiersprachen.- 1.5.4 Sprachelemente imperativ-prozeduraler Sprachen.- 1.6 Grundlegende Programme.- 1.6.1 Das Betriebssystem.- 1.6.2 Der Kommandozeilen-Interpreter.- 1.6.3 Editoren.- 1.6.4 Compiler, Assembler, Linker, Lader.- 1.6.5 Interpreter.- Literaturhinweise.- 2. Einfache Programme.- 2.1 Grundlegende Elemente von Programmen.- 2.1.1 „Hallo Welt!“: Das allererste Programm.- 2.1.2 Variable und konstante Objekte.- 2.1.3 Konstanten und Literale.- 2.1.4 Skalare Variablen und Zuweisungen.- 2.1.5 Einfache Ausdrücke.- 2.1.6 Eingabe von skalaren Variablen.- 2.1.7 Benutzung von eingebauten Funktionen.- 2.2 Bedingte Anweisungen.- 2.2.1 Die einfache bedingte Anweisung.- 2.2.2 Bedingungen.- 2.2.3 Die bedingte Anweisung mit sonst-Teil.- 2.3.4 Die bedingte Anweisung mit Mehrfachverzweigung.- 2.3.5 Schachtelung von Blöcken.- 2.2.6 Ausdrücke und ihre Auswertung.- 2.2.7 Wahrheitswerte.- 2.2.8 Arithmetische und lexikographische Vergleiche.- 2.2.9 Logische Operatoren.- 2.2.10 Übersicht über die Operatoren von Perl.- 2.2.11 Testen von Variablen auf Definiertheit.- 2.3 Schleifen.- 2.3.1 Die kopf gesteuerte Schleife (while-Schleife).- 2.3.2 Die Zählschleife (for-Schleife).- 2.3.3 Bedingte Anweisungen in Schleifen.- 2.3.4 Schleifen in Schleifen.- 2.3.5 Durchforsten der Standardeingabe.- 2.4 Arrays.- 2.4.1 Arrays im Gegensatz zu Listen.- 2.4.2 Initialisierung von Arrays und Zugriff auf einzelne Elemente.- 2.4.3 Füllen und Durchwandern von Arrays.- 2.4.4 Suchen in Arrays.- 2.4.5 Ein einfacher Sortieralgorithmus.- 2.4.6 Turing-Maschinen und Berechenbarkeit.- Literaturhinweise.- 3. Fortgeschrittenes Programmieren.- 3.1 Hashes.- 3.2 Weitere Kontrollstrukturen.- 3.2.1 Die fußgesteuerte Schleife (do-while-Schleife).- 3.2.2 Die foreach-Schleife.- 3.2.3 Schleifensprünge und der (nicht zu empfehlende) Gebrauch von Labels.- 3.3 Unterprogramme.- 3.3.1 Eine einfache Funktion.- 3.3.2 Lokale Variablen.- 3.3.3 Argumentenübergabe an Funktionen.- 3.3.4 Eine Prozedur.- 3.3.5 Verschachtelte Funktionsaufrufe.- 3.4 Systematische Fehlersuche.- 3.4.1 Syntaktische Fehler.- 3.4.2 Semantische Fehler.- 3.5 Ein- und Ausgabe.- 3.5.1 Kommandozeilen-Argumente.- 3.5.2 Öffnen von Dateien zum zeilen weisen Lesen und Schreiben.- 3.5.3 Lesen von Verzeichnissen.- 3.5.4 Dateitest-Operatoren.- 3.5.5 Datei-Operationen.- 3.5.6 Formatierte Ausgabe mit printf.- 3.5.7 Binärdateien.- 3.6 Rekursive Funktionen.- 3.6.1 Rekursive Größen in der Mathematik.- 3.6.2 Rekursive Funktionen in der Informatik.- 3.6.3 Sortieren durch Mischen (Mergesort).- Literaturhinweise.- 4. Elemente anspruchsvoller Programme.- 4.1 Referenzen und Zeiger.- 4.4.1 Referenzwerte.- 4.4.2 Referenzieren und Dereferenzieren in Perl.- 4.4.3 Klassische Anwendungsbeispiele für Referenzen.- 4.2 Manipulation einzelner Bits.- 4.2.1 Bitweise Operatoren.- 4.2.2 Bitweise Schiebe-Operatoren.- 4.3 Reguläre Ausdrücke.- 4.3.1 Formale Sprachen.- 4.3.2 Reguläre Ausdrücke und reguläre Sprachen.- 4.3.3 Endliche Automaten.- 4.3.4 Reguläre Ausdrücke in Perl.- 4.3.5 Mustererkennung und Musterersetzung.- 4.4 Zufallszahlen.- 4.5 Elementare Datenstrukturen.- 4.5.1 Arrays und Hashes im Vergleich.- 4.5.2 Verbundtypen.- 4.5.3 Zwei- und mehrdimensionale Arrays.- 4.5.4 Verkettete Listen.- 4.5.5 Stapel.- 4.5.6 Schlangen.- 4.5.7 Bäume.- 4.6 Benchmarking und Profiling.- 4.7 Bibliotheken.- 4.7.1 Wiederverwendung von Code.- 4.7.2 Selbst geschriebene Module in Perl.- 4.7.3 Vordefinierte Module in Perl.- Literaturhinweise.- 5. Lösungen zu ausgewählten Übungen.- 5.1 Lösungen zu Übungen aus Kapitel 1.- 5.2 Lösungen zu Übungen aus Kapitel 2.- 5.3 Lösungen zu Übungen aus Kapitel 3.- 5.4 Lösungen zu Übungen aus Kapitel 4.- A. Installation von Perl.- A.1 Bezugsquellen.- A.2 Installation.- A.2.1 Vorkompilierte Binaries.- A.2.2 Perl selbst kompilieren.- A.3 Eine UNIX-Umgebung für MS-Windows.- B. Dokumentation zu Perl.- B. 1 Online-Dokumentation.- B.l.l Die Manualseiten.- B.1.2 Informationen aus dem Internet.- B.2 Dokumentation in gedruckter Form.- C. Installation der Kursunterlagen.- C.1 Bezugsquellen.- C.2 Installation.- Abbildungsverzeichnis.- Tabellenverzeichnis.