Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

CO mmon B usiness O riented L anguage. GLIEDERUNG Historisches Allgemein Grace Hopper Entwicklung / Standardisierung CODASYL X/Open ANSI Syntax (C-80)

Ähnliche Präsentationen


Präsentation zum Thema: "CO mmon B usiness O riented L anguage. GLIEDERUNG Historisches Allgemein Grace Hopper Entwicklung / Standardisierung CODASYL X/Open ANSI Syntax (C-80)"—  Präsentation transkript:

1 CO mmon B usiness O riented L anguage

2 GLIEDERUNG Historisches Allgemein Grace Hopper Entwicklung / Standardisierung CODASYL X/Open ANSI Syntax (C-80) Allgemeines Besonderheiten COBOL heute

3 HISTORISCHES [1/5] Motivation: hardware-unabhängige Sprache zur Erstellung von Programmen für den betriebswirtschaftlichen Bereich Handhabung bzw. Ein-/Ausgabe großer Datenmengen statt der Ausführung umfangreicher Berechnungen Arbeitsgruppe vom amerikanischen Verteidigungs- ministerium eingesetzt, um einen Standard zu entwickeln Verschmelzung von FLOW-MATIC, COMTRAN und FACT 1960: COBOL-60 von CODASYL verabschiedet

4 HISTORISCHES [2/5] Grace Hopper: Grandma COBOL Eckdaten: 1930: Studium der Mathematik und Physik an Yale University 1934: an Yale promoviert 1944: in den Dienst der US-Navy arbeitete dort mit Mark I und leitete Aufbau von Mark II bis 1949: Forscherin an Harvard University 1966: Ruhestand (Reserve) 1967: von US-Navy in aktiven Dienst versetzt um Abhilfe bei verschiedensten Computerproblemen zu schaffen

5 HISTORISCHES [3/5] Grace Hopper: weitere Eckdaten: 1986: in den Rang eines Konteradmirals erhoben im Alter von 80 Jahren in den Ruhestand entlassen noch bis 1991 als Beraterin tätig maßgeblich an Mark I, Mark II und UNIVAC I beteiligt 1952 den ersten Compiler entwickelt (A-0) auf sie geht der Begriff debugging zurück

6 HISTORISCHES [4/5] First Computer Bug:

7 HISTORISCHES [5/5] Grace Hopper: wurde für ihre Leistungen mit über 90 Auszeichnungen geehrt u.a. mit mehr als 40 Ehrendoktorwürden 1969: Man of the Year Award der Datenverarbeitungsindustrie 1991: als erste Frau die National Medal of Technology 1996: Kriegsschiff USS Hopper vom Stapel gelassen ihr zu Ehren wird der Grace Murray Hopper Award verliehen

8 ENTWICKLUNG / STANDARDIS. [1/4] Entwicklung durch CODASYL COBOL-60 zeigte Potential und Nutzen der angestrebten gemeinsamen Programmiersprache COBOL-61 war nur teilweise kompatibel mit Vorgänger daraufhin: evolutionäre Weiterentwicklung (statt revolutionären Änderungen) COBOL-61 Extended: SORT REPORT WRITER (Zeilen, Seiten oder div. Layouts zur Laufzeit ausgeben)

9 ENTWICKLUNG / STANDARDIS. [2/4] Entwicklung durch CODASYL [Ergänzung] COBOL - EDITION 1965: interne Tabellen Dateiverarbeitung Erweiterungen durch X/Open Während der Bemühungen bzgl. eines Standards für UNIX wurden hierbei auch Spezifikationen für COBOL vereinbart Grundlage hierfür war COBOL-85 ohne Report Writer, Segmentierung, debugging mit Sperren auf Dateien, Interaktion über DISPLAY/ACCEPT

10 ENTWICKLUNG / STANDARDIS. [3/4] Standardisierung durch ANSI 1960: Committee on Computers and Information Processing mit Namen X3 geschaffen weiterhin wurde ein Unterausschuß X3.4 für Programmier- sprachen eingerichtet dieser richtete wiederum einen Unterausschuß X3.4.4 ein, der sich mit COBOL befassen sollte : erster Standard USA Standard COBOL 1968 (veröffentlicht als Dokument X ) nachfolgend wurde der Ausschuß X3.4.4 zum heute noch vorhandenen Technischen Komitee X3J4 gebildet

11 ENTWICKLUNG / STANDARDIS. [4/4] Standardisierung durch ANSI [Ergänzung] Mai 1974: American National Standard COBOL 1974 April 1985: COBOL-85 von dem inzwischen ANSI heißenden Entscheidungsgremium als ANS X veröffentlicht erstmals beliebig geschachtelte Entscheidungs- (IF/EVALUATE) und Wiederholungsanweisungen (PERFORM) möglich somit Einführung der strukturierten Programmierung aktueller Standard von 2002 internationale Zeichensätze, einschließlich UNICODE objektorientierte Programmierung, bedingte Compilierung, u.a. nächster Standard wird für 2008 vorbereitet

12 SYNTAX (C-80) [1/20] Aufbau eines COBOL-Programms Programmzeile entspricht Format einer Lochkarte Buchstaben sind festgelegte Positionen die ersten 6 und letzten 8 Positionen wurden auf Lochkarten für interne Informationen genutzt (z.B. fortlaufende Nummern) Struktur …80 CAB DIVISION SECTION Paragraph Satz Anweisung

13 SYNTAX (C-80) [2/20] die DIVISIONs 4 Pflichtbestandteile eines jeden Programms IDENTIFICATION DIVISION ENVIRONMENT DIVISION DATA DIVISION PROCEDURE DIVISION IDENTIFICATION DIVISION dient der Programm-Erkennung enthält Schlüsselwort PROGRAM-ID IDENTIFICATION DIVISION. PROGRAM-ID. MEINPROGGI.

14 SYNTAX (C-80) [3/20] die DIVISIONs [Ergänzung] ENVIRONMENT DIVISION Informationen über die Umwelt des Programms enthält zwei SECTIONS: CONFIGURATION SECTION beschreibt den Computer selbst INPUT-OUTPUT SECTION stellt Verbindung zur Außenwelt dar CONFIGURATION SECTION. SOURCE-COMPUTER. WINDOWS. OBJECT-COMPUTER. WINDOWS.

15 SYNTAX (C-80) [4/20] die DIVISIONs [Ergänzung] DATA DIVISION Informationen zu Daten und Variablen enthält die WORKING-STORAGE SECTION PROCEDURE DIVISION enthält das eigentliche Programm abgeschlossene Arbeitsanweisung mittels Punktierung DIALOG SECTION für Interaktion mit Nutzer DATA DIVISION. WORKING-STORAGE SECTION. 01 MEINEVARI PIC X(25).

16 SYNTAX (C-80) [5/20] Variablen in COBOL müssen außnahmslos vor Beginn der eigentlichen Befehlszeilen bekannt gemacht werden in der WORKING-STORAGE SECTION definiert dient der Reservierung des nötigen Speichers dürfen nicht gleichen Namen wie Befehlsworte haben max. Länge beträgt 30 Zeichen dürfen keine Leerzeichen enthalten Bindestrich nicht am Anfang oder am Ende müssen mindestens einen Buchstaben enthalten Art und Länge einer Variable müssen festgelegt werden (PIC)

17 SYNTAX (C-80) [6/20] Variablen in COBOL [Ergänzung 1] PICTURE IS (kurz: PIC) Datenhaltung: A… alphanumerische Zeichen X… alphanumerische Zeichen / nummerische Werte Rechnen: 9… numerische Werte V… gedachter Dezimalpunkt für Nachkommastellen Ausgabe: S… Zulassen von negativen Werten Z… unterdrückt führende Nullen.… Dezimalpunkt

18 SYNTAX (C-80) [7/20] Variablen in COBOL [Ergänzung 2] Bsp. 1: 3-stellige Zahl (MEINEZAHL) 5-stelliger String (MEINSATZ) Bsp. 2: nr 51 kann gespeichert werden WORKING-STORAGE SECTION. 01 MEINEZAHLPIC MEINSATZPIC AAAAA. WORKING-STORAGE SECTION. 01 MEINSATZPIC XXXXX.

19 SYNTAX (C-80) [8/20] Variablen in COBOL [Ergänzung 3] Bsp. 3: 999 ist äquivalent zu 9(3) A(80) wäre ein String, für den 80 Byte reserviert werden Bsp. 4: Verschieben von DMARK in DMOUT mittels MOVE WORKING-STORAGE SECTION. 01 MEINEZAHLPIC 9(3). 01 MEINSATZPIC A(5). 01 DMARKPIC 99999V DMOUTPIC

20 SYNTAX (C-80) [9/20] einfache Befehle ACCEPT Eingabeaufforderung an Nutzer es gilt: Länge EINGABEWERT Länge SPEICHERPLATZ DISPLAY Ausgabe auf Bildschirm DISPLAY SPACES. druckt eine Zeile Leerzeichen VALUE IS 01 DMARK PIC 999 VALUE IS NUMMER PIC 999 VALUE IS ZEROES.

21 SYNTAX (C-80) [10/20] einfache Befehle [Ergänzung 1] MOVE TO WORKING-STORAGE SECTION. 01 DMPIC 999V DMOUTPIC ZZ9.99. PROCEDURE DIVISION. ANFANG. DISPLAY ZAHL EINGEBEN. ACCEPT DM. DISPLAY DM. MOVE DM TO DMOUT. DISPLAY SPACES. DISPLAY DMOUT. ENDE. STOP RUN. ZAHL EINGEBEN

22 SYNTAX (C-80) [11/20] einfache Befehle [Ergänzung 2] MOVE ALL TO füllt mit oder erzeugt einen String der 40x das Zeichen = enthält GO TO unbedingter Sprung innerhalb eines Programms kann zur Endlosschleife führen 01 ZEILEPIC A(40). PROCEDURE DIVISION. MOVE ALL = TO ZEILE.

23 SYNTAX (C-80) [12/20] einfache Befehle [Ergänzung 3] ADD TO SUBSTRACT FROM Umgang mit negativen Zahlen: PIC bei Ausgabevariablen: ZZ9… zeigt nur Minus, falls es autaucht +ZZ9… zeigt das jeweils vorhandene Vorzeichen PIC bei Rechenvariablen: S999… vorzeichenbehaftete Variable

24 SYNTAX (C-80) [13/20] einfache Befehle [Ergänzung 4] MULTIPLY BY DIVIDE INTO COMPUTE = COBOL nicht für mathem. Probleme konzipiert muss nun { + * / } enthalten ROUNDED ADD ZAHL1 TO ZAHL2 ROUNDED. COMPUTE ERGEBNIS ROUNDED = ZAHL1 + ZAHL2.

25 SYNTAX (C-80) [14/20] einfache Befehle [Ergänzung 5] GIVING Ergebnis halten vergleichbar mit MOVE TO ON SIZE ERROR ruft eine bei Variablenüberlauf SUBSTRACT ZAHL1 FROM ZAHL2 GIVING ZAHL3. ADD 1 TO ZAHL ON SIZE ERROR GO TO ANFANG.

26 SYNTAX (C-80) [15/20] spezielle Befehle PERFORM Aufruf eines Unterprogramms PERFORM arbeite alle Anweisungen ab PERFORM THRU arbeite alle Anweisungen von bis ab PERFORM arbeite alle Anweisungen innerhalb ab PERFORM TIMES

27 SYNTAX (C-80) [16/20] spezielle Befehle [Ergänzung 1] PERFORM UNTIL Abarbeiten von endgeprüften Schleifen Vergleichsoperatoren: (NOT) = (NOT) > (NOT) < mehrfach Bedingungen durch AND bzw. OR PERFORM UNTIL.

28 SYNTAX (C-80) [17/20] spezielle Befehle [Ergänzung 2] PERFORM VARYING Abarbeiten von FOR - Schleifen wird auf gesetzt und solange um erhöht bis erfüllt ist Unterprogramme sind auch verschachtelbar (AFTER) PERFORM VARYING FROM BY UNTIL. PERFORM AUSSEN VARYING COUNT FROM 1 BY 1 UNTIL AUSSEN = 4 AFTER INNEN FROM 1 BY 1 UNTIL INNEN = 2.

29 SYNTAX (C-80) [18/20] spezielle Befehle [Ergänzung 3] IF ELSE IF. IF …. IF ELSE.

30 SYNTAX (C-80) [19/20] Besonderheiten SPECIAL–NAMES Ersetzung reservierter Wörter mit eigenen oder anderen reservierten Wörtern Ersetzung von $ durch DM Ersetzung von. durch, CONFIGURATION SECTION. SOURCE-COMPUTER. WINDOWS. OBJECT-COMPUTER. WINDOWS. SPECIAL-NAMES. CURRENCY SIGN IS DM. SPECIAL-NAMES. DECIMAL-POINT IS COMMA.

31 SYNTAX (C-80) [20/20] Besonderheiten [Ergänzung] COPY zusätzlicher Quelltext aus einer externen Datei wird vom Compiler geladen und mit übersetzt CALL aufrufen eines externen Programms aufgerufenes Programm muss eine LINKAGE SECTION enthalten, in der alle Datenbereiche der Übergabe und Rückgabe definiert sind

32 COBOL heute [1/3] eine der am weitesten verbreitete Programmiersprache (besonders für kommerzielle Zwecke) Haupteinsatzgebiet: betriebliche Datenverarbeitung an Stapelverarbeitung orientiert Schwerpunkt im Verarbeitungsteil von Programmen (bzgl. Aufteilung in GUI, Datenhaltung, Verarbeitung) spezifische und unabhängige GUI-Lösungen möglich Browser-Schnittstellen mit JAVA Visual Basic unter Windows

33 COBOL heute [2/3] hilfreich bei Erstellung von Online-Systemen (CICS, IMS) Transaktionsmonitore mit COBOL-tauglicher API IMS: reines CALL-Interface CICS: als EXEC-Sprache (Umsetzung in COBOL-Code durch Präprozessor) spezifische und unabhängige GUI-Lösungen möglich Browser-Schnittstellen mit JAVA Visual Basic unter Windows embedded SQL, stored Procedures

34 COBOL heute [3/3] nested program (Prozeduren mit lokalen Variablen) instrinsic functions (u.a. mathematische Funktionen) Rekursion bei externen Calls Objektorientierte Programmierung integrierter XML-Parser (XML PARSE) COBOL.Net (Integration in ASP)

35 QUELLEN WIKIPEDIA und weiterführende LINKs Buch: COBOL-80 VORTRAG Christian Theil, 02IN gehalten am: Oberseminar: Geschichte der Informatik (WS2005/06)


Herunterladen ppt "CO mmon B usiness O riented L anguage. GLIEDERUNG Historisches Allgemein Grace Hopper Entwicklung / Standardisierung CODASYL X/Open ANSI Syntax (C-80)"

Ähnliche Präsentationen


Google-Anzeigen