COBOL Präsentation im Rahmen des Seminars „Programmiersprachen“

Slides:



Advertisements
Ähnliche Präsentationen
ALP II: Objektorientierte Programmierung Sommersemester 2006
Advertisements

Lösung nichtlinearer Gleichungssysteme
Imperative Programmierung
Matrixmultiplikation
Struktur-Funktions-Modelle von Pflanzen - Sommersemester Winfried Kurth Universität Göttingen, Lehrstuhl Computergrafik und Ökologische Informatik.
Einführung in die Programmierung Zusammenfassung
Variablen und Datentypen
5. Sortier-Algorithmen Vorbemerkungen:
Puck eine visuelle Programmiersprache für die Schule
der Universität Oldenburg
MS Office-Paket: Access
Gliederung des Inhalts
Java: Objektorientierte Programmierung
Java: Grundlagen der Sprache
OpenMP Präsentation im Rahmen des Seminars
Praktikum Entwicklung und Einsatz von Geosoftware I - Sitzung 3 Klassen, Objekte, Arrays und Kontrollstrukturen Sommersemester 2003 Lars Bernard.
Modularisierungstechniken
Java-Kurs - 2. Übung Entwicklungsumgebung Struktur von Programmen
Datenbanken Wenn du weiter willst, dann klicke
Semantische Fehler Seminar im Grundstudium WS2002/2003:
Batch-Programmierung Grundlagen
Einführung in Visual C++
EDV1 - 06FelderPointer Felder, Zeichenketten, Pointer.
Portierung von Java nach C
Konzepte von Programmiersprachen
1 Grundlagen und Anwendung der Extensible Markup Language (XML ) Peter Buxmann Institut für Wirtschaftsinformatik Johann Wolfgang Goethe-Universität Frankfurt.
FH-Hof Algorithmen und Datenstrukturen - Einführung Richard Göbel.
Delphi Eine objektorientierte Programmiersprache © Beushausen 2000.
SQL PHP und MySQL Referat von Katharina Stracke und Carina Berning
Einführung in die Programmiersprache C 1
Viktoria Wentzel und Sina Range
Informatik Grundlagen, WS04, Seminar 11
Einführung in die Programmierung
Einführung in die Programmiersprache C 3.Tag Institut für Mathematische Optimierung - Technische Universität Braunschweig.
Javakurs FSS 2012 Lehrstuhl Stuckenschmidt
BIT – Schaßan – WS 02/03 Basisinformationstechnologie HK-Medien Teil 1, 11.Sitzung WS 02/03.
Einführung in die Programmierung Wintersemester 2009/10 Prof. Dr. Günter Rudolph Lehrstuhl für Algorithm Engineering Fakultät für Informatik TU Dortmund.
Einführung in die Programmiersprache C 4
Allgemeines zu Java Universelle, objektorientierte Programmiersprache
Datenbanken Dantenbanksystem Data Base System Datenbasis (Daten)
Datenbanken Datenstrukturen.
Prozeduren und Funktionen
HORIZONT 1 XINFO ® Das IT - Informationssystem PL/1 Scanner HORIZONT Software für Rechenzentren Garmischer Str. 8 D München Tel ++49(0)89 / 540.
HORIZONT 1 XINFO ® Das IT - Informationssystem Assembler HORIZONT Software für Rechenzentren Garmischer Str. 8 D München Tel ++49(0)89 /
Konzept einer Programmiersprache!
Programmierung 1. Einführung Seite 1
Grundlagen Wissenschaftlichen Arbeitens Hilal Tekoglu
Objekte Objekte sind Elemente, die man mit dem Programm bearbeiten kann. Datei, aufgebaut als Tabelle (Relation) Datensatz, entspricht einer Zeile der.
MODULA-2.
BMEVIEEA100 Grundlagen der Programmierung
Excel Grundlagen.
Informatik I : Software höhere Programmiersprachen Java Klassen: hat Methoden (Funktionen) und Daten (Variablen) es kann mehrere Klassen geben nur eine.
Java Syntaxdiagramme Buchstabe A B Z a z ... Ziffer
Java-Kurs - 3. Übung Hausaufgabe Arrays For-Schleifen.
(Syntax, Strings/Zahlen, Variablen, Arrays)
Java-Kurs Übung Besprechung der Hausaufgabe
Extended Pascal ( Erweitreung von Pascal) Name: Mehmet CELIK Matr :
The Programming Language Pascal
Einführung in die Programmierung mit Java
Extended Pascal Erweiterung von Pascal shadi Behzadipour shadi Shadi behzadipour.
Unterprogramme / Methoden
Objektorientierte (OO) Programmierung
Funktionen. Aufgabe : Eingabe zweier Zahlen ---> Minimum bestimmen Dann nochmals Eingabe zweier Zahlen ---> Minimum bestimmen.
Was ist ein Datenbankprogramm?
Variablen und Operatoren. C++ Teil 2: Grundstrukturen Variablen Operatoren Kontrollstrukturen Funktionen Header-Dateien Pointer und Referenzen.
Pointer, Arrays und verkettete Listen. Mehrdimensionale Arrays  Pointer auf ein Array von Pointern  int32 **matrix = new int32*[3];  matrix: Zeiger.
Funktionen (Zweck und Eigenschaften) Funktionen sind Unterprogramme, die einen bestimmten Zweck erfüllen Sie zerlegen Probleme in kleine, abgeschlossene.
Das IT - Informationssystem
Von Wietlisbach, Lenzin und Winter
Von Wietlisbach, Lenzin und Winter
 Präsentation transkript:

COBOL Präsentation im Rahmen des Seminars „Programmiersprachen“ am 2. Juni 2004 Stephan Dümmer

Gliederung Einführung COBOL Grundlagen Ausgewählte Aspekte der COBOL Programmierung Quicksort in COBOL Zusammenfassung

Einfü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ähigkeit auch heute noch weit verbreitet

Gliederung Einführung COBOL Grundlagen Ausgewählte Aspekte der COBOL Programmierung Quicksort in COBOL Zusammenfassung

COBOL 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“

COBOL 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 :

COBOL Grundlagen Zeilennummerierung Divisions Sentences Paragraphs

COBOL 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

Gliederung Einführung COBOL Grundlagen Ausgewählte Aspekte der COBOL Programmierung 3.1 Datentypen 3.2 Tabellenverarbeitung 3.3 Modularisierung Quicksort in COBOL Zusammenfassung

Datentypen 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 DIVISION Numerisch 01 MATRIKELNUMMER PIC 999999. 01 VORNAME PIC XXXXXXXXXX. Alphanumerisch äquivalent: 01 MATRIKELNUMMER PIC 9(6). 01 VORNAME PIC X(10).

Datentypen Numerischer Datentyp Interne Darstellung (für Berechnungen) Mit Vorzeichen: Mit Dezimalpunkt: Mit Vorzeichen und 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 Speicher PIC S9(4) -24 0024 4 Byte PIC 9(4)V99 25,35 002535 6 Byte PIC S9(4)V99 -365,87 036587

Datentypen 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 Byte PIC 9(4).99 25,35 0025.35 7 Byte PIC +9(4).99 -365,87 -0365.87 8 Byte PIC +ZZ99.99 -65,87 -65.87

Datentypen Datensatz-Hierarchie durch Stufennummern Stufennummern 01 bis 49 stehen zur Verfügung Frei wählbare Schrittweite Gleiche Stufennummer für jede Hierarchieebene Datengruppen Datenelemente 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).

Tabellenverarbeitung 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.

Tabellenverarbeitung 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 1 2 3 4 5 1 2 3 Klausur

Tabellenverarbeitung 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.

Modularisierung 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 PROGRAM-ID. UNTERPROGRAMM. ANWEISUNG1. ANWEISUNG2. EXIT PROGRAM.

Modularisierung 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.

Gliederung Einführung COBOL Grundlagen Ausgewählte Aspekte der COBOL Programmierung Quicksort in COBOL Zusammenfassung

Quicksort 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

Quicksort in COBOL 1 27 Links (L1) Rechts (R1) Stack-Pointer L1 / R1 Stack

Quicksort in COBOL 1 27 Links (L2) Links (L3) Rechts (R2) Rechts (R3) Stack-Pointer 2 L3 / R3 1 L2 / R2 Stack

Quicksort in COBOL 1 27 Links (L2) L4 L5 Rechts (R2) R4 R5 Stack-Pointer 3 L5 / R5 2 L4 / R4 1 L2 / R2 Stack

Quicksort in COBOL 1 27 Links (L2) L4 L6 L7 Rechts (R2) R4 R6 R7 Stack-Pointer 4 L7 / R7 3 L6 / R6 2 L4 / R4 1 L2 / R2 Stack

Quicksort in COBOL 1 27 Links (L2) Rechts (R2) Stack-Pointer L2 / R2 Stack

Quicksort in COBOL

Quicksort in COBOL Anzahl zu sortierender Elemente COBOL [in Sekunden] Java [in Sekunden] 1.000 0,01 <0,01 2.500 0,02 5.000 0,05 10.000 0,10 25.000 0,28 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

Gliederung Einführung COBOL Grundlagen Ausgewählte Aspekte der COBOL Programmierung Quicksort in COBOL Zusammenfassung

Zusammenfassung 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

Vielen Dank für die Aufmerksamkeit!

Tabellenverarbeitung 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 1 SET XYZ DOWN BY 3.  Erniedrigt XYZ um 3 SET XYZ UP BY 5.  Erhöht XYZ um 5