
×
Inhaltsverzeichnis
- 1 Bedienung des Turbo Pascal Systems über Menü-Befehle.
- 2 Befehlsübersicht.
- 2.1 Standard-Units von Turbo Pascal.
- 2.2 Compiler-Befehle.
- 2.3 Vordefinierte Bezeichner.
- 3 Programmierkurs mit Turbo Pascal — Aufbaukurs.
- 3.1 Set (Menge) als strukturierter Datentyp.
- 3.1.1 Überblick.
- 3.1.2 Mengen-Vereinbarung und Elementprüfung.
- 3.1.3 Wertzuweisungen.
- 3.1.4 Operationen auf Mengen.
- 3.1.5 Vereinfachung von Abfragen mit IN.
- 3.2 Record (Verbund) als strukturierter Datentyp.
- 3.2.1 Überblick.
- 3.2.2 Record als Verbund von Daten verschiedener Typen.
- 3.2.2.1 Zugriff auf den Record als Einheit.
- 3.2.2.2 Zugriff auf den Record komponentenweise.
- 3.2.2.3 Qualifizierung und Indizierung.
- 3.2.2.4 Explizite und implizite Typvereinbarung.
- 3.2.3 Vereinfachte Verarbeitung von Records.
- 3.2.3.1 Record als typisierte Konstante.
- 3.2.3.2 Zugriff auf Komponenten mit WITH.
- 3.2.4 Verwendung von Varianten.
- 3.2.5 Schachtelung von Datenstrukturen mit Records.
- 3.2.5.1 Record mit Records als Komponenten.
- 3.2.5.2 Array mit Records als Komponenten.
- 3.2.5.3 Array aus Records aus Arrays.
- 3.3 File (Datei) als strukturierter Datentyp.
- 3.3.1 Überblick.
- 3.3.2 Datei mit Datensätzen fester Länge als Komponenten.
- 3.3.2.1 Datei öffnen, beschreiben und schließen.
- 3.3.2.2 Alle Datensätze aus einer Datei lesen.
- 3.3.2.3 Einsatz der Datei-Standardfunktionen.
- 3.3.3 Textdatei mit Zeilen variabler Länge als Komponenten.
- 3.3.3.1 Datensatz-Datei und Textdatei.
- 3.3.3.2 Zeichen in eine Textdatei schreiben.
- 3.3.3.3 Eine Textdatei zeilenweise lesen.
- 3.3.3.4 Eine Textdatei zeichenweise lesen.
- 3.3.3.5 Steuerzeichen in der Textdatei ablegen.
- 3.3.3.6 Zur Kompatibilität von Dateitypen.
- 3.3.4 Externe Geräte als besondere Textdateien.
- 3.3.4.1 Ausgabe auf den Drucker Lst leiten.
- 3.3.4.2 Monitor Trm anstelle Console Con aktivieren.
- 3.3.4.3 Eingabeanforderung über Kbd als Tastatur.
- 3.3.4.4 Funktionen EoF und EoLn.
- 3.3.5 Nicht-typisierte Dateien.
- 3.3.5.1 Datei löschen und umbenennen mit Erase und Rename.
- 3.3.5.2 Fehlerbehandlung mit Funktion IOResult.
- 3.3.5.3 Blockweises Übertragen mit Blockread und BlockWrite.
- 3.4 Pointer (Zeiger) für dynamische Datentypen.
- 3.4.1 Überblick.
- 3.4.2 Dynamisch erzeugte Variablen verarbeiten.
- 3.4.2.1 Einführungsbeispiel.
- 3.4.2.2 Zusammenfassung: Zeigervariable und Bezugsvariable.
- 3.4.3 Dynamische Variablen auf Heap speichern.
- 3.4.3.1 Kontrolle des Heapzeigers mit HeapPtr.
- 3.4.3.2 Platz auf dem Heap freimachen.
- 3.4.4 Records gemäß LIFO-Prinzip als Liste verketten.
- 3.4.5 Records gemäß FIFO-Prinzip als Liste verketten.
- 3.4.5.1 LIFO (Keller) und FIFO (Schlange).
- 3.4.5.2 Liste in drei Schritten verarbeiten.
- 3.4.5.3 Alternative Verwaltung einer Schlange.
- 3.4.6 Externe und interne Folgen.
- 3.5 Rekursive Abläufe.
- 3.5.1 Überblick.
- 3.5.2 Rekursion als Wiederholen durch Schachteln.
- 3.5.2.1 Eine Prozedur ruft sich wiederholt auf.
- 3.5.2.2 Heap und Rekursion-Stack als LIFO-Stapel.
- 3.5.2.3 Grafische Darstellung der Rekursion.
- 3.5.3 Rekursion und Iteration.
- 3.5.3.1 Summenbildung.
- 3.5.3.2 Fakultät.
- 3.5.4 Anwendungen zur direkten Rekursion.
- 3.5.4.1 Prozedur wahlweise rekursiv aufrufen.
- 3.5.4.2 Test zu den vordefinierten Zeigervariablen.
- 3.5.4.3 Verwendung der Rekursion zum Zählen.
- 3.5.4.4 Fibonacci-Zahlen.
- 3.5.4.5 FORWARD-Vereinbarung zur indirekten Rekursion.
- 3.6 Programmorganisation.
- 3.6.1 Prozedurtypen und Prozedurvariablen.
- 3.6.1.1 Zwei Funktionen über eine Prozedurvariable aufrufen.
- 3.6.1.2 Vektor von Prozedurtypen.
- 3.6.1.3 Prozedurvariable mit Adresse einer Routine.
- 3.6.2 Prozedurtypen in Units und Overlays.
- 3.7 Suchen, Sortieren, Mischen und Gruppieren von Daten.
- 3.7.1 Überblick.
- 3.7.2 Suchen.
- 3.7.3 Sortieren.
- 3.7.3.1 Zahlen unmittelbar sortieren.
- 3.7.3.2 Zahlen über Zeiger sortieren.
- 3.7.3.3 Strings unmittelbar sortieren.
- 3.7.4 Mischen von Arrays.
- 3.7.5 Gruppieren von Daten (Gruppenwechsel).
- 3.7.6 Bubble Sort.
- 3.7.7 ShakeSort.
- 3.7.8 Sortieren durch Einfügen.
- 3.7.8.1 Einfügen mit seriellem Suchen.
- 3.7.8.2 Einfügen mit binärem Suchen.
- 3.7.9 Quick Sort.
- 3.7.10 Sortieren durch Mischen.
- 3.7.10.1 Mischen von zwei vorsortierten Dateien.
- 3.7.10.2 Sortieren einer Datei durch Mischen.
- 3.7.10.3 Testen des Mischvorganges.
- 3.8 Sequentielle Dateiorganisation.
- 3.8.1 Dateiweiser Datenverkehr.
- 3.8.2 Datensatzweiser Datenverkehr.
- 3.9 Direktzugriff-Dateiorganisation.
- 3.9.1 Direktzugriff über Satzzeiger.
- 3.9.2 Units einbinden.
- 3.9.3 Direkte Adressierung des Datensatzes.
- 3.9.4 Indirekte Adressierung des Datensatzes.
- 3.10 Index-sequentielle Dateiorganisation.
- 3.10.1 Trennung von Datendatei und Indexdatei(en).
- 3.10.2 Zugriff über die Indexdatei.
- 3.10.3 Primärindexdatei und Sekundärindexdateien.
- 3.11 Stapel und Schlange.
- 3.11.1 Stapel als FIFO-Datenstruktur.
- 3.11.1.1 Verwaltung eines Stapels als Array bzw. Statische Struktur.
- 3.11.1.2 Verwaltung eines Stapels dynamisch über Zeiger.
- 3.11.2 Schlange als FIFO-Datenstruktur.
- 3.11.2.1 Verwaltung einer Schlange als Array bzw. Statische Struktur.
- 3.11.2.2 Verwaltung einer Ringschlange als Array.
- 3.11.2.3 Verwaltung einer Ringschlange über Zeiger mit Release.
- 3.11.2.4 Verwaltung einer Schlange über Zeiger mit Dispose.
- 3.11.2.5 Verwaltung einer Ringschlange mit Overlayprozeduren.
- 3.12 Zeigerverkettete Liste.
- 3.12.1 Verwaltung einer linearen Liste als Array.
- 3.12.2 Verwaltung einer linearen Liste dynamisch über Zeiger.
- 3.12.2.1 Anfügen an die Liste ohne Suchen.
- 3.12.2.2 Durchwandern der Liste Element für Element.
- 3.12.2.3 Einfügen in die Liste an eine bestimmte Adresse.
- 3.12.2.4 Löschen eines Elements.
- 3.12.2.5 Sortierender Liste.
- 3.12.3 Verwaltung einer geordneten linearen Liste.
- 3.12.4 Liste mit Pseudoelement als Anker.
- 3.12.5 Lineare doppelt verkettete Liste.
- 3.13 Binärbaum.
- 3.13.1 Überblick.
- 3.13.2 Binärbaum statisch als Array.
- 3.13.2.1 Baum aufbauen.
- 3.13.2.2 Baum sortieren über Rekursion.
- 3.13.3 Binärbaum als dynamische Struktur: Baum erzeugen.
- 3.13.4 Binärbaum als dynamische Struktur: Knoten entfernen.
- 3.13.5 Binärbaum als dynamische Struktur: Sortieren und speichern.
- 3.13.5.1 Datei in Binärbaum einlesen und sortieren.
- 3.13.5.2 Datei über Binärbaum sortieren und schreiben.
- 3.13.6 Durchwandern von Binärbäumen.
- 3.13.7 Gefädelter Binärbaum.
- 3.13.8 Balancierter Binärbaum.
- 3.13.8.1 Elemente eines Strings balanciert anordnen.
- 3.13.8.2 Balancierten Baum beliebiger Tiefe erzeugen.
- 3.13.8.3 Aus einer sortierten Datei einen balancierten Baum erzeugen.
- 3.13.9 Liste als Binärbaum strukturieren.
- 3.13.10 Baumartige Liste von Listen.
- 3.14 Gesteuerter Zugriff auf externe Einheiten.
- 3.14.1 Zugriff auf den Drucker.
- 3.14.1.1 Druckersteuerung über Steuerzeichen.
- 3.14.1.2 Druckausgabe über BIOS-Interrupts.
- 3.14.1.3 Verwendung von INLINE-Anweisungen.
- 3.14.1.4 Einbindung von Assemblerprogrammen.
- 3.14.1.5 INLINE-Deklarationen.
- 3.14.1.6 Schreiben eigener Interruptroutinen.
- 3.14.2 Zugriff auf die Tastatur.
- 3.14.2.1 Lesen von Spezialtasten.
- 3.14.2.2 Zeicheneingabe über DOS-Funktionen.
- 3.14.3 Ausgabe auf dem Bildschirm.
- 3.14.3.1 Bildschirmsteuerung über DOS-Interrupt $10.
- 3.14.3.2 Escape-Sequenzen von ANSI. SYS.
- 3.14.4 Zugriff auf Diskette.
- 3.14.4.1 Neue DOS-Funktionen.
- 3.14.4.2 Klassische DOS-Funktionen.
- 3.14.5 Exit-Prozeduren.
- 3.15 Objektorientierte Programmierung (OOP).
- 3.15.1 Objekt mit Daten und Methoden als Eigenschaften.
- 3.15.2 Vererbung von Daten und Methoden.
- 3.15.3 Neudefinition von Methoden.
- 3.15.4 Typverträglichkeit.
- 3.15.5 Vererbung von in Units definierten Objekten.
- 3.15.6 Polymorphe Objekte und virtuelle Methoden.
- 3.15.7 Dynamische Objekte und Destruktur.
- 3.15.8 Zur Syntax der OOP-Sprachmittel.
- 3.15.9 Grundlegende Begriffe der OOP.
- Programmverzeichnis (nach Abschnitten).
- Programmverzeichnis (nach Alphabet).
- Sachwortverzeichnis.