21.01.2013 Aufrufe

Programmiersprache - Retroware.de

Programmiersprache - Retroware.de

Programmiersprache - Retroware.de

MEHR ANZEIGEN
WENIGER ANZEIGEN

Erfolgreiche ePaper selbst erstellen

Machen Sie aus Ihren PDF Publikationen ein blätterbares Flipbook mit unserer einzigartigen Google optimierten e-Paper Software.

COBOL 39<br />

Dezimaltrennzeichen (V) etc., und bestimmen eine elementare Variable damit als entwe<strong>de</strong>r alphabetisch,<br />

alphanumerisch, numerisch o<strong>de</strong>r numerisch-editiert.<br />

In COBOL wird die Formatierung für sichtbare Ausgabe eben durch die Daten<strong>de</strong>klaration erledigt, nicht durch<br />

prozedurale Anweisungen wie in Sprachen wie Pascal o<strong>de</strong>r C. Den Rest <strong>de</strong>r insgesamt etwa 60 möglichen Klauseln<br />

einer Daten<strong>de</strong>klaration möge man in einem COBOL-Handbuch nachschlagen.<br />

Prozedurale Anweisungen<br />

In <strong>de</strong>r Procedure Division fin<strong>de</strong>t sich <strong>de</strong>r ausführbare Programmco<strong>de</strong>. Die Ausführung beginnt mit <strong>de</strong>r ersten<br />

Anweisung hinter <strong>de</strong>r Überschrift Procedure Division bzw. <strong>de</strong>n DECLARATIVES, <strong>de</strong>ren Ausführung nur durch<br />

bestimmte Ereignisse ausgelöst wird. Danach wer<strong>de</strong>n alle Anweisungen sequentiell ausgeführt, bis ein STOP RUN<br />

das Programm been<strong>de</strong>t, o<strong>de</strong>r ein GO TO zu einer an<strong>de</strong>ren Stelle im Programm verzweigt.<br />

Die Procedure Division besteht aus einer o<strong>de</strong>r mehreren Prozeduren. Eine Prozedur ist entwe<strong>de</strong>r<br />

• eine Section: Ein Name, <strong>de</strong>r in Spalte 8 beginnt gefolgt von <strong>de</strong>m Schlüsselwort SECTION und einem Punkt.<br />

• eine Gruppe von Sections<br />

• ein Paragraph: Ein Name, <strong>de</strong>r in Spalte 8 beginnt und mit Punkt en<strong>de</strong>t.<br />

• eine Gruppe von Paragraphs<br />

Eine solche Prozedur besteht dann aus einem o<strong>de</strong>r mehreren Cobol-Anweisungen (Statements).<br />

Prozeduren können mit <strong>de</strong>r Cobol-Anweisung Perform ausgeführt wer<strong>de</strong>n. Es gibt keine formale<br />

Parameterübergabe, alle Prozeduren haben Zugriff auf alle Fel<strong>de</strong>r in <strong>de</strong>r Data Division.<br />

Mittels CALL können externe Programme (Cobol o<strong>de</strong>r an<strong>de</strong>re <strong>Programmiersprache</strong>n) aufgerufen wer<strong>de</strong>n. Dabei<br />

wer<strong>de</strong>n Parameter By Reference o<strong>de</strong>r By Content übergeben, wodurch unterschie<strong>de</strong>n wird, ob das aufgerufene<br />

Programm übergebene Variablen im aufrufen<strong>de</strong>n Programm än<strong>de</strong>rn kann.<br />

Cobol unterstützt (wenn auch mühselig) die strukturierte Programmierung; die Verwendung <strong>de</strong>s ebenfalls zulässigen<br />

GOTOs ist heute verpönt. In <strong>de</strong>r professionellen Programmierung herrschen hausinterne Programmierstandards,<br />

welche in <strong>de</strong>r Mehrzahl festlegen, dass Prozeduren ausschließlich aus einer Section bestehen.<br />

Ziel <strong>de</strong>r Cobol-Syntax soll sein, dass auch ein nicht an formale Programmiersyntax gewohnter Mensch <strong>de</strong>n Sinn<br />

eines Cobol-Programm erahnen kann (wenn er o<strong>de</strong>r sie etwas Englisch kann). Alle Cobol-Anweisungen beginnen<br />

mit einem Verb, und davon gibt es viele.<br />

Einfache Co<strong>de</strong>schnipsel<br />

Zur Darstellung <strong>de</strong>r Syntax wird einfaches C (o<strong>de</strong>r Java) zu Hilfe genommen.<br />

• Ein a = b; ist in Cobol MOVE b TO a.<br />

• Wenn es zum Beispiel in C heißt a = b + c;, dann schreibt ein Cobol-Programmierer entwe<strong>de</strong>r ADD b TO c<br />

GIVING a o<strong>de</strong>r alternativ COMPUTE a = b + c.<br />

• Ein a++; in C entspricht auf Cobol ADD 1 TO a.

Hurra! Ihre Datei wurde hochgeladen und ist bereit für die Veröffentlichung.

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!