wirtschaftsinformatik westfälische wilhelms-universität münster wirtschafts informatik cobol...
Post on 06-Apr-2016
213 Views
Preview:
TRANSCRIPT
WIR
TSC
HA
FTS
INFO
RM
ATI
KWestfälischeWilhelms-Universität Münster
WIRTSCHAFTSINFORMATIK
COBOLCOBOL
Präsentation im Rahmen des Seminars„Programmiersprachen“
am 2. Juni 2004
Stephan Dümmer
2
WIRTSCHAFTSINFORMATIK
GliederungGliederung
1. Einführung
2. COBOL Grundlagen
3. Ausgewählte Aspekte der COBOL Programmierung
4. Quicksort in COBOL
5. Zusammenfassung
3
WIRTSCHAFTSINFORMATIK
EinführungEinführung
COBOL: COmmon Business Oriented Language
Haupteinsatzzweck: kaufmännischer Geschäftsbereich(z. B. Buchführung in Banken und Versicherungen)
Verarbeitung großer und strukturierter Datenmengen (Batch-)Betrieb auf Großrechnern (Mainframe)
Eine der ältesten prozeduralen Programmiersprachen
Auf Grund der Erweiterungs- und Anpassungsfähigkeitauch heute noch weit verbreitet
4
WIRTSCHAFTSINFORMATIK
GliederungGliederung
1. Einführung
2. COBOL Grundlagen
3. Ausgewählte Aspekte der COBOL Programmierung
4. Quicksort in COBOL
5. Zusammenfassung
5
WIRTSCHAFTSINFORMATIK
COBOL GrundlagenCOBOL Grundlagen
1959 entwickelt und 1960 veröffentlicht von der Conference on Data Systems Languages (CODASYL)
Standardisierung der Sprache durch ISO, ANSI Gewährleistung der Kompatibilität und Portabilität COBOL-68, COBOL-74, COBOL-85, COBOL-2002
Großer Sprachumfang mit Anlehnung an natürliche Sprache (+) Quelltext ist gut lesbar und schnell zu erlernen (+) Gute Lesbarkeit erleichtert Pflege von Programmen (-) Wortreicher Sprachumfang macht Quelltext „geschwätzig“
6
WIRTSCHAFTSINFORMATIK
COBOL GrundlagenCOBOL Grundlagen
Formale Struktur: Jedes Programm hat 4 Divisions IDENTIFICATION DIVISION
Programmbeschreibung: Name, Autor, Kompilierdatum etc. Mindestens Programmname erforderlich
ENVIRONMENT DIVISION Angaben über verwendete Hardware, externe Ressourcen
(z. B. Quell- und Zielrechner, Drucker, Dateien) Alle Angaben optional
DATA DIVISION Deklaration von Struktur und Typ der Datei-Datensätze Variablendeklaration
PROCEDURE DIVISION Anwendungslogik Anweisungen
DIVISION
SECTION
::
PARAGRAPH
::
SENTENCE::
7
WIRTSCHAFTSINFORMATIK
COBOL GrundlagenCOBOL Grundlagen
Zeilennummerierung Divisions
Paragraphs
Sentences
8
WIRTSCHAFTSINFORMATIK
COBOL GrundlagenCOBOL Grundlagen
Programme bestehen aus Zeilen mit jeweils 80 Spalten(Fixed reference format)
1 ... 6 7 8 ... 11 12 ... 72 73 ... 80
Nummerierung Bereich A Bereich B
Indikatorbereich
9
WIRTSCHAFTSINFORMATIK
GliederungGliederung
1. Einführung
2. COBOL Grundlagen
3. Ausgewählte Aspekte der COBOL Programmierung3.1 Datentypen3.2 Tabellenverarbeitung3.3 Modularisierung
4. Quicksort in COBOL
5. Zusammenfassung
10
WIRTSCHAFTSINFORMATIK
DatentypenDatentypen
Schwaches Typisierungskonzept (keine vorgegebenen Datentypen wie Integer, Double, Float etc.)
Datentypen Numerisch: Ziffern 0...9, Vorzeichen, Dezimalpunkt Alphanumerisch: Groß-/Kleinbuchstaben, Sonderzeichen
Variablendeklaration in der DATA DIVISION01 MATRIKELNUMMER PIC 999999.01 VORNAME PIC XXXXXXXXXX.
äquivalent:01 MATRIKELNUMMER PIC 9(6).01 VORNAME PIC X(10).
NumerischAlphanumerisch
11
WIRTSCHAFTSINFORMATIK
DatentypenDatentypen
Numerischer Datentyp Mit Vorzeichen:
Mit Dezimalpunkt:
Mit Vorzeichenund Dezimalpunkt:
Interne Darstellung (für Berechnungen)
01 TEMPERATUR PIC S9(4).
01 GEWICHT PIC 9(4)V99.
01 KONTOSTAND PIC S9(4)V99.
Deklaration Beispielwert Interne Darstellung Belegter SpeicherPIC S9(4) -24 0024 4 Byte PIC 9(4)V99 25,35 002535 6 BytePIC S9(4)V99 -365,87 036587 6 Byte
12
WIRTSCHAFTSINFORMATIK
DatentypenDatentypen
Externe Darstellung (Druckaufbereitung) Für Ausgabe auf Bildschirm, Drucker etc. Festlegung des Ausgabeformates durch Angabe von
Maskenzeichen in der Deklaration (+,-,Z,...)
Deklaration Beispielwert Externe Darstellung Belegter Speicher
PIC +9(4) -24 -0024 5 BytePIC 9(4).99 25,35 0025.35 7 BytePIC +9(4).99 -365,87 -0365.87 8 BytePIC +ZZ99.99 -65,87 -65.87 8 Byte
13
WIRTSCHAFTSINFORMATIK
DatentypenDatentypen
Datensatz-Hierarchie durch Stufennummern Stufennummern 01 bis 49 stehen zur Verfügung Frei wählbare Schrittweite Gleiche Stufennummer für jede Hierarchieebene
01 STUDENTENDATEN. 05 NAME PIC X(20). 05 MATRIKELNUMMER PIC 9(6). 05 ANSCHRIFT. 10 STRASSE PIC X(20). 10 PLZ PIC 9(5). 10 WOHNORT PIC X(15).
DatenelementeDatengruppen
14
WIRTSCHAFTSINFORMATIK
TabellenverarbeitungTabellenverarbeitung
Datentyp Array in COBOL nicht vorhanden
Tabellendefinition durch Wiederholung gleicher Datenfelder
Zugriff über Index DISPLAY NAME (20). 1. Datenfeld hat Index 1 (nicht 0!) Speicher für Datenfelder bei Kompilierung statisch alloziiert
01 STUDENT-TABELLE. 05 NAME PIC X(20) OCCURS 50 TIMES.
15
WIRTSCHAFTSINFORMATIK
TabellenverarbeitungTabellenverarbeitung
Mehrdimensionale Tabellen
Zugriff über 2 Indizes: DISPLAY KLAUSUR (4,2). In COBOL-85 bis zu 7 Dimensionen möglich
01 STUDENT-NOTEN-TABELLE. 05 NAME OCCURS 5 TIMES. 10 KLAUSUR PIC 9 OCCURS 3 TIMES.
Name
Klausur
1 2 3 4 5
1
2
3
16
WIRTSCHAFTSINFORMATIK
TabellenverarbeitungTabellenverarbeitung
Tabellen variabler Größe Speicher muss bei Kompilierung immer statisch alloziiert werden Flexibilität durch Vorgabe minimaler/maximaler Anzahl Elemente
(logische) Größe der Tabelle wird erst zur Laufzeit bestimmt Im Bsp. muss gelten: 1 ≤ LAENGE ≤ 50 Wertzuweisung an LAENGE vor Zugriff auf Tabelle
01 STUDENT-TABELLE. 05 NAME PIC X(20) OCCURS 1 TO 50 DEPENDING ON LAENGE.
17
WIRTSCHAFTSINFORMATIK
ModularisierungModularisierung
Zerlegen eines Programms in überschaubare Teile Unterstützt Programmierung im Großen Erleichtert Fehlersuche Wiederverwendbarkeit der Module
Aufrufendes Programm
IDENTIFICATION DIVISION.PROGRAM-ID. HAUPTPROGRAMM. :PROCEDURE DIVISION. : CALL „UNTERPROGRAMM“. : : STOP RUN.
Aufgerufenes Programm
IDENTIFICATION DIVISION.PROGRAM-ID. UNTERPROGRAMM. :PROCEDURE DIVISION. : ANWEISUNG1. ANWEISUNG2. : EXIT PROGRAM.
18
WIRTSCHAFTSINFORMATIK
ModularisierungModularisierung
Parameterübergabe an Unterprogramm
Aufrufendes Programm
IDENTIFICATION DIVISION.PROGRAM-ID. HAUPTPROGRAMM. :DATA DIVISION. 01 VORNAME PIC X(10). 01 MATNR PIC 9(6).PROCEDURE DIVISION. : CALL „UNTERPROGRAMM“ USING VORNAME, MATNR. : : STOP RUN.
Aufgerufenes Programm
IDENTIFICATION DIVISION.PROGRAM-ID. UNTERPROGRAMM. :DATA DIVISION.LINKAGE SECTION. 01 NAME PIC X(10). 01 MNUMMER PIC 9(6).PROCEDURE DIVISION USING NAME, MNUMMER. : ANWEISUNG1. ANWEISUNG2. : EXIT PROGRAM.
19
WIRTSCHAFTSINFORMATIK
GliederungGliederung
1. Einführung
2. COBOL Grundlagen
3. Ausgewählte Aspekte der COBOL Programmierung
4. Quicksort in COBOL
5. Zusammenfassung
20
WIRTSCHAFTSINFORMATIK
Quicksort in COBOLQuicksort in COBOL
Quicksort basiert auf dem Prinzip der Rekursion Rekursion wird von COBOL nicht unterstützt Iterative Variante des Quicksort-Algorithmus erforderlich
Vorgehensweise Speicherung der zu sortierenden Zahlen in Tabelle Speicherung des zu sortierenden Tabellenbereiches für jeden
Quicksort-Aufruf Stack erforderlich Bearbeite Stack-Einträge bis Stack leer
21
WIRTSCHAFTSINFORMATIK
Quicksort in COBOLQuicksort in COBOL
Stack
1 27
Stack-Pointer0
Links (L1) Rechts (R1)
L1 / R11Stack-Pointer
22
WIRTSCHAFTSINFORMATIK
Quicksort in COBOLQuicksort in COBOL
Stack
1 27
0
Links (L2) Rechts (R2)
L2 / R21
Stack-Pointer
Links (L3) Rechts (R3)
2L3 / R3
23
WIRTSCHAFTSINFORMATIK
Quicksort in COBOLQuicksort in COBOL
Stack
1 27
0
Links (L2) Rechts (R2)
L2 / R21
Stack-Pointer
L4 R4
2L4 / R4
L5 R5
L5 / R53
24
WIRTSCHAFTSINFORMATIK
Quicksort in COBOLQuicksort in COBOL
Stack
1 27
0
Links (L2) Rechts (R2)
L2 / R21
Stack-Pointer
L4 R4
2L4 / R4
L6 R6
L6 / R63
L7 R7
L7 / R74
25
WIRTSCHAFTSINFORMATIK
Quicksort in COBOLQuicksort in COBOL
Stack
1 27
0
Links (L2) Rechts (R2)
L2 / R2Stack-Pointer
1
27
WIRTSCHAFTSINFORMATIK
Quicksort in COBOLQuicksort in COBOL
Anzahl zusortierender Elemente
COBOL[in Sekunden]
Java[in Sekunden]
1.000 0,01 <0,01
2.500 0,02 <0,01
5.000 0,05 0,01
10.000 0,10 0,01
25.000 0,28 0,02
50.000 0,55 0,04
100.000 1,17 0,07
200.000 2,35 0,13
500.000 6,48 0,35
600.000 7,59 0,42
800.000 10,75 0,57
1.000.000 13,55 0,73
2.000.000 27,12 1,56
Quicksort-Laufzeit: COBOL vs. Java
28
WIRTSCHAFTSINFORMATIK
GliederungGliederung
1. Einführung
2. COBOL Grundlagen
3. Ausgewählte Aspekte der COBOL Programmierung
4. Quicksort in COBOL
5. Zusammenfassung
29
WIRTSCHAFTSINFORMATIK
ZusammenfassungZusammenfassung
Wortreicher Sprachumfang Quelltext gut lesbar
Schwache Typisierung hohe Fehleranfälligkeit
COBOL ist nach wie vor die dominierende Sprache bei kaufmännischen Mainframe-Anwendungen
Hohe Erweiterungs- und Anpassungsfähigkeit
Einsatz sowohl in Alt-Anwendungen als auch bei Neuentwicklungen
30
WIRTSCHAFTSINFORMATIK
Vielen Dank für die Aufmerksamkeit!Vielen Dank für die Aufmerksamkeit!
31
WIRTSCHAFTSINFORMATIK
TabellenverarbeitungTabellenverarbeitung
Tabellendefinition mit Zugriff durch Spezialindex
Spezialindex XYZ beinhaltet relative Adresse eines Datenfeldes Zugriff auf Datenfeld DISPLAY NAME (XYZ). Index darf nicht durch arithmetische Operationen verändert werden
01 STUDENT-TABELLE. 05 NAME PIC X(20) OCCURS 50 TIMES INDEXED BY XYZ.
SET XYZ TO 1. Setzt XYZ auf 1SET XYZ DOWN BY 3. Erniedrigt XYZ um 3SET XYZ UP BY 5. Erhöht XYZ um 5
top related