1 Programme und Programmiersprachen.- 1.1 Aufgabe und Zweck einer Programmiersprache.- 1.2 Qualitätsanforderungen an Programme.- 1.3 Zur Qualität von Programmiersprachen.- 2 Anforderungen an eine Programmiersprache.- 2.1 Strukturierungshilfen.- 2.1.1 Zerlegungskonstrukte.- 2.1.2 Verfeinerungskonstrukte.- 2.1.3 Steuerkonstrukte.- 2.1.3.1 Sequenz.- 2.1.3.2 Selektion.- 2.1.3.3 Repetition.- 2.2 Datenbeschreibung.- 2.2.1 Datentypen.- 2.2.1.1 Zum Begriff des Datentyps.- 2.2.1.2 Standarddatentypen.- 2.2.2 Datenstrukturen.- 2.2.3 Neudefinierte Datentypen.- 2.3 Unterstützung der Selbstdokumentation.- 2.3.1 Verbalisierung.- 2.3.2 Kommentierung.- 2.3.3 Programm-Layout.- 2.4 Weitere Anforderungen.- 3 Verbreitete Programmiersprachen.- 3.1 Fortran.- 3.1.1 Entstehung von Fortran.- 3.1.2 Sprachkonzepte von Fortran66.- 3.1.2.1 Typ, Struktur und Vereinbarung von Daten.- 3.1.2.2 Anweisungen.- 3.1.3 Spracherweiterungen in Fortran77.- 3.2 Cobol.- 3.2.1 Entstehung von Cobol.- 3.2.2 Sprachkonzepte von Cobol.- 3.2.2.1 Textgestaltung und statische Programmstruktur.- 3.2.2.2 Datenbeschreibung.- 3.2.2.3 Weitere charakteristische Merkmale von Cobol.- 3.3 Basic.- 3.3.1 Entstehung von Basic.- 3.3.2 Sprachkonzepte von Minimal Basic.- 3.3.3 Erweiterungen von Minimal Basic.- 3.3.4 Einbettung in das Betriebssystem.- 3.4 PL/I.- 3.4.1 Entstehung von PL/I.- 3.4.2 Elementare Konzepte von PL/I.- 3.4.2.1 Daten, Attribute, Ausdrücke.- 3.4.2.2 Anweisungen.- 3.4.3 Höhere Sprachkonzepte.- 3.4.3.1 Programmstruktur.- 3.4.3.2 Behandlung von Programmunterbrechungen.- 3.4.3.3 Weitere Sprachkonzepte.- 3.5 Pascal.- 3.5.1 Entstehung von Pascal.- 3.5.2 Sprachkonzepte von Pascal.- 3.5.2.1 Datentypen.- 3.5.2.2 Vereinbarungen.- 3.5.2.3 Anweisungen.- 3.5.2.4 Prozeduren und Funktionen.- 4 Programmierstil und Ausdrucksmittel der klassischen Programmiersprachen.- 4.1 Vorbemerkung.- 4.1.1 Ausgewählte Elemente des Programmierstils.- 4.1.2 Implementierung von Datenkapseln.- 4.2 Stilelemente in Fortran.- 4.2.1 Zerlegung und Verfeinerung.- 4.2.2 Steuerkonstrukte.- 4.2.3 Vereinbarungen und Selbstdokumentation.- 4.2.4 Einschränkungen bei Fortran66.- 4.2.4.1 Verschiedenes.- 4.2.4.2 Einschränkungen bei Steuerkonstrukten.- 4.2.4.3 Ersatzkonstruktion für sekundäre Eingangsstellen.- 4.3 Stilelemente in Cobol.- 4.3.1 Sprachelemente zur Zerlegung.- 4.3.2 Sprachelemente zur Verfeinerung.- 4.3.3 Steuerkonstrukte.- 4.3.4 Aspekte der Verbalisierung und Selbstdokumentation.- 4.4 Stilelemente in Basic.- 4.4.1 Probleme der Zerlegung mit Basic-Sprachelementen.- 4.4.2 „Unterprogramme“als Verfeinerungskonstrukte.- 4.4.3 Implementierung der Steuerkonstrukte.- 4.4.3.1 Steuerkonstrukte auf der Grundlage von Minimal Basic.- 4.4.3.2 Ausblick: Erweiterungen von Minimal Basic.- 4.4.4 Probleme der Lesbarkeit und Selbstdokumentation.- 4.5 Stilelemente in PL/I.- 4.5.1 Zerlegung durch externe Prozeduren.- 4.5.2 Verfeinerung durch interne Prozeduren.- 4.5.3 Steuerkonstrukte.- 4.5.3.1 Steuerkonstrukte auf Basis des ANSI-Standards.- 4.5.3.2 Steuerkonstrukte auf Basis von Spracherweiterungen.- 4.5.4 Aspekte der Selbstdokumentation.- 4.5.4.1 Hinweise zu Vereinbarungen.- 4.5.4.2 Kommentierungsrichtlinien.- 4.5.5 Kritische Anmerkungen zu PL/I.- 4.6 Stilelemente in Pascal.- 4.6.1 Zerlegung und Verfeinerung.- 4.6.1.1 Prozeduren und Funktionen als Verfeinerungskonstrukte.- 4.6.1.2 Prozeduren und Funktionen als Zerlegungskonstrukte.- 4.6.2 Steuerkonstrukte.- 4.6.3 Aspekte der Selbstdokumentation.- 5 Sprachübergreifende Aspekte des Programmierstils.- 5.1 Kommentierung und Programm-Layout.- 5.1.1 Die Rolle von Kommentaren.- 5.1.2 Zur Wirkung von Einrückungen und Leerzeilen.- 5.2 Weitere Einflußfaktoren.- 5.2.1 Einige Aspekte des Effizienzstrebens.- 5.2.2 Datenvereinbarungen.- 5.2.3 Einzelaspekte.- 6 Zusammenfassung und Ausblick.- 7 Musterprogramme.- 7.1 Beschreibung des Programmbeispiels.- 7.1.1 Aufgabenstellung.- 7.1.2 Lösungsweg.- 7.2 Implementierung in Fortran.- 7.2.1 Fortran77.- 7.2.2 Fortran66.- 7.3 Implementierung in Cobol.- 7.4 Implementierung in Basic.- 7.5 Implementierung in PL/I.- 7.5.1 Verwendung einer rekursiven Prozedur.- 7.5.2 Auflösung der Rekursion.- 7.6 Implementierung in Pascal.- 7.6.1 Verwendung einer rekursiven Prozedur.- 7.6.2 Auflösung der Rekursion.- Literatur.
Prof. Dr. Karl Kurbel ist Inhaber des Lehrstuhl für Wirtschaftsinformatik an der Europa-Universität Viadrina in Frankfurt/Oder.