Table Of ContentRoland Schneider
Prozedurale Programmlerung
Die Reihe nLehrbuch", orientiert an den Lehrinhalten des Studiums an Fach
hochschulen und Universitaten, bietet didaktisch gut ausgearbeitetes
Know-how nach dem State-of-the-Art des Faches fUr Studenten und Dozen
ten gleichermaJ3en.
Unter anderem sind erschienen:
Stochastlk Software Engineering
von Gerhard Hubner von Reiner Dumke
Neuronale Netze Grundlagen der Theoretlschen
von Andreas Scherer Infonnatlk mit Anwendungen
von Gottfried Vossen und
Rechnerverblndungs
Kurt-Ulrich Witt
strukturen
von Bernd Schurmann Grundlagen und Konzepte
der Infonnatlk
Rechnerarchltektur
von Hartmut Ernst
von Paul Herrmann
Von Pascal zu Assembler
Konstruktlon
von Peter Kammerer
dlgltaler Systeme
von Fritz Mayer-Lindenberg
Prozedurale Programmlerung
SPSS fUr Windows von Roland Schneider
von Wolf-Michael Kahler
PASCAL
von Doug Cooper und
Michael Clancy
Programmleren mit JAVA
von Andreas Solymosi und
Ilse Schmiedecke
Baustelnbaslerte Software
von GUnther Bauer
Anwendungsorlentlerte
Wirtschaftslnfonnatlk
von Paul Alpar, Heinz Lothar Grob,
Peter Weimann und Robert Winter
Roland Schneider
Prozed rale
Program .... ierung
Grundlagen der Programmkonstruktion
Die Deutsche Bibliothek - CIP-Einheitsaufnahme
Ein Titeldatensatz fUr diese Publikation ist bei
Der Deutschen Bibliothek erhliltlich.
1. Auflage April 2002
Aile Rechte vorbehalten
© Friedr. Vieweg & Sohn Verlagsgesellschaft mbH, BraunschweigIWiesbaden, 2002
Der Vieweg Verlag ist ein Unternehmen der Fachverlagsgruppe BertelsmannSpringer.
www.vieweg.de
Das Werk einschlie8lich aller seiner Teile ist urheberrechtlich geschiitzt. Jede
Verwertung au8erhalb der engen Grenzen des Urheberrechtsgesetzes ist
ohne Zustimmung des Verlags unzullissig und strafbar. Das gilt insbesondere
fUr Vervielfrutigungen, Ubersetzungen, Mikroverfilmungen und die Einspei
cherung und Verarbeitung in elektronischen Systemen.
Die Wiedergabe von Gebrauchsnamen, Handelsnamen, Warenbezeichnungen usw. in diesem Werk
berechtigt auch ohne besondere Kennzeichnung nicht zu der Annahme, dass solche Namen im
Sinne der Warenzeichen-und Markenschutz-Gesetzgebung als frei zu betrachten waren und daher
von jedermann benutzt werden diirften.
Konzeption und Layout des Umschlags: Ulrike Weigel, www.CorporateDesignGroup.de
Gedruckt auf sliurefreiem und chlorfrei gebleichtem Papier.
ISBN-13: 978-3-528-05653-7 e-ISBN-13: 978-3-322-87247-0
DOl: 10.1007/978-3-322-87247-0
Vorwort
Dieses Lehrbuch vermittelt eine Einfuhrung in das Entwerfen und
Konstruieren von Programmen fur prozedurale Programmierung.
Es kann zur Unterstiitzung und Begleitung von
Lehrveranstaltungen dienen und ist zum Selbststudium geeignet.
Das Lehrbuch ist aus dem Begleitmaterial zu Lehrveranstaltungen
entstanden, die ich viele Jahre an der Fachhochschule Dortmund
und an der Universitat Stettin gehalten habe. Der Inhalt dieses
Lehrbuches umfasst den Stoff der Vorlesungen und Obungen zur
Programmkonstruktion, also zur Entwicklung von
ProgrammablaufpIanen.
Auf die Umsetzung der ProgrammablaufpHine in ablauffahige
Programme wird nicht naher eingegangen. Die Lehrveranstaltung
wird von einem Praktikum begleitet, in dem beispielhafte
Programme auf der Grundlage des Programmablaufplanes mit
prozeduralen Programmiersprachen realisiert werden. Dem Leser
dieses Buches empfehle ich, mehrere Obungsaufgaben nach
Erarbeitung des Programmablaufplanes mit einer geeigneten
prozeduralen Programmiersprache zu realisieren urn so den Stoff
zu vertiefen und die LOsungen durch Tests iiberpriifen zu
konnen.
Hauptgegenstand des Lehrbuches sind Stapelverarbeitungs- und
Dialog-Programme, die mehrere Dateien bearbeiten. Als
Beispiele werden Programme aus dem Bereich der
betriebswirtschaftlichen Anwendungen benutzt.
Dortmund, im Februar 2002
Prof. Dr. Roland Schneider
v
Inhaltsverzeichnis
InhaHsverzeichnls ......................................................................................... VI
Abbildungen ................................................................................................... X
1 Grundlagen ............................................................................................ 1
1.1 Grundgedanken und Zielsetzungen ............................................... 1
1.1.1 Prozedurale Programmierung .......................................... 1
1.1.2 Ziele der Konstruktionslehre ............................................. 2
1.1.3 Vorgehensweise zum Erreichen der Ziele ........................ 2
1.1.4 Der ideale Losungsweg .................................................... 3
1.1.5 Der praktische Weg zu den Programm-Modellen ............. 4
1.1.6 Einphasenprogramme ...................................................... 5
1.1.7 Mehrphasenprogramme ................................................... 5
1.1.8 Die vier Programm-Modelle im Oberblick ......................... 6
1.2 Symbole und Konstrukte .............................................................. 10
1.2.1 Anweisung oder Anweisungsfolge .................................. 10
1.2.2 Bedingte Verzweigung .................................................... 10
1.2.3 ZusammenfOhrung ......................................................... 11
1.2.4 Zusammengesetzte Konstrukte ...................................... 11
1.3 Grundbegriffe und Definitionen .................................................... 12
1.3.1 Feld ................................................................................. 12
1.3.2 Satz und Zeile ................................................................. 12
1.3.3 Datei ............................................................................... 12
1.4 Pseudocode ................................................................................. 14
1.4.1 Grundfunktionen ............................................................. 14
1.4.2 Erweiterungen ................................................................ 20
1.4.3 Blattwechselmechanik .................................................... 23
2 Programm-ModeIl1, Kopleren ........................................................... 27
2.1 Entwicklung des Programm-Modells ............................................ 27
2.1.1 Grundaufgabe Kopieren ................................................. 27
2.1.2 Losung fOr die Grundaufgabe Kopieren ......................... 28
2.1.3 Modellbildung fOr Programm-ModeIl1, Kopieren ........... 29
VI
Inhaltsverzeichnis
2.2 Anwendung des Kopier-Modells .................................................. 30
2.2.1 Aufgabe Druckprogramm mit Blattwechselmechanik ..... 30
2.2.2 Aufgabe Wertbestandsliste mit Summenzeilen .............. 33
2.2.3 Obungsaufgabe Umsatzliste ........................................... 36
2.3 Andere Darstellungen des Kopier-Modells ................................... 37
3 Programm-Modell 2, Abbildung von Satzgruppen .......................... 40
3.1 Entwicklung des Programm-Modells ............................................ 40
3.1.1 Grundaufgabe der Abbildung von Satzgruppen,
grobe Formulierung " ...................................................... 40
3.1.2 VorOberiegungen, Begriffe und Definitionen ................... 41
3.1.3 Grundaufgabe der Abbildung von Satzgruppen,
genaue Formulierung ..................................................... 48
3.1.4 Losung fUr die Grundaufgabe der Abbildung von
Satzgruppen ................................................................... 49
3.1.5 Gruppensteuerung fUr 3 Rangstufen .............................. 54
3.1.6 Obungsaufgabe Gruppensteuerung ............................... 60
3.1.7 Modellbildung fUr Programm-Modell2, Abbildung
von Satzgruppen ............................................................ 60
3.2 Anwendung des Programm-Modells ............................................ 62
3.2.1 Summenbildung bei Satzgruppen ................................... 62
3.2.2 Aufgabe Drucken Umsatzstatistik ................................... 64
3.3 Kombination der Programm-Modelle 1 und 2 .............................. 72
3.3.1 Ein-und Ausgabe mit unterschiedlichen Satzgruppen ... 72
3.3.2 Filtem von Satzen ........................................................... 72
3.3.3 Das verkOrzte Modell 2 ................................................... 74
3.3.4 Obungsaufgabe Umsatzstatistik aus 3.2.2 ..................... 78
4 Programm-ModeIl3, Mischen ............................................................ 79
4.1 Entwicklung des Programm-Modells ............................................ 80
4.1.1 Grundaufgabe Mischen .................................................. 80
4.1.2 LOsung fUr die Grundaufgabe Mischen .......................... 82
4.1.3 Modellbildung fUr Programm-Modell 3, Mischen ............ 89
4.2 Anwendung des Mischens, Teil1, Dateivergleiche ...................... 90
4.2.1 Dateivergleich und Paarigkeit.. .... " ................................. 91
4.2.2 Aufgabe Dateivergleich Artikel-Umsatze ........................ 96
4.2.3 Obungsaufgabe Dateivergleich ..................................... 103
VII
Inhaltsverzeichnis
4.3 Kombination von Modell 3 mn dem verkurzten Modell 2. ........... 103
4.3.1 Aufgabe Drucken Umsatzstatistik aus 3.2.2 ................. 103
4.3.2 Obungsaufgabe Verifizierung von HAUPT-A
und UPRO-A ................................................................. 107
4.4 Anwendung des Mischens, Teil2, Dateifortschreibungen ......... 108
4.4.1 Aufgabe Sequenzielle Dateifortschreibung ................... 108
4.4.2 M6glichkenen und Grenzen des Misch-Modells ........... 112
4.4.3 Obungsaufgabe Indexsequenzielle
Dateifortschreibung ...................................................... 113
5 Programm-Modell 4, Mischprinzip zur Abbildung
von Satzgruppen ............................................................................... 115
5.1 Entwicklung des Programm-Modells .......................................... 115
5.1.1 Grundaufgabe Mischprinzip zur Abbildung von
Satzgruppen ................................................................. 115
5.1.2 Losung der Grundaufgabe Mischprinzip zur
Abbildung von Satzgruppen ......................................... 117
5.1.3 Modellbildung fur Programm-Modell 4. ......................... 120
5.1.4 Obungsaufgabe Satzauswahl ....................................... 122
5.2 Anwendung des Programm-Modells 4 ....................................... 122
5.2.1 Aufgabe Vergleich von Umsatzsummen ....................... 123
5.2.2 Modellwahl und PrioritAtenwahl bei
Programm-Modellen 3 und 4 ........................................ 128
6 Alternativlosungen mit Mehrphasenprogrammen ......................... 131
6.1 Stuckweise sequenziell Lesen ................................................... 131
6.1.1 Aufgabe Stuckweise sequenzielles Lesen einer
Satzgruppe ................................................................... 133
6.1.2 Satzberenstellung mit Funktion
Lesen direkt mn Keybedingung .................................... 135
6.1.3 Satiberenstellung mn Funktion
Start mn Keybedingung ................................................ 139
6.2 Anwendung des StUckweise sequenziellen Lesens ................... 139
6.2.1 Aufgabe Drucken Umsatzstatistik aus 3.2.2 ................. 140
6.3 Symbolik zur Darstellung von Mehrphasenprogrammen ........... 142
6.4 Anwendung der Symbolik .......................................................... 147
VIII
Inhaltsverzeichnis
7 Olalogprogramme als Mehrphasenprogramme ............................. 149
7.1 Der Eingabedatenstrom als Entwurfsgrundlage ......................... 149
7.2 Der Bildschirrn mit Tastatur als virtuelle DateL .......................... 152
7.2.1 Aufgabe A: Bildschirrn als Direktzugriffsdatei ............... 153
7.2.2 Aufgabe B: Bildschirrn als sequenzielle Eingabedatei .. 156
7.3 Der Entwurf von Dialogprogrammen .......................................... 159
7.3.1 Aufgabe C: Drucken Umsatzstatistik mit zwei
Betriebsforrnen ............................................................. 162
8 Mehrphasenprogramme mit vlrtuellen Oatelen .............................. 173
8.1 Beispielaufgabe fOr mogliche Mehrphasenlosungen ................. 174
8.1.1 Aufgabe Umsatzvergleich ............................................. 175
8.2 Mehrphasenprogramm mit realer Zwischendatei ....................... 178
8.3 Mehrphasenprogramm mit virtueller Zwischendatei .................. 178
8.3.1 Alternative 1,
Oberphase Ausgabe - Unterphase Eingabe ................ 180
8.3.2 Alternative 2,
Oberphase Eingabe - Unterphase Ausgabe ................ 181
8.3.3 Symbolische Darstellung der Alternativen .................... 185
9 Sortlerprogramme als Mehrphasenprogramme ............................. 188
9.1 Losungs·Modell fOr isolierte Sortierung ...................................... 188
9.1.1 Mehrphasenprogramm als Losungsansatz ................... 189
9.1.2 Vorsortierphase VS ...................................................... 189
9.1.3 Mischphasen M-1 bis M-k ............................................. 190
9.1.4 Letzte Mischphase M-(k+ 1) .......................................... 192
9.1.5 Anzahl der Mischphasen .............................................. 192
9.1.6 Steuerprogramm fOr isolierte Sortierung ...................... 193
9.2 Erwenerung zur integrierten Sortierung (I-O-Sort) ..................... 195
9.2.1 Einfache Aufgabenstellung fOr integrierte Sortie rung ... 196
9.2.2 Integrierte Sortie rung - COBOL-Modell ...................... 197
9.2.3 Integrierte Sortierung - PU1-Modell ........................... 202
Sachwortverzeichnis ................................................................................ 208
IX
Abbildungen
Bild 1.01 Datenflussplane dar vier Programm-Modelle ................................. 8
Bild 1.02 Konstrukt Anweisung oder Anweisungsfolge ................................ 10
Bild 1.03 Konstrukt 8edingte Verzweigung .................................................. 10
Bild 1.04 Konstrukt ZusammenfOhrung ....................................................... 11
Bild 1.05 Zusammengesetzte Konstrukte .................................................... 11
Bild 1.06 Funktion Lesen sequenziel/ .......................................................... 17
Bild 1.07 Lese-und Schreib-Funktionen fOr Direktzugriffsdateien ............... 20
Bild 1.08 Lesefunktionen mit Keybedingung ................................................ 22
Bild 1.09 BWM Einfache Version ................................................................. 24
Bild 1.10 BWM Komfortable Version ........................................................... 26
Bild 2.01 Grundaufgabe Kopieren ............................................................... 27
Bild 2.02 PAP Kopierprogramm ................................................................... 28
Bild 2.03 Programm-Modelll, Kopieren ...................................................... 29
Bild 2.04 Druckprogramm mit BWM ............................................................ 30
Bild 2.05 Listbild Bestandsliste .................................................................... 31
Bild 2.06 Datenfluss Druckprogramm .......................................................... 31
Bild 2.07 PAP Druckprogramm .................................................................... 33
Bild 2.08 Ustbild Wertbestandsliste ............................................................. 34
Bild 2.09 Obungsaufgabe Umsatzliste ......................................................... 36
Bild 2.10 Ustbild Umsatzliste ....................................................................... 36
Bild 2.11 Kopier-ModeU, Schleife mit Unterbrechung .................................. 38
Bild 2.12 Kopier-Modell, Schleife kopfgesteuert .......................................... 39
Bild 2.13 Kopier-Modell, Schleife fuBgesteuert ............................................ 39
Bild 3.01 Grundaufgabe Abbildung von Satzgruppen .................................. 41
Bild 3.02 Beispiel fOr Satzgruppen ............................................................... 42
Bild 3.03 Gruppierwortfolge ......................................................................... 43
Bild 3.04 Erweiterte Gruppierwortfolge ........................................................ 44
Bild 3.05 Satzgruppen und Gruppenwechsel fOr 3 Range ........................... 48
Bild 3.06 PAP zur L6sung dar Grundaufgabe .............................................. 51
Bild 3.07 Satzbereitstellung ......................................................................... 52
Bild 3.08 Matrix Gruppensteuerung fOr 3 Range ......................................... 54
Bild 3.09 PAP Gruppensteuerung, Version A. ............................................. 58
Bild 3.10 PAP Gruppensteuerung, Version B. ............................................. 59
Bild 3.11 Programm-ModeIl2, Abbildung von Satzgruppen ........................ 61
Bild 3.12 Drucken Umsatzstatistik ............................................................... 64
Bild 3.13 Ustbild Umsatzstatistik ................................................................. 65
Bild 3.14 PAP Umsatzstatistik ..................................................................... 71
Bild 3.15 Filtem mit Zwischendatei .............................................................. 73
Bild 3.16 Filtem im Block Satzbereitstellung ................................................ 74
x