COBOL COBOL. Tobias Denzler Eve Morel. Für das Seminar: 10 Programmiersprachen



Ähnliche Dokumente
Informatik 12 Datenbanken SQL-Einführung

Stellen Sie bitte den Cursor in die Spalte B2 und rufen die Funktion Sverweis auf. Es öffnet sich folgendes Dialogfenster

Informatik I Tutorial

Programmieren mit COBOL

COBOL Programmierte Unterweisung

C++ Grundlagen. ++ bedeutet Erweiterung zum Ansi C Standard. Hier wird eine Funktion eingeleitet

Wie Sie beliebig viele PINs, die nur aus Ziffern bestehen dürfen, mit einem beliebigen Kennwort verschlüsseln: Schritt 1

Mit der Maus im Menü links auf den Menüpunkt 'Seiten' gehen und auf 'Erstellen klicken.

Der Aufruf von DM_in_Euro 1.40 sollte die Ausgabe 1.40 DM = Euro ergeben.

Vorwort 11 1 Einleitung Überblick Hardwareausstattung Softwarebausteine Programmentwicklung 19

Windows Server 2012 R2 Essentials & Hyper-V

Einrichten eines Postfachs mit Outlook Express / Outlook bis Version 2000

Anleitung zum erstellen einer PDF-Datei aus Microsoft Word

Kurzanleitung zur Softwareverteilung von BitDefender Produkten...2

AGROPLUS Buchhaltung. Daten-Server und Sicherheitskopie. Version vom b

Um ein solches Dokument zu erzeugen, muss eine Serienbriefvorlage in Word erstellt werden, das auf die von BüroWARE erstellte Datei zugreift.

Python SVN-Revision 12

Datenbanken Kapitel 2

Schritt-für-Schritt Anleitung: Windows 7 per USB-Stick installieren

Artikel Schnittstelle über CSV

Installation unter Windows

ITF2XML. Transferservice. Version 1.1. Tel.: 044 / Fax: 044 / CH-8005 Zürich

Access Grundlagen für Anwender. Andrea Weikert 1. Ausgabe, 1. Aktualisierung, Juli inkl. zusätzlichem Übungsanhang ACC2010-UA

Übungen zu C++ Kapitel 1

Informatik 1 Tutorial

Datenmaske für SPSS. Für die Datenanalyse mit SPSS können die Daten auf verschiedene Weise aufbereitet

Java Kurs für Anfänger Einheit 5 Methoden

Professionelle Seminare im Bereich MS-Office

Importdatei EGID/EDID mit Excel erstellen und bearbeiten

Installieren und Verwenden von Document Distributor

Klicken Sie auf Weiter und es erscheint folgender Dialog

Handbuch für Easy Mail in Leicht Lesen

TEAMWORK-Uploader. Dokumentenaustausch mit dem PC

Installation einer C++ Entwicklungsumgebung unter Windows --- TDM-GCC und Eclipse installieren

Tel.: Fax: Ein Text oder Programm in einem Editor schreiben und zu ClassPad übertragen.

Anwendungsbeispiele Sign Live! Secure Mail Gateway

Erweiterung der Aufgabe. Die Notenberechnung soll nicht nur für einen Schüler, sondern für bis zu 35 Schüler gehen:

Erster Bug: eine Motte

Kurzanleitung fu r Clubbeauftragte zur Pflege der Mitgliederdaten im Mitgliederbereich

Künstliches binäres Neuron

Kurzanleitung. Toolbox. T_xls_Import

MSDE 2000 mit Service Pack 3a

I Serverkalender in Thunderbird einrichten

Seriendruck mit der Codex-Software

Historical Viewer. zu ETC5000 Benutzerhandbuch 312/15

ecall sms & fax-portal

Angaben zu einem Kontakt...1 So können Sie einen Kontakt erfassen...4 Was Sie mit einem Kontakt tun können...7

Updatehinweise für die Version forma 5.5.5

Web-Kürzel. Krishna Tateneni Yves Arrouye Deutsche Übersetzung: Stefan Winter

Version 0.3. Installation von MinGW und Eclipse CDT

Einführung in. Logische Schaltungen

MORE Profile. Pass- und Lizenzverwaltungssystem. Stand: MORE Projects GmbH

ITF2XML. Transferservice. Version 1.0. infogrips GmbH, Zürich client10.doc, Revision 1.1. Tel.: 01 / Fax: 01 /

Binäre Bäume. 1. Allgemeines. 2. Funktionsweise. 2.1 Eintragen

Das DAAD-PORTAL. Prozess der Antragstellung in dem SAPbasierten Bewerbungsportal des DAAD.

Diese Anleitung enthält Anweisungen, die nur durch erfahrene Anwender durchgeführt werden sollten!

Anleitung für den Zugriff auf Mitgliederdateien der AG-KiM

Wissenswertes über binäre Felder

Access Verbrecherdatenbank Teil 3

XML-Austauschformat für Sicherheitsdatenblätter

Handbuch. NAFI Online-Spezial. Kunden- / Datenverwaltung. 1. Auflage. (Stand: )

WINDOWS 7 (32 o 64 bit)

ERSTE SCHRITTE.

Kurzeinführung LABTALK

MÄRZ 2004 DORIS STEINEGGER

Teil 2: Ablauf der Analyse festlegen

Bestands- und Abverkaufsmeldung Beschreibung Version 1.2

ACHTUNG: Es können gpx-dateien und mit dem GP7 aufgezeichnete trc-dateien umgewandelt werden.

Leitfaden zur Nutzung des System CryptShare

Interaktive Medien Richtlinien für das Codieren Version vom 18. Juni 2014

Anleitung zur Erstellung von Serienbriefen (Word 2003) unter Berücksichtigung von Titeln (wie Dr., Dr. med. usw.)

Kompatibilitätsmodus und UAC

How to do? Projekte - Zeiterfassung

Installationsanleitung. ipoint - Server

Bedienungsanleitung Anlassteilnehmer (Vereinslisten)

Allgemeines zu Datenbanken

Installationsanleitung

How to install freesshd

Um die Installation zu starten, klicken Sie auf den Downloadlink in Ihrer (Zugangsdaten für Ihre Bestellung vom...)

Anleitung zum erstellen von DVD/ CD zum Sichern der Volumes:

Stecken Sie Ihren USB Stick oder Ihre externe USB Festplatte in den USB Steckplatz des Sinus 154 DSL SE.

1.5 Umsatzsteuervoranmeldung

Laden der beiden virtuellen Orgeln (36 bzw. 100 Register) unter Hauptwerk

Österreichische Trachtenjugend

Serienbrief erstellen

Bedienungsanleitung Einsatzplanung. Bedienungsanleitung Einsatzplanung. Inhalt. Bedienung einer Plan-Tabelle

Installation der SAS Foundation Software auf Windows

Benutzer-Handbuch. Import / Export von Adressen

Zählen von Objekten einer bestimmten Klasse

Algorithmen und Datenstrukturen

POP -Konto auf iphone mit ios 6 einrichten

Würfelt man dabei je genau 10 - mal eine 1, 2, 3, 4, 5 und 6, so beträgt die Anzahl. der verschiedenen Reihenfolgen, in denen man dies tun kann, 60!.

Modul C: Konversion von physischen PC in VM

Datenexport aus JS - Software

Informationen zur IBAN-Pflicht ab 2014

Schmitt, Günter (1996): Fortran 90 Kurs technisch orientiert, R. Oldenbourg Verlag, München

Einfügen von Bildern innerhalb eines Beitrages

KURZANLEITUNG CYBERDUCK MIT CLOUD OBJECT STORAGE

Transkript:

COBOL Tobias Denzler Eve Morel Für das Seminar: 10 Programmiersprachen COBOL Common Business Oriented Language Cobol verwirrt das Gehirn; diese Sprache zu lehren, sollte deshalb als kriminelle Tat verfolgt werden. Edsger W. Dijkstra 1

Geschichte 1959 US-Verteidigungsministerium und Industrie gründen CODASYL (COnference on DAta SYstems Languages) 1960 Erste COBOL-Normung 1968, 1974, 1985, 2002 neue, erweiterte COBOL-Normen Ein paar Zahlen 1997: ca. 300 Billionen Code-Zeilen. Davon 80 % in Cobol und 20% in restlichen existierenden Programmiersprachen 1999: 50% aller kritischen Applikationen werden in COBOL programmiert. 2

Anwendungen Betriebliche Datenverarbeitung Einsatzschwerpunkt im Verarbeitungsteil (embedded SQL) Integration von COBOL in.net in aspx Seiten <%@ page language="cobol" %> <script runat="server"> OBJECT. DATA DIVISION. WORKING-STORAGE SECTION. 77 I PIC S9(5) COMP-5. END OBJECT. </script> Vorteile Leicht lesbar, wenn man Englisch versteht. Selbstdokumentierend Luxuriöse Druckausgabe und Gestaltungsmöglichkeit Portabel Wartbar (man weiss genau wo was zu ändern ist) 3

Nachteile Viel Schreibarbeit, da fast vollständige englische Sätze. Aufbau eines Cobol-Programms folgt einem starren Schema. Programmaufbau Idee: Das traditionelle Codierschema bei Cobol entspricht der Lochkarte mit ihren 80 Spalten, d.h. Schreibstellen. 4

Codierschema 1-6: Numerierung der Zeile 7: Steuerungsfunktionen 8-11: A-Rand: Überschriften (DIVISON, SECTION, ) 12-72: B-Rand: übrigen Anweisungen (Eintrag, Satz) 73-80: Bemerkungen, Kommentare HelloWorld IDENTIFICATION DIVISION. PROGRAM-ID. HelloWorld. DATA DIVISION. PROCEDURE DIVISION. Welcome. DISPLAY Hello World STOP RUN. 5

Programm Struktur Vier Hauptteile: DIVISIONS unterteilt in SECTIONS unterteilt in PARAGRAPHEN IDENTIFICATION DIVISION ENVIRONMENT DIVISION DATA DIVISION PROCEDURE DIVISION IDENTIFICATION DIVISION (allgemeine einleitende Bemerkungen besteht nur aus Paragraphen) Beispiel IDENTIFICATION DIVISION. PROGRAM-ID. Test-Beispiel. AUTHOR. Denzler-Morel. INSTALLATION. Basel. DATE-WRITTEN. Mai 2007. DATE-COMPILED. SECURITY. NONE. REMARKS. ANSI-85. Regeln für Paragraphen Beginnt mit Überschrift und neuer Zeile Überschrift endet mit einem Punkt Nach einem Punkt kommt einen Leerschlag oder eine neue Zeile Paragraph endet mit einem Punkt Nur PROGRAM-ID ist obligatorisch 6

ENVIRONMENT DIVISION (beschreibt Programmumgebung) Beispiel ENVIRONEMENT DIVISION. CONFIGURATION SECTION. SOURCE-COMPUTER. Windows. OBJECT-COMPUTER. Windows. INPUT-OUTPUT SECTION. FILE-CONTROL. SELECT Bestell-file ASSIGN TO RANDOM B:Best.Dat. SELECT DRUCKER ASSIGN TO PRINT PRN. Diese Division ist nicht obligatorisch (seit COBOL-85) CONFIGURATION SECTION beschreibt Rechnerausstattung INPUT-OUTPUT SECTION beschreibt Verbindung zwischen Programm und externen Medien DATA DIVISION (alle Daten werden hier definiert) Beispiel DATA DIVISON. FILE SECTION. FD BESTELL-FILE. 01 BESTELLSATZ. 05 Bestell-Nr PIC 9(4). 05 Kunden-Nr PIC 9(10). 05 Kunden-Name PIC X(28). FD DRUCKER. 01 Zeile PIC X(132). WORKING-STORAGE SECTION. 77 Zeilenzähler PIC 99. 01 UEBERSCHRIFT. 05 FILE SECTION: Strukturen der Datensätze und Datentypen für externe Dateien. WORKING-STORAGE SECTION: Daten die intern im Programm erzeugt werden. (lediglich im Arbeitsspeicher) LINKAGE SECTION: Daten, die ein (mit CALL) aufgerufenes Unterprogramm benutzen soll. Alle drei SECTION sind optional. Wenn aber benutzt in dieser Reihenfolge. Falls keine der SECTION benötigt wird (unrealistisch), muss zumindest DATA DIVISION. angegeben werden. LINKAGE SECTION.... 7

PROCEDURE DIVISION (beschrieb der einzelnen Verarbeitungsschritte) Beispiel PROCEDURE DIVISION. EINGABE. DISPLAY Kapital?, ACCEPT KAPITAL. DISPLAY Zinsfuss, ACCEPT ZINSFUSS. BERECHNUNG. COMPUTE Endkapital = Kapital * (1 + Zinsfuss / 100). AUSGABE. DISPLAY ENDKAPITAL : Endkapital STOP RUN. SECTIONS und PARAGRAPHEN werden vom Programmierer benannt. SECTIONS sind nicht obligatorisch, aber wenn es welche gibt ist folgendes zu beachten: Keine Paragraphen oder Anweisungen die nicht einer SECTION untergeordnet ist. Wenn eine SECTION in Paragraphen unterteilt ist, müssen alle SECTIONS Paragraphen beinhalten. STOP RUN. kennzeichnet das logische Programm- Ende. DATA DIVISION: Datenhierarchie Datenelemente Gruppen Datensätze Datenfeld Zusammenfassung von Datenfelder Zusammenfassung von Datenelementen und Gruppen Stufennummern 01 bis 49 Oberste Ebene ist der Datensatz (Nummer 01) Niedrigere Hierarchiestufen haben eine höhere Nummer Gleiche Ebenen haben die gleiche Nummer Stufennummern müssen nicht durchgehend benutzt werden 8

Datenhierarchie Beispiel 01 ANSCHRIFT. (Datensatz) 02 NAME. (Gruppe) 03 VORNAME. (Datenelement) 03 NACHNAME. (Datenelement) 02 ADRESSE. (Gruppe) 03 STRASSE. (Datenelement) 03 WOHNORT. (Gruppe) 10 PLZ. (Datenelement) 10 ORT. (Datenelement) Datentypen 3 Datenfelder: Alphabetische (Alphabet und Leerzeichen, definiert durch A ) Alphanumerische (Alle Zeichen, definiert durch X ) Numerische (nur Ziffern, definiert durch 9 ) B steht für Blank also Leerschlag (um einen Leerschlag zu erzwingen) Datentypen können gemischt werden (siehe Beispiel) Datenlänge: Wird definiert durch Wiederholung des Zeichens oder durch Angabe in Klammern 9

Datentyp Beispiele PIC XXXX (vierstelliges alphanumerisches Datenelement) PIC X(4) ( ) PIC 9(10) (zehnstelliges numerisches Datenelement) PIC A(5)B99BA(3) (Beispielwert: morel 79 fem) PIC 999V99 (V steht für Komma, Beipiel: 123.45) PIC S999V99 (S steht für Vorzeichen, Beipsiel: -123.45) 77 Zeilenzähler VALUE 1. (Variable Zeilenzähler wird direkt mit 1 initialisiert) Datentyp Beispiel 01 ANSCHRIFT. 02 NAME. 03 VORNAME. PIC A(10) 03 NACHNAME. PIC A(10) 02 ADRESSE. 03 STRASSE. PIC X(15) 03 WOHNORT. 10 PLZ. PIC 9(4) 10 ORT. PIC X(10) 10

PROCEDURE DIVISION: Anweisungen Unbedingte Anweisungen: (Befehl wird sofort ausgeführt) ACCEPT SUBSTRACT MOVE RUN CLOSE ADD DELETE STOP DISPLAY COMPUTE READ WRITE MULTIPLY DIVIDE OPEN Bedingte Anweisungen: (Befehl mit Bedingung) IF PERFORM EVALUATE Vergleichsoperatoren: IS [NOT] GREATER THAN IS [NOT] > Verknüpfungen: AND OR IS [NOT] EQUAL TO IS [NOT] LESS THAN IS [NOT] = IS [NOT] < NOT Beispiele von Anweisungen MULTIPLY wert BY 5 GIVING result MULTIPLY wert BY 5 COMPUTE result = wert*5 wert bleibt wert, result = wert*5 wert = wert*5 COMPUTE result1 ROUNDED, result2 = ((9*9)+8/5) result1 = 18, result2 = 17,8 ADD 10 TO wert MOVE 10 TO wert wert = wert+10 wert wird mit 10 belegt MOVE ZERO TO MAX DISPLAY Zahl eingeben:, ACCEPT WERT PERFORM UNTIL WERT = 0 IF WERT > MAX MOVE WERT TO MAX END-IF DISPLAY Zahl eingeben:, ACCEPT WERT END-PERFORM DISPLAY Die grösste Zahl war:, MAX STOP RUN. 11

I/O Dateien schreiben ENVIRONMENT DIVISION. INPUT-OUTPUT SECTION. FILE-CONTROL. SELECT Datei ASSIGN TO 'output.dat'. DATA DIVISION. FILE SECTION. FD Datei LABEL RECORD STANDARD. 01 Zeile PIC X(80). PROCEDURE DIVISION. OPEN OUTPUT Datei. WRITE Zeile (Datei öffnen) (Daten schreiben) I/O Dateien lesen OPEN INPUT Datei. READ Datei AT END MOVE 'E' TO S-Ende. PERFORM UNTIL S-Ende = 'E' END-PERFORM. Dateien schliessen CLOSE Datei (Datei schliessen) 12

Quellen http://www.csis.ul.ie/cobol/course/ http://de.wikipedia.org/wiki/cobol http://www.cobolstandards.com/ http://www.cs.vu.nl/grammars/cobol/ Diverse Bücher: COBOL auf dem PC, G.Barta / W.Maresch COBOL der Einstieg, Andreas Tietz Programmieren mit COBOL, Klaus Arzdorf (Tutorial) (Grammatik, Keywords) Aufheiterung :-) Humans can write music, start wars, build cities, create art, fall in love, dream of colonizing the solar system, but they cannot write bug-free COBOL. James Martin 13