A.1 reservierte COBOL-Wörter Anhang

Ähnliche Dokumente
COBOL Programmierte Unterweisung

Programmieren mit COBOL

~ ~

Vorwort 11 1 Einleitung Überblick Hardwareausstattung Softwarebausteine Programmentwicklung 19

Common Business Oriented Language. Teil 1 - Einführung

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

Wahlmodule Report Writer Communication (Datenferniibertragung) Debug (Programmtesthilfen) Segmentation

Teil 5 COBOL. COmmon Business Oriented Language 60

Inhaltsverzeichnis. Vorwort zur zweiten amerikanischen Ausgabe 19 Vorwort zur deutschen Ausgabe 25 Vorbemerkungen 29

COBOL. COBOL by the numbers (Quelle: ZDNet / Gartner Inc., 2001) Teil 5. Sprache ohne Programmierer. Entwurfsprinzipien

Anhang. A.l Liste der reservierten COBOL-Worter

Dateneingabe und Transformation Übersicht

E. H. Peter Roitzsch. COBOL Das Handbuch für den professionellen Programmierer

VDA-Empfehlung 4905 Lieferabruf / VDA 4905 delivery schedule

Ideal Message Schweiz EDI Implementation Documentation

19. STL Container Programmieren / Algorithmen und Datenstrukturen 2

Zeilen in SAS-Datensatz einfügen

PeakTech Zeitprogramm erstellen über Excel - Beispiel / Timed programs with Excel Example

Algebraische Spezifikation von Software und Hardware II

1. Definition. 2. Interne Speicherung der Zeichenketten. 3. Vereinbarung von Zeichenketten

Data exchange with Prosonic Flow 93T

Generischer Excel-Upload

Standardtext ins PDF-Format konvertieren

Agenda. FRA Was ist das? Warum sollte die FRA genutzt werden? FRA INIT Paramter Verzeichnisstruktur (Beispiel) Überwachung der Flash Recovery Area

ids-system GmbH Tipp #3 Leer-Strings in SQL oder die Frage nach CHAR oder VARCHAR

MATLAB driver for Spectrum boards

Introduction to Python. Introduction. First Steps in Python. pseudo random numbers. May 2016

RMS-Tuning nach 4 Jahren

Funktionen. Überblick über Stored Functions. Syntax zum Schreiben einer Funktion. Schreiben einer Funktion

Übung 3: VHDL Darstellungen (Blockdiagramme)

How-To-Do. Hardware Configuration of the CC03 via SIMATIC Manager from Siemens

COBOL Grundlagen. Übungen zur Schulung

p^db=`oj===pìééçêíáåñçêã~íáçå=

JAVA Look & Feel Design Guidelines

Use of the LPM (Load Program Memory)

Word-CRM-Upload-Button. User manual

Erstellen, Kompilieren und Ausführen eines PLI-Programms

2017/01/23 15:50 1/5 Bedienung

Stefan Dahler. 1. Konfiguration der Stateful Inspection Firewall. 1.1 Einleitung

p^db=`oj===pìééçêíáåñçêã~íáçå=

Einheit Datentypen in der Programmiersprache C Schwerpunkt: Elementare (arithmetische) Datentypen

A) Durchsuchen von Datenbanken im Internet durch Endnote

The process runs automatically and the user is guided through it. Data acquisition and the evaluation are done automatically.

R&R. Ges. für Rationalisierung und Rechentechnik mbh. R&R RR-P-508 / ST106-EX1 motor-control unit

4.Grundsätzliche Programmentwicklungsmethoden

TIn 1: Feedback Laboratories. Lecture 4 Data transfer. Question: What is the IP? Institut für Embedded Systems. Institut für Embedded Systems

Assembler (NASM) Crashkurs von Sönke Schmidt

Umrechnungsfunktionen Simatic S5-Gleitpunkt-Format in S7 Real und zurück Converting Simatic S5 floating point format to S7 real and reverse

Einführung in die Programmierung mit VBA

How-To-Do. Hardware Configuration of the CPU 317NET with external CPs on the SPEED Bus by SIMATIC Manager from Siemens

UE Algorithmen und Datenstrukturen 1 UE Praktische Informatik 1. Übung 2. Spezifikation Schrittweise Verfeinerung

Prozedurale Datenbank- Anwendungsprogrammierung

Chipkarten mit synchroner Übertragung - Anwendung von Interindustry Commands

USB I2C Spy V1.0 Manual

PRICAT FIXSORT Message

PLC-5- und SLC-Prozessoren im DH+ Verbund (SLC 5/04 -Prozessoren)

THEMA: GUT VORBEREITET IST HALB ZERTIFIZIERT ANTWORTEN ZUR SAS VISUAL ANALYTICS-ZERTIFIZIERUNG" THOMAS WENDE

Wie rechnet ein Rechner?

Anwendungsentwicklung Datenbanken SQL. Stefan Goebel

Correspondence between initialisation table and Common Criteria Evaluation

<Insert Picture Here> RMAN Full Backups zum Preis von inkrementellen Backups

User Guide Agile Scorecard

LCD Display 20x4 mit Buttons

0 C (Carry) Überlauf des 8ten Bits. 1 DC (Digit Carry) Überlauf des 4ten Bits. Mnemonic Parameter Beschreibung Status-Flags.

Technische Information

Übersetzerbau Cluj-Napoca, Rumänien 2007

Die Datenmanipulationssprache SQL

NEVADA. deutsch. Com F<91919 O I ELLIS COMPUTING SOFTWARE TECHNOLOGY COMFOOD. - Wir füttern Ihren Computer - ComFood GmbH, FlaBkamp 24,4400 MQiwtcr

Includes/ Programme generieren

1. General information Login Home Current applications... 3

3 Rechnen und Schaltnetze

Exercise (Part I) Anastasia Mochalova, Lehrstuhl für ABWL und Wirtschaftsinformatik, Kath. Universität Eichstätt-Ingolstadt 1

C++ Teil 7. Sven Groß. 3. Juni Sven Groß (IGPM, RWTH Aachen) C++ Teil 7 3. Juni / 16

Revised Report on the Algorithmic Language SCHEME

Abteilung Internationales CampusCenter

Einführung in die STL

ISU 1. Ue_08/02_Datenbanken/SQL. 08 Datenbanken. Übung. SQL Einführung. Eckbert Jankowski.

Description of version PASO MD2

SQL für Trolle. mag.e. Dienstag, Qt-Seminar

Einleitung Die Pins alphabetisch Kapitel 1 Programmierung des ATmega8 und des ATmega

Restschmutzanalyse Residual Dirt Analysis

zu große Programme (Bildschirmseite!) zerlegen in (weitgehend) unabhängige Einheiten: Unterprogramme

Installation Guide WLAN Interface

Ingenics Project Portal

Syntax der Sprache PASCAL

Zwischenklausur Informatik, WS 2016/17. Lösungen zu den Aufgaben

Wirkung Addiert den Inhalt eines numerischen Datenobjekts dobj1 zum Inhalt eines numerischen Datenobjekts dobj2 und weist das Ergebnis dobj2 zu.

Import von Text-Dateien. Einzelne Wörter einlesen.

Algorithms for graph visualization

Einführung in die Programmierung I. 2.0 Einfache Java Programme. Thomas R. Gross. Department Informatik ETH Zürich

Java Tools JDK. IDEs. Downloads. Eclipse. IntelliJ. NetBeans. Java SE 8 Java SE 8 Documentation

... ASCII Dez. Hex. Symbol Binär Bedeutung. Anhang 1 595

Tube Analyzer LogViewer 2.3

Das Modul kann thermische oder 3-stufige Aktoren regeln, wie auch vier 0-10 VDC analoge Ausgänge.

Anhang A: Tasten-Kodierung

BA63 Zeichensätze/ Character sets

Themen des Kapitels. 2 Grundlagen von PL/SQL. PL/SQL Blöcke Kommentare Bezeichner Variablen Operatoren. 2.1 Übersicht. Grundelemente von PL/SQL.

Im Fluss der Zeit: Gedanken beim Älterwerden (HERDER spektrum) (German Edition)

Lexikalische Struktur von Fortran 95. Normierte Zeichensätze

Installation MySQL Replikationsserver

Transkript:

A.1 reservierte COBOL-Wörter - 248 - Anhang A.l Liste der reservierten COBOL-Wörter des Standards ANSI-74 ACCEPT COMMUNICATION DIVIDE 1-0 MERGE ACCESS COMP DIVISION I-O-CONTROL MESSAGE ADD COMPUTATIONAL DOWN IDENTIFICATION MODE ADVANCING COMPUTE DUPLICATES IF MODULES AFTER CONFIGURATION DYNAMIC IN MOVE ALL CONTAINS EGI INDEX MUL TIPLE ALPHABETIC CONTROL INDEXED MULTIPLY ALSO CONTROLS EMI INDICATE NATIVE ALTER COPY ENABLE INITIAL NEGATIVE ALTERNATE CORR END INITIATE NEXT AND CORRESPONDING END-OF-PAGE INPUT NO ARE COUNT ENTER INPUT-OUTPUT NOT AREA CURRENCY ENVIRONMENT INSPECT NUMBER AREAS DATA EOP INSTALLATION NUMERIC ASCENDING DATE EQUAL INTO OBJ ECT -COMPUTER ASSIGN DATE-COMPILED ERROR INVALID OCCURS AT DATE-WRITTEN ESI IS OF AUTHOR DAY EVERY JUST OFF BEFORE OE EXCEPTION JUSTIF IED OMITTED BLANK DEBUG-CONTENTS EXIT KEY ON BLOCK DEBUG-ITEM EXTEND LABEL OPEN BOTTOM DEBUG-LINE FD LAST OPTIONAL BY DEBUG-NAME FILE LEADING OR CALL o EBUG- SU B-1 FILE-CONTROL LEFT ORGANIZATION CANCEL DEBUG-SUB-2 FILLER LENGTH OUTPUT CD DEBUG-SUB-3 FINAL LESS OVERFLOW CF DEBUGGING FIRST LIMIT PAGE CH DECIMAL-POINT FOOTING LIMITS PAGE-COUNTER CHARACTER DECLARATIVES FOR LI NAGE PERFORM CHARACTERS DELETE FROM LINAGE-COUNTER PF CLOCK-UNITS DELIMITED GENERATE LINE PH CLOSE DELIMITER GIV I NG LINE-COUNTER PIC COBOL DEPENDING GO LINES PICTURE CODE DESCENDING GREATER LINKAGE PLUS CODE-SET DESTINATION GROUP LOCK POINTER COLLATING DETAIL HEADING LOW-VALUE POSITION COLUMN DISABLE HIGH-VALUE LOW-VALUES POS ITIVE COMMA DISPLAY HIGH-VALUES MEMORY PR I NTI NG

- 249 - A.1 reservierte COBOL-Wörter PROCEDURE REPLACING SEGMENT -LIMIT STRING TOP PROCEDURES REPORT SELECT SUB-QUEUE -1 TRAILING PROCEED REPORTI NG SEND SUB-QUEUE-2 TYPE PROGRAM REPORTS SENTENCE SU B- QU EU E -3 UNIT PROGRAM-ID RERUN SEPARATE SUBTRACT UNSTRING QUEUE RESERVE SEQUENCE SUM UNTIL QUOTE RESET SEQUENTIAL SUPPRESS UP QUOTES RETURN SET SYMBOLIC UPON RANDOM REVERSED SIGN SYNC USAGE RD REWIND SIZE SYNCHRONIZED USE READ REWRITE SORT TABLE USING RECEIVE RF SORT-MERGE TALL YING VALUE RECORD RH SOURCE TAPE VALUES RECORDS RIGHT SOURCE-COMPUTER TERMINAL VARYING REDEFINES ROUNDED SPACE TERMINATE WHEN REEL RUN SPACES TEXT WITH REFERENCES SAME SPECIAL-NAMES THAN WORDS RELATIVE SO STANDARD THROUGH WORKING-STORAGE RELEASE SEARCH STANDARD-1 THRU WRITE REMAINDER SECTION START TIME ZERO REMOVAL SECURITY STATUS TIMES ZERO ES RENAMES SEGMENT STOP TO ZEROS Anmerkung: Als Ergänzung geben wir nun die Liste der COBOL-Wörter an, welche im Standard ANSI-68, aber nicht mehr im Standard ANSI-74 reserviert sind: ACTUAL ENDING FILE-LIMITS REMARKS ADDRESS EXAMINE NOTE SEEK BEGINNING FILE-LIMIT PROCESSING TALLY Natürlich existieren weitere jeweils Hersteller-abhängige reservierte COBOL-Wörter. Außerdem sind bestimmte Wörter des Standards ANSI-74 nicht in der Liste der im Standard ANSI-68 reservierten COBOL-Wörter enthalten. Benutzt man ein reserviertes COBOL-Wort irrtümlich als Programmierer-Wort, so führt dies zu einer entsprechenden Fehlermeldung des Kompilierers. Daher sollte man keines der in den oben angegebenen Listen aufgeführten Wörter als Programmierer-Wort verwenden. Um ganz sicher zu gehen, sollte man sich vor der Kodierung eines COBOL-Programms über die reservierten Wörter informieren, welche vom jeweiligen Hersteller zusätzlich vereinbart sind.

A.2 ANSI-Modul-Schema - 250 - A.2 Bausteine des COBOL-Sprachumfangs Der Leistungsumfang der Kompilierer, welche von den einzelnen Herstellern angeboten werden, kann mit Hilfe des vom ANSI festgelegten Modul-Schemas (Baustein-Einteilung) exakt beschrieben werden. Im Standard ANSI-68 besteht der volle Sprachumfang aus acht Moduln mit bis zu jeweils drei Leistungsstufen (level): Nuc 1 eus (Kern) NUCI I NUC2 Table Handling (Tabellenverarbeitung) TBLl TBL2 TBL3 Sequential Access (Sequentieller Datei-Zugriff) SEQl I SEQ2 Random Access (Wahlweiser Datei-Zugriff) Null RACl RAC2 Sort (COBOL-Internsort) Null SRTl SRT2 Report Writer (Listengenerator) Null RPWl RPW2 Segmentation (Segmentierung) Null SEGI SEG2 Library (Programmzeilen-Bibliothek) Null LIBI LIB2 Die Leistungsstufe "Null" bedeutet, daß der entsprechende Modul nicht vorhanden sein muß, um den Kompilierer trotzdem als ANSI-COBCL-Kompilierer klassifizieren zu können. Der volle ANSI-COBOL-Sprachumfang wird durch die Gesamtheit der Moduln NUC2, TBL3, SEQ2, RAC2, SRT2, RPW2, SEG2 und LIB2 ausgemacht.*) Für den Standard ANSI-74 ist das folgende Leistungsspektrum festgelegt: Nucl eus NUCI NUC2 Table Handling TBLl TBL2 - Sequential 1-0 (Sequentielle Datei-Organisation) SEQl SEQ2 Relative 1-0 (Relative Datei-Organisation) Null RELl REL2 Indexed 1-0 (Index-sequentielle Datei-Organisation) Null INXl INX2 Sort-Merge (COBOL-Internsort und Mischen) Null SRTl SRT2 Report Writer Null RPWl Segmentation Null SEGI SEG2 Library Null LIBI LIB2 Debug (Programmtesthilfen) Null DEB1 DEB2 Interprogram Communication (Unterprogrammtechnik) Null IPCl IPC2 Communication (Datenfernübertragung) Null COMI COM2 *) Die Beschreibung der einzelnen Leistungsstufen übersteigt den Rahmen dieser Einführungsschrift. Eine detailierte Darstellung ist den entsprechenden Standards ANSI-68 und ANSI-74 zu entnehmen, siehe z.b.: - DIN 66 028 Programmiersprache COBOL, Januar 1975, Beuth Verlag Gmbh, Berlin - DIN 66 028 Programmiersprache COBOL, September 1979, Beuth Verlag Gmbh, Berlin

- 251 - A.3 EBCDI-Kode A.3 EBCDI-Kode und Sortierfolge-Ordnung EBCDI-Kode Die Speicherablage im Intern-Kode EBCDI (~xtended ~inary ~oded ~ecimal ~nterchange) geben wir exemplarisch für die Zeichen des sog. COBOL-Zeichenvorrats (character set) an, aus welchen jedes COBOL-Programm aufgebaut ist. *) f-i ---- 1 f Zonenteil (linkes Halbbyte) -----------1 Sedezima zi fer ~ I Bitmus 4 5 6 7 8 9 A B C D E F ter~ ~~ 0100 0101 0110 0111 1000 1001 1010 1011 1100 1101 1110 1111 0 0000 u & - 0 1 0001 / a j A J 1 2 0010 b k s B K S 2 3 0011 c 1 t C L T 3 4 0100 d m u D M U 4 5 0101 e n v E N V 5 6 0110 f 0 w F 0 W 6 Zi ffernteil 7 ( rechtes 0111 g P x G P X 7 Halbbyte) 8 1000 h q Y H Q y 8 9 1001 i r z I R Z 9 A 1010! : B 1011 ~, *- C 1100 < % @ '* I D 1101 ( ) E 1110 + ; > = F 1111? " Jede Sedezimalziffer beschreibt abkürzend das neben ihr angegebene Bitmuster. Z.B. hat der Buchstabe N.die Sedezimalziffer D als Zonenteil und die Sedezimalziffer 5 als Ziffernteil und damit die Sedezimal-Darstp1lung D5 16. Sortierfolge-Ordnung Die Sortierfolge-Ordnung der Zeichen des Intern-Kodes wird durch die numerischen Werte festgelegt, welche durch die jeweiligen Sedezimal-Darstellungen der einzelnen Zeichen impliziert wird. Z.B. gilt für die Ziffer 4 und den Buchstaben A (im EBCDI-Kode): Ziffer 4 F4 16 ~ 11110100 A 1*27 + 1*2 6 + 1*2 5 + 1*2 4 + 0*2 3 + 1*22 + 0*2 1 + 0*2 0 Buchstabe A: Cl 16 ~ 11000001 ~ 1*27 + 1*2 6 + 0*2 5 + 0*2 4 + 0*2 3 + 0*22 + 0*2 1 + 1*2 0 Damit ergibt sich der numerische Wert des Buchstabens A zu 193 und der Ziffer 4 zu 244. *) Die Kleinbuchstaben und die Zeichen &! %? : t ~ I zählen nicht zum COBOL-Zeichenvorrat. Diese Zeichen dürfen jedoch - genauso wie alle weiteren im Intern-Kode darstellbaren Zeichen - innerhalb von alphanumerischen Literalen kodiert werden.

A.4 ungepackte Dezimal-Darstellung - 252 - Wegen der Relation "244 > 193" ist folglich die Ziffer 4 in der Sortierfolge-Ordnung größer als der Buchstabe A. Im folgenden Schema geben wir die unterschiedlichen Sortierfolge-Ordnungen eines erweiterten COBOL-Zeichenvorrats (vgl. S. 251) für die Kodes EBCOI (z.b. SIEMENS und IBM), ASCII (z.b. HONEYWELL) und ZCl (TR 440) an, wobei die einzelnen Zeichen in aufsteigender Sortierfolge-Ordnung aufgeführt sind: I EBCD-I; t ~ < + & ~ * / % >? =IF @I b z A B Z 0 1 9 11 u '#' ~ % & ) '/< + / 0 1... 9 ---- < >? @l A B Z a b z 11, %,jf ~ @l & * + / <>? 0 1 9 A B Z a b z u A.4 Ablageformate für numerische Datenfelder Die ungepackte Dezimal-Darstellung Jede Ziffer wird in ihrer Intern-Kode-Darstellung in einem Byte abgespeichert. Z.B. ergibt sich für die Ablage der Zahl 50: -- "- linkes Halbbyte 1. Byte 2. Byte 11, I F : 5 I F : 0 I (PICTURE 99 USAGE DISPLAY) rechtes Halbbyte Ist ein Datenfeld mit dem Picture-Maskenzeichen S vereinbart, so wird das Vorzeichen immer zusammen mit der letzten Ziffer im letzten Byte abgelegt.*) Dabei nimmt der Ziffernteil das rechte Halbbyte ein. Im linken Halbbyte wird die Sedezimalziffer C für ein positives und die Sedezimalziffer 0 für ein negatives Vorzeichen eingetragen. **) Z.B. ergibt sich bei der Ablage der Zahl -135: (PICTURE S999 USAGE DISPLAY) Generell ist die Anzahl der benötigten Bytes gleich der Anzahl der Ziffern und damit gleich der Anzahl der Maskenzeichen 9 in der jeweiligen Picture-Maske. Bei der Kodierung auf einer Lochkarte wird ein Vorzeichen ebenfalls zusammen mit der letzten Ziffer abgespeichert. Dazu muß beim Schreiblocher die Mehrfachloch-Taste zur Erzeugung einer sog. überlochung bedient werden. Dabei wird das Vorzeichen "+" durch eine überlochung in der Lochkartenzeile 12 und das Zeichen li_li durch eine Überlochung in der Zeile 11 erzeugt. *) Im Standard ANSI-74 kann man mit Hilfe der speziellen SIGN-IS-SEPERATE-Klausel darüberhinaus festlegen, daß ein Vorzeichen allein in einem Byte abgelegt wird. **) Dabei wird die Sedezimalziffer F ebenfalls als positiv interpretiert.

- 253 - A.4 gepackte Dezimal-Darstellung Auf die Ablochung des positiven Vorzeichens kann auch verzichtet werden, da jede vorzeichenlose Zahl automatisch als positiv angenommen wird. Die gepackte Dezimal-Darstellung Jede Ziffer wird in einem Halbbyte abgespeichert, indem die redundante Sedezimalziffer F, welche bei der ungepackten Darstellung im jeweils linken Halbbyte eingetragen ist, weggelassen wird. Ferner werden die beiden Halbbytes (aus der ungepackten Darstellung) des letzten Bytes vertauscht, und bei einer geraden Anzahl von Ziffern wird zusätzlich das linke Halbbyte des ersten Bytes mit der Sedezimalziffer 0 aufgefüllt. Z.B. vollzieht sich bei der Ablage der Zahl -135 der übergang von der ungepackten zur gepackten Dezimal-Darstellung folgendermaßen: (PICTURE S999 (PICTURE S999 USAGE DISPLAY) USAGE COMPUTATIONAL-3) Z.B. wird die Zahl 50 in der gepackten Darstellung folgendermaßen abgespeichert: (PICTURE 99 USAGE COMPUTATIONAL-3) Für den benötigten Speicherbereich gilt generell: Bezeichnen wir mit n die Anzahl der abzuspeichernden Ziffern, so ergibt sich für die Anzahl der zur Ablage benötigten Bytes der Wert (n + 1)/2, falls n ungerade ist, und (n/2) + 1, falls n gerade ist. Die Festpunkt-Darstellung Bei dieser Darstellung wird eine ganze Zahl entweder in einem Halbwort oder in einem Ganzwort als Dualzahl abgespeichert. Da jeweils im ersten Bit das Vorzeichen verschlüsselt ist, *) ergibt sich bei einer Wortstruktur von 32 Bits als größte darstellbare Zahl der Wert: 15 **) 2-1 32767 für ein Halbwort und 231-1 2147483647 ~ 2.15 * 109 für ein Ganzwort. So wird z.b. die Zahl +135 mit der Dual-Darstellung 1*27 + 0*26 + 0*25 + 0*2 4 + 0*23 + 1*22 + 1*21 + 1*20 folgendermaßen abgespeichert: im Ha 1 bwo r t: ro-ro= 0 0 0 0 0 0 1 0 0 0 0 1 1 11 JVorzei chen-bi t im Ganzwort: loio 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 1 1 11 *) Wegen der Ablage eines Vorzeichens muß die Picture-Maske des betreffenden Datenfelds mit dem Maskenzeichen S eingeleitet werden. Intern werden negative Werte immer im sog. Zweier-Komplement abgespeichert. **) Bei der Ablage in einem Halbwort dürfen dem Maskenzeichen S folglich maximal vier Maskenzeichen 9 folgen.

A.6 Strukturblöcke - 254 - A.5 Gerätebezeichnungen Im folgenden Schema stellen wir für die DVAn IBM, SIEMENS, HONEYWELL und TR 440 einige Gerätebezeichnungen zusammen, die man in ASSIGN-Klauseln (im Paragraphen FILE-CONTROL) kodieren kann, falls man auf den jeweiligen Anlagen Lochkarten-, Druck-, Pl atten- oder Magnetband-Datei en bearbei ten wi 11:.) Name der OVA: Lochkarten-Datei: Druck-Datei: IBM (OS) UR-READER-S-name UR-PRINTER-S-name IBM (OS/VS) [kommentar-j name [kommentar-j name SIEMENS SYSIN SYSOUT HONEYWELL ext./int. datei name name-printer TR 440 LKL-sn SDR-sn Name der OVA: Platten-Datei: Magnetband-Datei: IBM (OS/VS) [kommentar-:j { ~~~~ame} [kommentar-j name IBM (OS) und S SIEMENS DA-DISC-{R}-name UT-TAPE-S-name I HONEYWELL (MULTICS) name-virtual name-tape HONEYWELL (GCOS) externer datei name TR 440 WSP-sn MDS-sn A.6 Strukturblöcke eines Struktogramms Zur Beschreibung unserer Algorithmen benutzen wir die folgenden Strukturblöcke: einfacher Strukturblock: BREAK-Strukturblock: Prozeduraufruf-Strukturblock: Angabe einer einfachen Aktion wie z.b. Lesen, Schreiben oder Zuweisen BREAK I Prozedurbereichl Bedingungs-Strukturblo~k: Case-Strukturblock: Schleifen-Strukturblock: Bedingung ja nein Ja-Zweig Nein-Zweig bezeichner unzulässig (evtl. Spezifizierung) Wiederholungsbereich *) Diese Angaben sind nur als Hinweise für die Struktur der jeweiligen Gerätebezeichnungen zu verstehen. Da eine Gerätebezeichnung i.a. von dem jeweiligen Betriebssystem und dem eingesetzten COBOL-Kompilierer abhängt, muß sich der Anwender im entsprechenden Hersteller-Manual bzw. beim zuständigen Systemberater informieren. Dies ist schon deswegen erforderlich, weil für die durch die Wörter "name" bzw. "sn" gekennzeichneten Stellen bestimmte Verbindungen zu besonderen Kommando-Karten des Jobs hergestellt werden müssen.

- 255 - A.7 Struktur eines COBOL-Programms A.7 Struktur eines COBOL-Programms und Syntax der Sprachelemente Struktur eines COBOL-Programms: IDENTIFICATION DIVISION. PROGRAM-ID. programmname. IS. 28 [AUTHOR. kommentar-i] [INSTALLATION. kommentar-2] [DATE-WRITTEN. kommentar-3] S. 234f [DATE-COMPILED. kommentar-4] [SECURITY. kommentar-5] J ENVIRONMENT DIVISION. CONFIGURATION SECTION. SOURCE-COMPUTER. dva-name-l. Is. 28, 234 [ OBJECT-COMPUTER. dva-name-2. Is. 28, 223 [SPECIAL-NAMES. zuordnung-von-funktionsnamen-zu-merknamen] Is. 68, 240f ~ INPUT-OUTPUT SECTION. ~ [FILE-CONTROL. datei-geräte-zuordnungen] Is. 28f, 58, 19lf [I-O-CONTROL. festlegung-der-ein-/ausgabe-kontrolle] Is. 245 J DATA DIVISION. FILE SECTION. [[datei-beschreibungen] Is. 17f, 62, 186ff [sortier-datei-beschreibungenj IS. 225ff ~ WORKING-STORAGE SECTION. ] ~datenfeld-beschreibungen-mit-stufennummer-77j 29f, 32ff Ldatenfeld-beschreibungen-mit-stufennummer-ol] 13f, 32ff LINKAGE SECTION. ] lli [datenfeld-beschreibungen-mit-stufennummer-77] [datenfeld-beschreibungen-mit-stufennummer-ol] J PROCEDURE DIVISION [USING namen-der-formalen-parameter]. DECLARATIVES. [ ein-oder-mehrere-kapitel. END DECLARATIVES. [kapi te 1 name SECTION [segmentnummer] J paragraphenname. satz [satz]... ic [paragraphenname. satz [satz].. J... kapitelname SECTION [segmentnummerj] paragraphenname. satz [satz]... [paragraphenname. satz [satz].. J...... Is. Is. Is Is. T Js. Is. Is. 218f 218 246f 166, 222 26, 41ff S. 27f S. 28f S. 29ff S. 26f, 167

A.7 Syntax der Sprachelemente - 256 - Syntax der Sprachelemente: Im folgenden geben wir die Syntax-Gerüste der COBOL-Anweisungen an, welche in dieser Einführungsschrift dargestellt worden sind. - Datentransport-Anweisungen: MOVE {be~n~~~~r-l} TO bezei chner-2 [bezei chner-3]... MOVE CORRESPONDING bezeichner-l TO bezeichner-2 jdatei') ACCEPT bezeichner FROM DAY TIME EXAI~INE bezeichner TALLYlNG{ LE:~~NG } literal-l [REPLACING ~ literal-2] UNTIL FIRST ---- EXAMINE bezeichner REPLACING r LE:~~NG } literal-l BY literal-2 luntil FIRST FIRST - Steueranweisungen:.. ).. ) li. bedi ngung [anwei sung-l [anwei sung-2]... } { anwei sung-3 [anwei sung-4]...} NEXT SENTENCE [ NEXT SENTENCE] GO TO prozedurname GO TO prozedurname-l [prozedurname-~... DEPENDING ON bezei chner STOP RUN PERFORM prozedurname-l [THRU prozedurname-2]. } {bezeichner-2}. } VARYlNG {~e~elchner-i FROM index-name-2 BY {bezelch~~r23 UNTIL bedingung-l ln ex-name- -- ganzzahl-l - ganzza - -- C. } {bezei chner-5} {b. h 6} AFTER {~e~elchner-j FROM index-name-4 BY ezelc ~~r4 UNTIL bedingung-2 -- ln ex-name- -- ganzzahl-3 - ganzza - --. ~. 1 AFTER { ~e~el chner- ~} FROM bezei i ndex-name-6 Chner-8} BY {bezel '} ch~~r69 UNTIL bedi ngung-3 ~ -- ln ex-name- -- ganzzahl-5 - ganzza - -- PERFORM prozedurname-l [THRU prozedurname-2] ganzzahl -- -- UNTIL bedi ngung ~{ bezeichner} TIMES~.) Diese Anweisung ist nicht im Standard ANSI-68 enthalten. ) Diese Anweisung ist nur im Standard ANSI-68 und nicht mehr im Standard ANSI-74 enthalten.

- 257 - A.7 Syntax der Sprachelemente ALTER prozedurname-l TO [PROCEED TOJ prozedurname-2 [?rozedurname-3 TO [PROCEED TOJ prozedurname-f]... CALL "unterprogramm-name" [USING bezei chner-l [bezei chner-2]..j *) EX IT [!ROGRAMJ *) - Arithmetische Anweisungen: ADD {bezei~hner-l } lr{bezei~hner-2 }n... TO bezeichner-3 froundedl - num-llteral-l Qnum-llteral-2.!J - l:: j ~ezei chner-4 [ROUNDE~... @N SIZE ERROR unb-anw-l [unb-anw-2].. J ADD {bezeichner-l } {bezeichner-2 }ri{bezeichner-3 TI **) - num-literal-l num-literal-2[jnum-literal-3... GIVING bezeichner-4 [foundedj [ON SIZE ERROR unb-anw-l [unb-anw-2]...j ADD CORRESPONDING bezeichner-l TO bezeichner-2 CROUNDEDJ @N SIZE ERROR unb-anw-l [unb-anw-2]... ] SUBTRACT {bezei ~hner-l } [bezei ~hner-2 }ll... FROM bezei chner-3 IROUNDEDl num-llteral-l num-llteral-2 J -- ~:j ~ezeichner-4 [ROUNDE'ill... [ON SIZE ERROR unb-anw-l [unb-anw-2].. J SUBTRACT {bezei ~hner-l } ff{bezei ~hner-2 p... FROM {bezei ~hner-3 } **) num-llteral-llj.num-llteral-2!j -- num-llteral-3 GIV ING bezei chner-4 [ROUNDEIf] [ON S IZE ERROR unb-anw-l [unb-anw-2].. J SUBTRACT CORRESPONDING bezeichner-l FROM bezeichner-2 [ROUNDEDJ ~N SIZE ERROR unb-anw-l ~nb-anw-2j.. J MULTIPLY {bezell ~htner-ll } BY bezeichner-2.iroundedl num- 1 era - ~ ~ ~N SIZE ERROR unb-anw-l [unb-anw-2]...j MULTIPLY { bezei~hner-l } BY {bezei~hner-2 } GIVING bezeichner-3 num-llteral-l - num-llteral-2 --- @N SIZE ERROR unb-anw-l [unb-anw-~.. J DIVIDE {bezei~hner-l } INTO bezeichner-2 IROUNDEDI --- num-llteral -- L::::J @N SIZE ERROR unb-anw-l [unb-anw-2].. J [ROUNDED] * *) DIVIDE {bezei~hner-l } {INTO} {bezei~hner-2 } GIVING bezeichner-3 IROUNDEöl --- num-llteral-l BY num-llteral-2 --- ~;J \]EMAINDER bezeichner-i] QiN SIZE ERROR unb-anw-l [unb-anw-2].. J ***) COMPUTE bezei chner-l ~OUNDEDJ [}ezei chner-2 ~OUNDE~J... = arithmeti scher-ausdruck @N ~ ~ unb-anw-l [unb-anw-2].. J *) CALL und EXIT PROGRAM sind nicht im Standard ANSI-68 enthalten. **) Im Standard ANSI-74 dürfen mehrere Bezeichner - ggfs. gefolgt von dem Wort ROUNDED - in der GIVING-Klausel angegeben werden. ***) Im Standard ANSI-68 darf vor dem Zuweisungszeichen nur ein Bezeichner angegeben sein.

A.7 Syntax der Sprachelemente - 258 - - Tabellenverarbeitungs-Anweisungen: SEARCH bezeichner-llvarying {b~zedichner-2}o --- L.: 1 n ex-name [AT END unb-anw-1 [unb-anw-2].. J WHEN b d' -1 {Unb-anw-3 [unb-anw-4j... } e lngung NEXT SENTENCE r WHEN b d' -2 {unb-anw-5 [unb-anw-fd... }] L:-- e 1 ngung NEXT SENTENCE SEARCH ALL bezeichner ----- ßT END unb-anw-1 [unb-anw-2].. J WHEN b d {Unb-anw-3 [unb-anw-4]... } e 1 ngung NEXT SENTENCE. [. TI bezei chner-3 SET {~ezelchner-1} {~ezelchner-2... TO {index-name-3} --- lndex-name-1 lndex-name-2 -- ganzzahl SET index-name-l [ index-name-2 J... { ~ } BY {bezei chner} DOWN -- ganzzahl - Ein-/Ausgabe-Anweisungen: INPUT dateiname-1 [dateiname-2]... } OPEN { OUTPUT dateiname-3 [dateiname-4j....!.:.q. dateiname-5 [dateiname-~... OPEN EXTEND da tei name-l [datei name-?j... *) CLOSE dateiname-1 [dateiname-?]... READ dateiname RECORD [INTO bezeichne~ Ir AT END } unb-anw-1 [unb-anw-2]. J. L INVALID KEY READ dateiname NEXT RECORD CINTO bezeichner] AT END unb-anw-1 [unb-anw-2]... WRITE datensatzname [[ROM bezeichner-~ Q{ WRITE datensatzname LfROM bezeichne~ BEFORE} ADVANCING{{beZeiChner-2} {LINES}}] AFTER ganzzahl LINE -- merkname 11 { BEFORE} *) --- ADVANCING PAGE AFTER WRITE datensatzname [}ROM bezeichne~ INVALID KEY unb-anw-l [unb-anw-2]... DELETE datei name RE CORD [jnvalid KEY unb-anw-1 [unb-anw-2].. ~ *) REWRITE datensatzname [[ROM bezeichner] [INVALID KEY unb-anw-1 [unb-anw-2]...j *) ~ START datei name KEY IS { = > } bezeichner J- INVALID KEY unb-anw-1 [unb-anw-2]... *) -- NOT< *) Diese Anweisung ist nicht im Standard ANSI-68 enthalten. *)

- 259 - A.7 Syntax der Sprachelemente ACCEPT bezei chner [JROM merkname] DISPLAY {be~eichner-l }1r'be~eichner-2D llteral-l LL llteral-2... [UPON merk name] - Anweisungen für den COBOL-Internsort: SORT sortier-dateiname ON {ASCENDING } KEY bezeichner-l [bezeichner-~... DESCENDING ron { ASCEND ING } KEY bezei chner-3 [bezei chner--d..] l. DESCENDING { INPUT PROCEDURE IS kapite 1 name-l [rhru kapite 1 name-~ } USING datei name-l { OUTPUT PROCEDURE IS kapite 1 name-3 [THRU kapite 1 name-~ } GIVING dateiname-2 RELEASE datensatzname ~ROM bezeichner] RETURN sorti er-datei name RECORD QNTO bezei chne~ AT END unb-anw-l [unb-anw-2]... - sonstige Anweisungen: NOTE kommentar-text *) { READY} TRACE RESET **) **) EXHIBIT {} CHAN~~~E~AMED {bezeichner:l }1r{bezeichner:2 }ll.;:;.;.;;"-=..::..:... =.:;cc:..:..:.:.c=. alphanum-llt-l ~alphanum-llt-2~... CHANGED datei name-l [dateiname-2]"'1 { INPUT USE AFTER STANDARD ERROR PROCEDURE ON OUTPUT USE AFTER STANDARD ERROR PROCEDURE ON EXTEND ***) Im folgenden stellen wir zusammenfassend die Syntax-Gerüste der Datei-Beschreibungen und der Datenfeld-Beschreibungen dar: 1-0 *) Diese Anweisung ist nur im Standard ANSI-68 und nicht mehr im Standard ANSI-74 enthalten. **) Diese Anweisung gehört nicht zum genormten Sprachumfang. ***) Diese Anweisung ist nicht im Standard ANSI-68 enthalten.

A.7 Syntax der Sprachelemente - 260 - - Syntax der Datei-Beschreibung: FD datei name ~LOCK CONTAINS [ganzzahl-l TOJ ganzzahl-2 {C~~~~~~~RS U ~ECORD CONTAINS ~anzzahl-3 TOJ ganzzahl-4 CHARACTER~ { RECORD IS }{ STANDARD} LABEL RECORDS ARE OMITTED { RECORD IS } [!ATA RECäRös ARE datensatzname-l [datensatzname-2]..] 01 datensatzname-l J[ Datensatz-Beschreibung von datensatzname-l ~l datensatzname-2 ~ Datensatz-Beschreibung von datensatzname-~... - Syntax der Datenfeld-Beschreibung: Format-I: { bezei chner-l } stufennummer FILLER [REDEFINES bezeichner-2] [PICTURE IS picture-mask~ DISPLAY l *) ~USAGE IS { COMPUTATIONAL J ~ COMPUTATIONAL-3 [USAGE IS INDEX] IoCCURS {ganzzahl-l TO ganzzahl-2 TIMES DEPENDING ON bezeichner-3} L..::--- ganzzah 1-3 TIMES O J ASCENDING DESCENDING } KEY IS bezeichner-4 ~ezeichner-i]... [INDEXED BY index-name-l [index-name-2j.. J~ UJUSTIFIED} J JUST RIGHT [BLANK WHEN ZERO J [VALUE IS 1 itera TI Format-2: 88 bedingungsname VALUE IS literal-l crhru literal-2jqiteral-3 CTHRU literal-1j... Format-3: 66 bezei chner-l RENAMES bezei chner-2 Q"HRU bezei chner-:u *) Das Wort COMPUTATIONAL-3 gehört nicht zum genormten Sprachumfang.

- 261 - Aufgabe 1, 2, 3 und 4 Lösungstei 1 Im folgenden geben wir Lösungen für die gestellten Aufgaben an. Dabei können die angegebenen Programme immer nur Beispiele für mögliche Lösungen sein. Die Richtigkeit der vom Leser entwickelten Lösungsalgorithmen kann man dadurch prüfen, daß man ein entsprechendes COBOL-Programm erstellt und auf einer OVA ablaufen läßt. Aufgabe 1 (S. 15): In den folgenden Fällen handelt es sich um keine COBOL-Wörter: b) wegen "I", c) wegen "w", i) wegen "ü" und k) wegen "-" am Zeichenkettenende. Die unter g) und h) angegebenen COBOL-Wörter dürfen nicht als Bezeichner verwendet werden, da sie keinen Buchstaben enthalten. Aufgabe 2 (S. 15): Als Datensatz-Beschreibung für den Record ARTIKEL-SATZ erhält man z.b.: 01 ARTIKEL-SATZ. f-- Datengruppe 02 ARTIKEL-BEZEICHNUNG. f-- Datengruppe f-- Datengruppe 03 ARTIKEL-NUMMER. 04 LFD-NUMMER 04 HERSTELLER 03 ARTIKEL-NAME 02 LAGER-INFORMATION. 03 LAGER-NUMMER 03 REGAL-NUMMER 02 WERT-INFORMATION. 03 STUECK-PREIS 03 MENGE 02 ERFASSUNGS-DATUM. 03 TAG 03 MONAT 03 JAHR PICTURE 9(6). PICTURE 99. PICTURE X(20). PICTURE XX. PICTURE 9. PICTURE 9(3). PICTURE 9(6)V99. PICTURE 9(5). PICTURE 99. PICTURE 99. PICTURE 99. PICTURE X(27). Als aktuelle Datenfeld-Inhalte ergeben sich: LAGER-NUMMER rn REGAL-NU~1MER [QJ3] MENGE 10 0 0 3 21 f-- alphanumerisches Datenelement f---- Datengruppe f---- Datengruppe f-- Datengruppe STUECK-PREIS 10 0 0 0 1 4451 " Aufgabe 3 und 4 (S. 40): Als Lösung kann man z.b. das folgende COBOL-Programm kodieren: IDENTIFICATION DIVISION. PROGRAM-ID. ARTIKEL-LISTE. ENVIRONMENT DIVISION. CONFIGURATION SECTION. SOURCE-COMPUTER. dva-name-l. OBJECT-COMPUTER. dva-name-2. INPUT-OUTPUT SECTION. FILE-CONTROL. SELECT ARTIKEL-DATEI ASSIGN TO SI. SELECT LISTE ASSIGN TO LO.

Aufgabe 4 und 5-262 - DATA DIVISION. FILE SECTION. FD ARTIKEL-DATEI LABEL RECORD OMITTED DATA RECORD ARTIKEL-SATZ. 01 ARTIKEL-SATZ. 02 ARTIKEL-NAME 02 LAGER-NUMMER 02 MENGE FD PICTURE X(8). PICTURE X(20). PICTURE XX. PICTURE 9. PICTURE X(ll). PICTURE 9(5). PICTURE X(33). LISTE LABEL RECORD OMITTED DATA RECORD LISTE-INFORMATION. 01 LISTE-INFORMATION. 02 ARTIKEL-NAME-ED 02 LAGER-NUMMER-ED 02 MENGE-ED WORKING-STORAGE SECTION. PICTURE X(20). PICTURE X(lo). PICTURE 9. PICTURE X(lo). PICTURE 9(5). PICTURE X(86). 77 DATEI-ENDE-FELD PICTURE 9. 88 DATEI-ENDE VALUE 1. PROCEDURE DIVISION. BEGINN. OPEN INPUT ARTIKEL-DATEI, OUTPUT LISTE. MOVE 0 TO DATEI-ENDE-FELD. SCHLEIFE. Datei-Beschreibung für die Eingabe-Datei ARTIKEL-DATEI Datei-Beschreibung für die Ausgabe-Datei LISTE READ ARTIKEL-DATEI RECORD, AT END MOVE 1 TO DATEI-ENDE-FELD. IF DATEI-ENDE, GO TO ENDE, PERFORM VERARBEITUNG. GO TO SCHLEIFE. ENDE. CLOSE ARTIKEL-DATEI LISTE. STOP RUN. VERARBEITUNG. MOVE "U" TO LISTE-INFORMATION. MOVE ARTIKEL-NAME TO ARTIKEL-NAME-ED. MOVE LAGER-NUMMER TO LAGER-NUMMER-ED. MOVE MENGE TO MENGE-ED. WRITE LISTE-INFOR~IATION. Aufgabe 5 (S. 40): In der Datensatz-Beschreibung des Records ARTIKEL-SATZ (s. Aufgabe 2) ist folgende Änderung vorzunehmen: 02 LAGER-INFORMATION. 03 LAGER-NUMMER PICTURE 9. 88 HAUPTLAGER VALUE 4. 03 REGAL-NUMMER PICTURE 9(3). 88 REGAL-REIHE-1 VALUE 1 4 10. 88 REGAL-REIHE-2 VALUE 2 5 11. 88 REGAL-REIHE-3 VALUE 3 6 9 12.

- 263 - Aufgabe 6, 7, 8, 9 und 10 Aufgabe 6 (S. 43): Schlüssel-Wörter sind in a) die Wörter VALUE und THRU, in b) die Wörter FILLER und PICTURE und in c) die Wörter WRITE und FROM. In a) und in b) ist das Wahl-Wort IS enthalten. Aufgabe 7 (S. 56): a) EI GJJJ E2 ITJJ E3 [QJJ b) EI mj E2 CDJ E3 [i1j c) EI CLDJ E2 12 x ol E3 [U] d) EI GJJJ E2 14)1 E3 [lj] E4 lu u u u I Aufgabe 8 (S. 57): Um inkorrekte Literale handelt es sich bei: b) das Zeichen "." darf nicht am Ende eines numerischen Literals auftreten, d) das Zeichen "," darf nicht innerhalb eines numerischen Literals kodiert sein (es sei denn, man hat eine DECIMAL-POINT-Klausel kodiert, vgl. S. 238), f) das Zeichen" darf im Standard ANSI-68 in keinem Literal aufgeführt sein, und im Standard ANSI-74 darf es nur in Form zweier aufeinanderfolgender Zeichen in einem alphanumerischen Literal kodiert sein, i) das Vorzeichen "-" muß das numerische Literal einleiten. Die unter a), e), g), h) und j) angegebenen Literale haben die alphanumerische Kategorie. Aufgabe 9 (S. 57): a) FELD-l IAuuuul b) FELD-l lu LJ LJ u ul c) FELD-l IAuAuAI d) FELD-l IABCDAI e) FELD-21 ~ f) FELD-21 ~ g) FELD-22 h) FELD-22 ~ i ) FELD-22 [UJ j) FELD-3 rn k) FELD-3 [QJ 1 ) FELD-21 [U] FELD-22 CDJ m) FELD-l II-\BCDEI FELD-21 ITJJ FELD-22 CD] FELD-3 [TI FELD-4 ~ n) FELD-4 1 u u A 1 0) FELD-4 ~ p) FELD-4 [IIEJ ~ Aufgabe 10 (S. 57): Das Feld LISTEN-KOPF wird folgendermaßen vorbesetzt: c:::::::=j / u L IST E - 1 u 7 '---/--:~u _S_E_I _T_E _-_I-=u --...17 c;--::j t t t t 1. Zeichen 33. Zeichen 60. Zeichen 132. Zeichen

Aufgabe 11-264 - Aufgabe 11 (S. 76): Setzt man vereinfachend voraus, daß für jeden Vertreter mindestens eine Artikel Karte vorliegt, alle Artikel-Karten hinter den zugehörigen Vertreterdaten-Karten eingeordnet sind und keine Lochfehler bei der Erfassung der Vertreter- und Artikel Informationen aufgetreten sind, so kann man z.b. das folgende Programm angeben: IDENTIFICATION DIVISION. PROGRAM- ID. AUFGABE-lI. ENVIRONMENT DIVISION. CONFIGURATION SECTION. SOURCE-COMPUTER. dva-name-1. OBJECT-COMPUTER. dva-name-2. INPUT-OUTPUT SECTION. FILE-CONTROL. SELECT VERTRETER-DATEI SELECT LISTE DATA DIVISION. FILE SECTION. FD ASSIGN TO SI. ASSIGN TO LO. VERTRETER-DATEI LABEL RECORD OMITTED DATA RECORD VERTRETER-INFORMATION 01 VERTRETER-INFORMATION. 02 KENNZAHL PICTURE 9(4). PICTURE XX. 02 NACHNAME PICTURE X(20). 02 VORNAME PICTURE X(20). PICTURE X(34). 01 ARTIKEL-KARTE. 02 ARTIKEL-NUMMER PICTURE 9(8). PICTURE X. 02 STUECKZAHL PICTURE 9(6). PICTURE X(4). 02 STUECKPREIS PICTURE 9(5)V99. PICTURE X(53). 02 KARTEN-KENNZEICHEN PICTURE X. 88 ARTIKEL-KARTE-GELESEN VALUE "A". FD LISTE LABEL RECORD OMITTED DATA RECORD LISTE-INFORMATION. 01 LISTE-INFORMATION PICTURE X(133). WORKING-STORAGE SECTION. 77 DATEI-ENDE-FELD PICTURE 9 VALUE ZERO. 88 DATEI-ENDE VALUE 1. 77 LISTEN-ANFANGS-FELD PICTURE 9 VALUE 1. 88 LISTEN-ANFANG VALUE 1. 01 KOPF-ZElLE-I. 02 VORNAME-ED 02 NACHNAME-ED 02 KENNZAHL-ED PICTURE X(23) PICTURE X(20). PICTURE X PICTURE X(20). PICTURE X(19) PICTURE 9(4). PICTURE X(46) ARTIKEL-KARTE. *) VALUE "uumsatzudesuvertretersu". VALUE SPACE. VALUE "um IT uderukennzahl: u". VALUE SPACES. *) Diese und einige weitere Programmzeilen auf den folgenden Seiten enthalten - aus Platz- und Darstellungsgründen - mehr Zeichen als in den Spalten 8 bis 72 einer Lochkarte kodiert werden können. Die restlichen Zeichen jeder zu langen Zeile muß man daher auf jeweils einer weiteren Karte ablochen (die bei der Trennung eines Wortes oder Literals als Fortsetzungszeile fungiert, vgl. S. 36 und S. 52).

- 265 - Aufgabe 11 01 KOPF-ZEILE-2. PICTURE X PICTURE X(86) PICTURE X(46) 01 KOPF-ZEILE-3. PICTURE X(5) PICTURE X(14) PICTURE X(7) PICTURE X(lo) PICTURE X(7) PICTURE X(90) 01 KOPF-ZEILE-4. PICTURE X(5) PICTURE X(14) PICTURE X(7) PICTURE X(lo) PICTURE X(7) PICTURE X(ll) PICTURE X(79) 01 POSTEN-ZEILE. 02 ARTIKEL-NUMMER-ED 02 STUECKZAHL-ED 02 STUECKPREIS-ED PROCEDURE DIVISION. BEGINN. VALUE SPACE. VALUE ALL "=". VALUE SPACES. VALUE SPACES. VALUE "ARTIKEL-NUMMER". VALUE SPACES. VALUE "STUECKZAHL". VALUE SPACES. VALUE "STUECKPREIS". VALUE SPACES. VALUE ALL "-". VALUE SPACES. VALUE ALL "-". VALUE SPACES. VALUE ALL "-". VALUE SPACES. PICTURE X(8) VALUE SPACES. PICTURE 9(8). PICTURE X(12) VALUE SPACES. PICTURE Z(6). PICTURE X(lo) VALUE SPACES. PICTURE Z(5).99. PICTURE X(81) VALUE SPACES. OPEN INPUT VERTRETER-DATEI, OUTPUT LISTE. EINLESEN. READ VERTRETER-DATEI, AT END MOVE 1 TO DATEI-ENDE-FELD. IF DATEI-ENDE, GO TO ENDE, PERFORM VERARBEITUNG. GO TO EINLESEN. ENDE. CLOSE VERTRETER-DATEI LISTE. STOP RUN. VERARBEITUNG. IF ARTIKEL-KARTE-GELESEN, PERFORM VERARBEITUNG-POSTEN-ZEILE, PERFORM AUSGABE-KOPF-ZEILEN, MOVE ZERO TO LISTEN-ANFANGS-FELD. VERARBEITUNG-POSTEN-ZEILE. MOVE ARTIKEL-NUMMER TO ARTIKEL-NUMMER-ED. MOVE STUECKZAHL TO STUECKZAHL-ED. MOVE STUECKPREIS TO STUECKPREIS-ED. WRITE LISTE-INFORMATION FROM POSTEN-ZEILE AFTER ADVANCING 1 LINE. AUSGABE-KOPF-ZEILEN. MOVE VORNAME TO VORNAME-ED. MOVE NACHNAME TO NACHNAME-ED. MOVE KENNZAHL TO KENNZAHL-ED. IF LISTEN-ANFANG, WRITE LISTE-INFORMATION FROM KOPF-ZEILE-1 AFTER ADVANCING 0 LINES, WRITE LISTE-INFORMATION FROM KOPF-ZEILE-1 AFTER ADVANCING 6 LINES. WRITE LISTE-INFORMATION FROM KOPF-ZEILE-2 AFTER ADVANCING 1 LINE. WRITE LISTE-INFORMATION FROM KOPF-ZEILE-3 AFTER ADVANCING 2 LINES. WRITE LISTE-INFORMATION FROM KOPF-ZEILE-4 AFTER ADVANCING 1 LINE.

Aufgabe 12, 13, 14, 15 und 16-266 - Aufgabe 12 (S. 77): Die Empfangsfelder erhalten die folgenden Inhalte: a) 115.01 b) 1-04.71 c) luu44.01 d) Gl e) 1+ 1. 0 1 f) [:- - *. 0 11 g) 1 LJ u - 41 h) 1 u + 21 i) 1 U u u 1 j) 1+05.001 k) 110u48u371 1) IEMuIuLI m) 11004001 Aufgabe 13 (S. 95): Das folgende Symbol wird dreimal untereinander ausgegeben: Aufgabe 14 (S. 95): Die Relation":::," gilt in den Fällen b), d), e) und h), die Relation "<" in c) und f) und die Relation "=" in a) und g). Aufgabe 15 (S. 95): Die Bedingung in a) ist erfüllt und die in b) ist nicht erfullt, weil der Inhalt des Felds KONTOSTAND-WS negativ und der Inhalt von NAME-WS nicht alphabetisch ist. Aufgabe 16 (S. 111): Zur Lösung dieser Aufgabe treffen wir die gleichen einschränkenden Voraussetzungen wie bei der Lösung von Aufgabe 11 auf der S. 264f. Wir geben im folgenden ein Programm zur Lösung der Aufgabe 16 an und stellen die Abweichungen und Ergänzungen zum Programm AUFGABE-11 auf der S. 264f dar. IDENTIFICATION DIVISION. PROGRAM-ID. AUFGABE-16. ENVIRO~MENT DIVISION i s. S. 264 DATA DIVISION. FILE SECTION...L WORKING-STORAGE SECTION. 77 DATEI-ENDE-FELD PICTURE 9 VALUE ZERO. 88 DATEI-ENDE VALUE 1. 77 LISTEN-ANFANGS-FELD PICTURE 9 VALUE 1. 88 LISTEN-ANFANG VALUE 1. n GESAMT-UMSATZ PICTURE 9(7)V99. I..,.<--neu! 77 UMSATZ PICTURE 9(7)V99. 01 KOPF-ZEILE-I. 02 VORNAME-ED 02 NACHNAME-ED 02 KENNZAHL-ED PICTURE X(23) PICTURE X(20). PICTURE X PICTURE X(20). PICTURE X(19) PICTURE 9(4). PICTURE X(46) VALUE SPACE. VALUE SPACES.

- 267 - Aufgabe 16 01 KOPF-ZEILE-2. PICTURE X VALUE SPACE. PICTURE X(86) VALUE ALL "=". PICTURE X(46) VALUE SPACES. 01 KOPF-ZEILE-3. PICTURE X(5) VALUE SPACES. PICTURE X(14) VALUE "ARTIKEL-NUMMER". PICTURE X(7) VALUE SPACES. PICTURE X(lo) VALUE "STUECKZAHL". I PICTURE X(7) VALUE SPACES. PICTURE X(ll) VALUE "STUECKPREIS". PICTURE X(20) VALUE SPACES. ( geändert! PICTURE X(59) VALUE "UMSATZ". 01 KOPF-ZEILE-4. PICTURE X(5) VALUE SPACES. PICTURE X(14) VALUE ALL "-". PICTURE X(7) VALUE SPACES. PICTURE X(lo) VALUE ALL "-". PICTURE X(7) VALUE SPACES. PICTURE X(ll) VALUE ALL "-". PICTURE X(20) VALUE SPACES. I PICTURE X(59) VALUE " ". <f-(------ geändert! 01 POSTEN-ZEILE. PICTURE X(8) VALUE SPACES. 02 ARTIKEL-NUMMER-ED PICTURE 9(8). PICTURE X(12) VALUE SPACES. 02 STUECKZAHL-ED PICTURE Z(6). PICTURE X(lo) VALUE SPACES. 02 STUECKPREIS-ED PICTURE Z(5).99. PICTURE X(20) VALUE SPACES'I 02 UMSATZ-ED PICTURE Z(7).99. I ( geändert! PICTURE X(51) VALUE SPACES. 01 GESAMT-UMSATZ-ZEILE-1. PICTURE X(72) VALUE SPACES. PICTURE X(61) VALUE "----------". 01 GESAMT -UMSATZ-ZEILE-2. ( neu! PICTURE X(72) VALUE "ßESAMT-UMSATZ u :...". 02 GESAMT-UMSATZ-ED PICTURE Z(7).99. 1 PICTURE X(51) VALUE SPACES. PROCEDURE DIVISION. BEGINN. OPEN INPUT VERTRETER-DATEI, OUTPUT LISTE. EINLESEN. READ VERTRETER-DATEI, AT END MOVE 1 TO DATEI-ENDE-FELD. IF DATEI-ENDE, GO TO ENDE, PERFORM VERARBEITUNG. GO TO EINLESEN. ENDE. PERFORM AUSGABE-GESAMT-UMSATZ. ( neu! CLOSE VERTRETER-DATEI LISTE. STOP RUN.

Aufgabe 16 und 17-268 - VERARBEITUNG. IF ARTIKEL-KARTE-GELESEN, PERFORM VERARBEITUNG-POSTEN-ZEILE, IF LISTEN-ANFANG, PERFORM AUSGABE-KOPF-ZEILEN, MOVE ZEROS TO LISTEN-ANFANGS-FELD GESAMT-UMSATZ, <f-(---- geändert! PERFORM AUSGABE-GESAMT-UMSATZ, PERFORM AUSGABE-KOPF-ZEILEN, MOVE ZERO TO GESAMT-UMSATZ. AUSGABE-GESAMT-UMSATZ. I MOVE GESAMT-UMSATZ TO GESAMT-UMSATZ-ED. I WRITE LISTE-INFORMATION FROM GESAMT-UMSATZ-ZEILE-1 AFTER ADVANCING 2 LINES. neu. WRITE LISTE-INFORMATION FROM GESAMT-UMSATZ-ZEILE-2 AFTER ADVANCING 1 LINE. VERARBEITUNG-POSTEN-ZEILE. MOVE ARTIKEL-NUMMER TO ARTIKEL-NUMMER-ED. MOVE STUECKZAHL TO STUECKZAHL-ED. I MOVE STUECKPREIS TO STUECKPREIS-ED. MULTIPLY STUECKZAHL BY STUECKPREIS GIVING UMSATZ. ADD UMSATZ TO GESAMT-UMSATZ. -<e<------neu! MOVE UMSATZ TO UMSATZ-ED. WRITE LISTE-INFORMATION FROM POSTEN-ZEILE AFTER ADVANCING 1 LINE. AUSGABE-KOPF-ZEILEN. MOVE VORNAME TO VORNAME-ED. MOVE NACHNAME TO NACHNAME-ED. MOVE KENNZAHL TO KENNZAHL-ED. IF LISTEN-ANFANG, WRITE LISTE-INFORMATION FROM KOPF-ZEILE-1 AFTER ADVANCING 0 LINES, WRITE LISTE-INFORMATION FROM KOPF-ZEILE-l AFTER ADVANCING 6 LINES. WRITE LISTE-INFORMATION FROM KOPF-ZEILE-2 AFTER ADVANCING 1 LINE. WRITE LISTE-INFORMATION FROM KOPF-ZEILE-3 AFTER ADVANCING 2 LINES. WRITE LISTE-INFORMATION FROM KOPF-ZEILE-4 AFTER ADVANCING 1 LINE. Aufgabe 17 (S. 111): Zur Lösung dieser Aufgabe setzen wir vereinfachend voraus (vgl. Lösung der Aufgabe 11 auf der S. 264f), daß für jeden Vertreter mindestens eine Artikel-Karte vorliegt, alle Artikel-Karten eines Vertreters direkt aufeinanderfolgen und keine Lochfehler bei der Erfassung der Vertreterdaten- und der Artikel-Karten aufgetreten sind. Wir geben im folgenden ein Programm zur Lösung der Aufgabe 17 an und stellen die Abweichungen und Ergänzungen zum Programm AUFGABE-16 auf der S. 266ff dar. IDENTIFICATION DIVISION. PROGRAM- ID. AUFGABE-17. ENVIRONMENT DIVISION. CONFIGURATION SECTION. SOURCE-COMPUTER. dva-name-l. OBJECT-COMPUTER. dva-name-2. INPUT-OUTPUT SECTION. FILE-CONTROL. SELECT VERTRETER-DATEI-P SELECT ARTIKEL-BESTELL-L SELECT LISTE ASSIGN TO D1.1 ASSIGN TO SI. ASSIGN TO LO. ~<--- geändert!

- 269 - Aufgabe 17 DATA DIVISION. FILE SECTION. FD VERTRETER-DATEI-P I LABEL RECORD STANDARD ~(------- geändert! DATA RECORD VERTRETER-INFORMATION. 01 VERTRETER-INFORMATION. 02 KENNZAHL PICTURE 9(4). PICTURE xx. 02 NACHNAME PICTURE X(20). 02 VORNAME PICTURE X(20). I PICTURE X(34). FD ARTIKEL-BESTELL-L LABEL RECORD OMITTED DATA RECORD ARTIKEL-KARTE. -E-(--------- geändert! 01 ARTIKEL-KARTE. 02 ARTIKEL-NUMMER PICTURE 9(8). PICTURE X. 02 STUECKZAHL PICTURE 9(6). PICTURE X(4). I 02 STUECKPREIS PICTURE 9(5)V99. PICTURE X(3). 02 KENNZAHL- IN-ARTIKEL-KARTE PICTURE 9( 4). -E-(---geändert! PICTURE X(47). FD LISTE LABEL RECORD OMITTED DATA RECORD LISTE-INFORMATION. 01 LISTE-INFORMATION PICTURE X(133). WORKING-STORAGE SECTION. 77 DATEI-ENDE-FELD PICTURE 9 VALUE ZERO. 88 DATEI-ENDE VALUE 1. 77 LISTEN-ANFANGS-FELD PICTURE 9 VALUE 1. 88 LISTEN-ANFANG VALUE 1. 77 GESAMT-UMSATZ PICTURE 9(7)V99. 77 UMSATZ PICTURE 9(7)V99. 01 KOPF-ZEILE-1. 02 VORNAME - ED 02 NACHNAME-ED 02 KENNZAHL-ED PICTURE X(23) PICTURE X(20). PICTURE X PICTURE X(20). PICTURE X(19) PICTURE 9(4). PICTURE X(46) 01 KOPF-ZEILE-2. PICTURE X PICTURE X(86) PICTURE X(46) 01 KOPF-ZEILE-3. PICTURE X(5) PICTURE X(14) PICTURE X(7) PICTURE X(lo) PICTURE X(7) PICTURE X(ll) PICTURE X(20) PICTURE X(59) 01 KOPF-ZEILE-4. PICTURE X(5) PICTURE X(14) PICTURE X(7) PICTURE X(lo) VALUE SPACE. VALUE SPACES. VALUE SPACE. VALUE ALL "=". VALUE SPACES. VALUE SPACES. VALUE "ARTIKEL-NUMMER". VALUE SPACES. VALUE "STUECKZAHL". VALUE SPACES. VALUE "STUECKPREIS". VALUE SPACES. VALUE "UMSATZ". VALUE SPACES. VALUE ALL "-". VALUE SPACES. VALUE ALL "-".

Aufgabe 17-270 - PICTURE X(7) VALUE SPACES. PICTURE X(11) VALUE ALL 10_10. PICTURE X(20) VALUE SPACES. PICTURE X(59) VALUE "------". 01 POSTEN-ZEILE. 02 ARTIKEL-NUMMER-Eu 02 STUECKZAHL-ED 02 STUECKPREIS-ED 02 UMSATZ-ED 01 GESAMT-UMSATZ-ZEILE-l. PICTURE X(8) VALUE SPACES. PICTURE 9(8). PICTURE X(12) VALUE SPACES. PICTURE Z(6). PICTURE X(lo) VALUE SPACES. PICTURE Z(5).99. PICTURE X(20) VALUE SPACES. PICTURE Z(7).99. PICTURE X(51) VALUE SPACES. PICTURE X(72) VALUE SPACES. PICTURE X(61) VALUE " 10. 01 GESAMT-UMSATZ-ZEILE-2. PICTURE X(72) VALUE H~GESAMT-UMSATZw:WH. 02 GESAMT-UMSATZ-ED PICTURE Z(7).99. PICTURE X(51) VALUE SPACES. PROCEDURE DIVISION. BEGINN. OPEN INPUT VERTRETER-DATEI-P ARTIKEL-BESTELL-L, OUTPUT LISTE. ~ geändert! EINLESEN. READ VERTRETER-DATEI-P, AT END MOVE 1 TO DATEI-ENDE-FELD...,.(--- geändert! IF DATEI-ENDE, GO TO ENDE, PERFORM VERARBEITUNG-ANFANG THRU VERARBEITUNG-ENDE...::<---- geändert! GO TO EINLESEN. ENDE. CLOSE VERTRETER-DATEI-P ARTIKEL-BESTELL-L LISTE...::<------ geändert! STOP RUN. VERARBEITUNG-ANFANG. PERFORM AUSGABE-KOPF-ZEILEN. MOVE ZERO TO GESAMT-UMSATZ. IF LISTEN-ANFANG, MOVE ZERO TO LISTEN-ANFANGS-FELD, PERFORM VERARBEITUNG-POSTEN-ZEILE. VERARBEITUNG-SCHLEIFE. READ ARTIKEL-BESTELL-L, AT END MOVE 1 TO DATEI-ENDE-FELD. IF DATEI-ENDE, PERFORM AUSGABE-GESAMT-UMSATZ, GO TO VERARBEITUNG-ENDE, IF KENNZAHL = KENNZAHL-IN-ARTIKEL-KARTE, PERFORM VERARBEITUNG-POSTEN-ZEILE, PERFORM AUSGABE-GESAMT-UMSATZ, GO TO VERARBEITUNG-ENDE. GO TO VERARBEITUNG-SCHLEIFE. VERARBEITUNG-ENDE. EX IT. AUSGABE-GESAMT-UMSATZ. MOVE GESAMT-UMSATZ TO GESAMT-UMSATZ-ED. <E-(--- geändert! WRITE LISTE-INFORMATION FROM GESAMT-UMSATZ-ZEILE-l AFTER ADVANCING 2 LINES. WRITE LISTE-INFORMATION FROM GESAMT-UMSATZ-ZEILE-2 AFTER ADVANCING 1 LINE.

- 271 - Aufgabe 17 und 18 VERARBEITUNG-POSTEN-ZEILE. MOVE ARTIKEL-NUMMER TO ARTIKEL-NUMMER-ED. MOVE STUECKZAHL TO STUECKZAHL-ED. MOVE STUECKPREIS TO STUECKPREIS-ED. MULTIPLY STUECKZAHL BY STUECKPREIS GIVING UMSATZ. ADD UMSATZ TO GESAMT-UMSATZ. MOVE UMSATZ TO UMSATZ-ED. WRITE LISTE-INFORMATION FROM POSTEN-ZEILE AFTER ADVANCING 1 LINE. AUSGABE-KOPF-ZEILEN. MOVE VORNAME TO VORNAME-ED. MOVE NACHNAME TO NACHNAME-ED. MOVE KENNZAHL TO KENNZAHL-ED. IF LISTEN-ANFANG, WRITE LISTE-INFORMATION FROM KOPF-ZEILE-1 AFTER ADVANCING 0 LINES, WRITE LISTE-INFORMATION FROM KOPF-ZEILE-1 AFTER ADVANCING 6 LINES. WRITE LISTE-INFORMATION FROM KOPF-ZEILE-2 AFTER ADVANCING 1 LINE. WRITE LISTE-INFORMATION FROM KOPF-ZEILE-3 AFTER ADVANCING 2 LINES. WRITE LISTE-INFORMATION FROM KOPF-ZEILE-4 AFTER ADVANCING 1 LINE. Aufgabe 18 (S. 111f): Eine mögliche Lösung der Aufgabe 18 stellt das folgende Programm dar: IDENTIFICATION DIVISION. PROGRAM-ID. AUFGABE-18. ENVIRONMENT DIVISION. CONFIGURATION SECTION. SOURCE-COMPUTER. dva-name-l. OBJECT-COMPUTER. dva-name-2. INPUT-OUTPUT SECTION. FILE-CONTROL. SELECT VERTRETER-DATEI ASSIGN TO SI. <:<"------------ evtl. wei tere Ei ntragungen DATA DIVISION. FILE SECTION. FD VERTRETER-DATEI LABEL RECORD OMITTED DATA RECORD VERTRETER-INFORMATION. 01 VERTRETER-INFORMATION. 02 KENNZAHL PICTURE 9(4). 02 PRUEFZIFFER PICTURE X. PICTURE X. 02 NAME. 03 NACHNAME 03 VORNAME 02 KONTOSTAND WORKING-STORAGE SECTION. 77 DIVIDEND PICTURE 9(3). 77 REST PICTURE 9(2). 77 QUOTIENT PICTURE 9(2). 01 KENNZAHL-WS. 02 TAUSENDER 02 HUNDERTER 02 ZEHNER 02 EINER PICTURE X(20). PICTURE X(20). PICTURE X(25). PICTURE S9(5)V99. PICTURE xx. PICTURE 9. PICTURE 9. PICTURE 9. PICTURE 9. <E<-------- evtl. v/eitere Datei-Beschreibungen <f.(-------- evtl. wei tere Ei ntragungen

Aufgabe 18 und 19-272 - PROCEDURE DIVISION. BEGINN. MOVE KENNZAHL TO KENNZAHL-WS. PER FORM PRUEFZIFFERN-ALGORITHMUS. STOP RUN. PRUEFZIFFERN-ALGORITHMUS. IF (KENNZAHL-WS IS NUMERIC) AND (PRUEFZIFFER = "A" OR PRUEFZIFFER IS NUMERIC), PERFORM AUSWERTUNG-PRUEFZIFFER, COMPUTE DIVIDEND = 5 * TAUSENDER + 4 * HUNDERTER + 3 * ZEHNER + 2 * EINER + DIVIDEND, DIVIDE 11 INTO DIVIDEND GIVING QUOTIENT REMAINDER REST, IF REST = ZERO, NEXT SENTENCE, PERFORM FEHLER---PRUEFZIFFER-FALSCH, PERFORM FEHLER---EINGABE-UNZULAESSIG. AUSWERTUNG-PRUEFZIFFER. IF PRUEFZIFFER = "A", MOVE 10 TO DIVIDEND, MOVE PRUEFZIFFER TO DIVIDEND. FEHLER---PRUEFZIFFER-FALSCH. DISPLAY "uwertewderukennzahl:" KENIEAHL-WS "uunduderupruefziffer:" PRUEFZIFFER "uwidersprechenusich". FEHLER---EINGABE-UNZULAESSIG. DISPLAY "ufehlerhafteuzeichenuinukennzahl:" KENNZAHL-WS "uoderuinupruefziffer: " PRUEFZIFFER. -E<---- hier folgen evtl. weitere Prozeduren der PROCEDURE DIVISION Aufgabe 19 (S. 112): Als Lösung kann man z.b. das folgende Programm angeben: IDENTIFICATION DIVISION. PROGRAM-ID. AUFGABE-19. ENVIRONMENT DIVISION. CONFIGURATION SECTION. SOURCE-COMPUTER. dva-name-l. OBJECT-COMPUTER. dva-name-2. INPUT-OUTPUT SECTION. FILE-CONTROL. SELECT KARTEN-DATEI ASSIGN TO SI. SELECT PLATTEN-DATEI ASSIGN TO 00. DATA DIVISION. FILE SECTION. FD KARTEN-DATEI LABEL RECORD OMITTED DATA RECORD KARTEN-SATZ. 01 KARTEN-SATZ PICTURE X(80).

- 273 - Aufgabe 19 und 20 FD PLATTEN-DATEI LABEL RECORD STANDARD DATA RECORD PLATTEN-SATZ. 01 PLATTEN-SATZ. 02 NUMERIERUNG PICTURE 9(6). PICTURE X(74). WORKING-STORAGE SECTION. 77 DATEI-ENDE-FELD PICTURE 9 VALUE ZERO. 88 DATEI-ENDE VALUE 1. 77 NUMERIERUNG-WS PICTURE 9(6) VALUE ZERO. PROCEDURE DIVISION. BEGINr~. OPEN INPUT KARTEN-DATEI, OUTPUT PLATTEN-DATEI. SCHLEIFE. READ KARTEN-DATEI INTO PLATTEN-SATZ, AT END MOVE 1 TO DATEI-ENDE-FELD. IF DATEI-ENDE, GO TO ENDE, PERFORM VERARBEITUNG. GO TO SCHLEIFE. ENDE. CLOSE KARTEN-DATEI PLATTEN-DATEI. STOP RUN. VERARBEITUNG. ADD 10 TO NUMERIERUNG-WS. MOVE NUMERIERUNG-WS TO NUMERIERUNG. WRITE PLATTEN-SATZ. Aufgabe 20 (S. 158): In Abwandlung des Programms AUFGABE-18 (vgl. S. 271f) geben wir zur Lösung der erweiterten Aufgabenstellung das folgende Programm als mögliche Lösung der Aufgabe 20 an: IDENTIFICATION DIVISION. PROGRAM- ID. AUFGABE-20. ENVIRONMENT DIVISION. CONFIGURATION SECTION. SOURCE-COMPUTER. dva-name-l. OBJECT-COMPUTER. dva-name-2. INPUT-OUTPUT SECTION. FILE-CONTROL. SELECT VERTRETER-DATEI ASSIGN TO SI. <E('----------- evtl. weitere Eintragungen DATA DIVISION. FILE SECTION. FD VERTRETER-DATEI LABEL RECORD OMITTED DATA RECORD VERTRETER-INFORMATION. 01 VERTRETER-INFORMATION. 02 KENNZAHL PICTURE 9(4). 02 STELLE REDEFINES KENNZAHL OCCURS 4 TIMES PICTURE 9. 02 PRUEFZIFFER PICTURE 9. 02 PRUEFZIFFER-ALPHA REDEFINES PRUEFZIFFER PICTURE X. PICTURE X.

Aufgabe 20 und 21-274 - 02 NAME. 03 NACHNAME PICTURE X(20). 03 VORNAME PICTURE X(20). PICTURE X(25). 02 KONTOSTAND PICTURE S9(5)V99. PICTURE XX. WORKING-STORAGE SECTION. 77 DIVIDEND PICTURE 9(3). 77 REST PICTURE 9(2). 77 QUOTIENT PICTURE 9(2). PROCEDURE DIVISION. BEGINN. PERFORM PRUEFZIFFERN-ALGORITHMUS. STOP RUN. PRUEFZIFFERN-ALGORITHMUS. IF KENNZAHL IS NUMERIC AND NAME ~(-------- evtl. weitere Datei-Beschreibungen..;;(------- evtl. weitere Eintragungen IS ALPHABETIC AND (PRUEFZIFFER-ALPHA = "A" OR PRUEFZIFFER IS NUMERIC), IF KENNZAHL > 1 AND KENNZAHL <:: 5000, PERFORM AUSWERTUNG-PRUEFZIFFER, COMPUTE DIVIDEND = 5 * STELLE (1) + 4 * STELLE (2) + 3 * STELLE (3) + 2 * STELLE (4) + DIVIDEND, DIVIDE 11 INTO DIVIDEND GIVING QUOTIENT REMAINDER REST, IF REST = ZERO, NEXT SENTENCE, PERFORM FEHLER---PRUEFZIFFER-FALSCH, PERFORM FEHLER---KENNZAHL-FALSCH, PERFORM FEHLER---EINGABE-UNZULAESSIG. AUSWERTUNG-PRUEFZIFFER. IF PRUEFZIFFER-ALPHA = "A", MOVE 10 TO DIVIDEND, MOVE PRUEFZIFFER TO DIVIDEND. FEHLER---PRUEFZIFFER-FALSCH. DISPLAY "uwerteuderukennzahl:" KENNZAHL "uund,ßerupruefziffer: " PRUEFZIFFER "uwidersprechenusich". FEHLER---KENNZAHL-FALSCH. DISPLAY "uwertuvonukennzahl:" KENNZAHL "uliegtuausserhalbuderugrenzen!". FEHLER---EINGABE-UNZULAESSIG. DISPLAY "ufehlerhafteuzeichenuinukennzahl:" KENNZAHL "uoderuinupruefziffer:" PRUEFZIFFER "uoderuinuname:" NAME. ( hier folgen evtl. weitere Prozeduren der PROCEDURE DIVISION Aufgabe 21 (S. 158): Zur Lösung dieser Aufgabe setzen wir voraus, daß in den beiden Lochkarten, welche zur Eingabe bereitgestellt werden, keine fehlerhaften Eintragungen erfolgt sind. In diesem Fall kann man z.b. die folgende Lösung angeben:

- 275 - Aufgabe 21 IDENTIFICATION DIVISION. PROGRAM-ID. AUFGABE-2l. ENVIRONMENT DIVISION. CONFIGURATION SECTION. SOURCE-COMPUTER. dva-name-l. OBJECT-COMPUTER. dva-name-2. INPUT-OUTPUT SECTION. FILE-CONTROL. SELECT LOCHKARTEN-DATEI ASSIGN TO SI. ( evtl. weitere Eintragungen DATA DIVISION. FILE SECTION. FD LOCHKARTEN-DATEI LABEL RECORD OMITTED DATA RECORD LOCHKARTE. 01 LOCHKARTE. PICTURE X(4). 02 WERTE PICTURE S9(5) OCCURS 10 TIMES. PICTURE X(26). ( evtl. weitere Datei-Beschreibungen WORKING-STORAGE SECTION. 77 DATEI-ENDE-FELD PICTURE 9 VALUE ZERO. 88 DATEI-ENDE VALUE 1. 77 ZAEHLER PICTURE 99. 77 I PICTURE 99. 77 J PICTURE 99. 77 HILFS-FELD PICTURE S9(5). 01 ZAHLEN-WERTE. 02 ZAHLEN PICTURE S9(5) OCCURS 20 TIMES. ( evtl. weitere Eintragungen PROCEDURE DIVISION. BEGINN. PERFORM AUFSTEIGEND-SORTIEREN. STOP RUN. AUFSTEIGEND-SORTIEREN. PERFORM TAB-BESETZEN-ANFANG THRU TAB-BESETZEN-ENDE. PERFORM SORTIEREN-ANFANG THRU SORTIEREN-ENDE. TAB-BESETZEN-ANFANG. OPEN INPUT LOCHKARTEN-DATEI. MOVE 1 TO ZAEHLER. TAB-BESETZEN-SCHLEIFE. READ LOCHKARTEN-DATEI, AT END MOVE 1 TO DATEI-ENDE-FELD. IF DATEI-ENDE, GO TO TAB-BESETZEN-ENDE, PERFORM UEBERTRAGUNG-ANFANG THRU UEBERTRAGUNG-ENDE. GO TO TAB-BESETZEN-SCHLEIFE. TAB-BESETZEN-ENDE. CLOSE LOCHKARTEN-DATEI. UEBERTRAGUNG-ANFANG. MOVE 1 TO J.

Aufgabe 21 und 22-276 - UEBERTRAGUNG-SCHLEIFE. IF J > 10, GO TO UEBERTRAGUNG-ENDE, MOVE WERTE (J) TO ZAHLEN (ZAEHLER), ADD 1 TO J ZAEHLER. GO TO UEBERTRAGUNG-SCHLEIFE. UEBERTRAGUNG-ENDE. EXIT. SORTIEREN-ANFANG. MOVE 1 TO I. SORTIEREN-SCHLEIFE. IF I > 19, GO TO SORTIEREN-ENDE, PERFORM REST-DURCHSUCHEN-ANFANG THRU REST-DURCHSUCHEN-ENDE, ADD 1 TO I. GO TO SORTIEREN-SCHLEIFE. SORTIEREN-ENDE. EXIT. REST-DURCHSUCHEN-ANFANG. COMPUTE J = I + 1. REST-DURCHSUCHEN-SCHLEIFE. IF J > 20, GO TO REST-DURCHSUCHEN-ENDE, PERFORM VERGLEICHEN-AUSTAUSCH, ADD 1 TO J. GO TO REST-DURCHSUCHEN-SCHLEIFE. REST-DURCHSUCHEN-ENDE. EXIT. VERGLEICHEN-AUSTAUSCH. IF ZAHLEN (I) > ZAHLEN (J), MOVE ZAHLEN (I) TO HILFS-FELD, MOVE ZAHLEN (J) TO ZAHLEN (I), MOVE HILFS-FELD TO ZAHLEN (J)....,<:----- hier folgen evtl. weitere Prozeduren der PROCEDURE DIVISION Aufgabe 22 (S. 159): Eine mögliche Lösung dieser Aufgabe gibt das folgende Programm an: IDENTIFICATION DIVISION. PROGRAM- ID. AUFGABE-22. ENVIRONMENT DIVISION. CONFIGURATION SECTION. SOURCE-COMPUTER. dva-name-l. OBJECT-COMPUTER. dva-name-2. INPUT-OUTPUT SECTION. FILE-CONTROL. SELECT LOTTO- TIP SELECT GEWINN-ZAHLEN-DATEI SELECT LISTE ASSIGN TO DI. ASSIGN TO SI. ASSIGN TO LO.

- 277 - Aufgabe 22 DATA DIVISION. FILE SECTION. FD LOTTO-TI P LABEL RECORD STANDARD DATA RECORD TIP-REIHE. 01 TIP-REIHE. 02 ZAHL PICTURE X OCCURS 49 TIMES. 02 SPIELER-INFORMATION PICTURE X(31). FD GEWINN-ZAHLEN-DATEI LABEL RECORD OMITTED DATA RECORD GEWINN-ZAHLEN-SATZ. 01 GEWINN-ZAHLEN-SATZ PICTURE X(80). FD LISTE LABEL RECORD OMITTED DATA RECORD LISTE-INFORMATION. 01 LISTE-INFORMATION PICTURE X(133). WORKING-STORAGE SECTION. 77 DATEI-ENDE-FELD PICTURE 9 VALUE ZERO. 88 DATEI-ENDE VALUE 1. 77 ANZAHL-RICHTIGE PICTURE 9. 77 K PICTURE 9. 77 I PICTURE 99. 77 KLASSE-I PICTURE 9(4) 77 KLASSE-lI PICTURE 9(5) 77 KLASSE-III PICTURE 9(6) 77 KLASSE-IV PICTURE 9(7) 77 KLASSE-V PICTURE 9(8) 01 GEWINN-ZAHLEN-WS. VALUE ZERO. VALUE ZERO. VALUE ZERO. VALUE ZERO. VALUE ZERO. 02 GEWINN-ZAHL PICTURE 99 OCCURS 6 TIMES. 02 ZUSATZ-ZAHL PICTURE 99. 01 LISTEN-KOPF PICTURE X(133) VALUE "ulisteuderugewinner:". 01 LISTEN-KOPF-UNTERSTREICHUNG. PICTURE X VALUE SPACE. PICTURE X(19) VALUE ALL "_Ho PICTURE X(113) VALUE SPACES. 01 ZEILE-EINZEL-GEWINN. 02 KLASSE-ED 02 SPIELER-INFORMATION-ED 01 ZEILE-ANZAHL-GEWINNER-l. PICTURE X(15) PICTURE X(3). PICTURE X(3) PICTURE X(31). PICTURE X(81) VALUE "LJGEWINN-KLASSEu". VALUE "." VALUE SPACES. PICTURE X(19) VALUE "uinsgesamtugibtuesu". 02 ANZAHL-GEWINNER PICTURE Z(9). PICTURE X(105) VALUE "ugewinner". 01 ZEILE-ANZAHL-GEWINNER-2 PICTURE X(133) VALUE "udavonuentfallen". 01 ZEILE-ANZAHL-GEWINNER-3. PICTURE X(18) VALUE "uaufudiewklasseui:". 02 KLASSE-I-ED PICTURE Z(4). PICTURE X(20) VALUE".uAUFUDIELJKLASSEwII:". 02 KLASSE-II-ED PICTURE Z(5). PICTURE X(21) VALUE".uAUFuDIEuKLASSEuIII:". 02 KLASSE-III-ED PICTURE Z(6). PICTURE X(20) VALUE" 'LJAUFLJDIEUKLASSEuIV:". 02 KLASSE-IV-ED PICTURE Z(7). PICTURE X(22) VALUE "uundljaufudieuklasseuv:". 02 KLASSE-V-ED PICTURE Z(8).

Aufgabe 22-278 - PROCEDURE DIVISION. BEGINN. PERFORM BEREITSTELLEN-GEWINN-ZAHLEN. OPEN INPUT LOTTO-TIP, OUTPUT LISTE. WRITE LISTE-INFORMATION FROM LISTEN-KOPF AFTER ADVANCING 0 LINES. WRITE LISTE-INFORMATION FROM LISTEN-KOPF-UNTERSTREICHUNG AFTER ADVANCING 1 LINE. MOVE SPACES TO LISTE-INFORMATION. WRITE LISTE-INFOR~lATION AFTER ADVANCING 3 LINES. SCHLEIFE. READ LOTTO-TIP, AT END MOVE 1 TO DATEI-ENDE-FELD. IF DATEI-ENDE, GO TO ENDE, PERFORM VERARBEITUNG-ANFANG THR~VERARBEITUNG-ENDE. GO TO SCHLEIFE. ENDE. PERFORM AUSGABE-GEWINNER-ZAHL. CLOSE LOTTO-TIP LISTE. STOP RUN. BEREITSTELLEN-GEWINN-ZAHLEN. OPEN INPUT GEWINN-ZAHLEN-DATEI. READ GEWINN-ZAHLEN-DATEI INTO GEWINN-ZAHLEN-WS, AT END MOVE 1 TO DATEI-ENDE-FELD. CLOSE GEWINN-ZAHLEN-DATEI. VERARBEITUNG-ANFANG. MOVE ZEROS TO K ANZAHL-RICHTIGE. VERARBEITUNG-SCHLEIFE. IF K > 5, GO TO VERARBEITUNG-ENDE, ADD 1 TO K, MOVE GEWINN-ZAHL (K) TO I, IF ZAHL (I) = "X", ADD 1 TO ANZAHL-RICHTIGE. GO TO VERARBEITUNG-SCHLEIFE. VERARBEITUNG-ENDE. IF ANZAHL-RICHTIGE< 3, NEXT SENTENCE, PERFORM AUSWERTUNG, Aus formalen Gründen (vgl. die Fußnote auf der S. 63) muß man die AT-END-Klausel kodieren. Zur Eingabe der Gewinnzahlen könnte man in diesem Fall auch die ACCEPT Anweisung einsetzen (s. S. 240). MOVE SPIELER-INFORMATION TO SPIELER-INFORMATION-ED, WRITE LISTE-INFORMATION FROM ZEILE-EINZEL-GEWINN AFTER ADVANCING 1 LINE. AUSWERTUNG. IF ANZAHL-RICHTIGE> 4, IF ANZAHL-RICHTIGE = 6, MOVE "I" TO KLASSE-ED, ADD 1 TO KLASSE-I, PERFORM AUSWERTUNG-ZUSATZ-ZAHL, IF ANZAHL-RICHTIGE = 3, MOVE "V" TO KLASSE-ED, ADD 1 TO KLASSE-V, MOVE "IV" TO KLASSE-ED, ADD 1 TO KLASSE-IV. AUSWERTUNG-ZUSATZ-ZAHL. IF ZAHL (ZUSATZ-ZAHL) = "X", MOVE "li" TO KLASSE-ED, ADD 1 TO KLASSE-lI, MOVE "I II" TO KLASSE-ED, ADD 1 TO KLASSE-III.

- 279 - Aufgabe 22, 23 und 24 AUSGABE-GEWINNER-ZAHL. MOVE KLASSE-I TO KLASSE-I-ED. MOVE KLASSE-lI TO KLASSE-II-ED. MOVE KLASSE-III TO KLASSE-III-ED. MOVE KLASSE-IV TO KLASSE-IV-ED. MOVE KLASSE-V TO KLASSE-V-ED. ADD KLASSE-I KLASSE-lI KLASSE-III KLASSE-IV KLASSE-V GIVING ANZAHL-GEWINNER. WRITE LISTE-INFORMATION FROM ZEILE-ANZAHL-GEWINNER-l AFTER ADVANCING 6 LINES. WRITE LISTE-INFORMATION FROM ZEILE-ANZAHL-GEWINNER-2 AFTER ADVANCING 2 LINES. WRITE LISTE-INFORMATION FROM ZEILE-ANZAHL-GEWINNER-3 AFTER ADVANCING 2 LINES. Die in diesem Programm gewählte Auslegung des Druckbildes ist natürlich nur sinnvoll, falls es mindestens einen Gewinner gibt. Aufgabe 23 (S. 159): Für das Datenfeld A ergeben sich die folgenden Inhalte: a) 14102131 b) 10202131 c) 14202131 d) 10002021 Aufgabe 24 (S. 159): Im Gegensatz zu den Voraussetzungen der Aufgabe 17 sind nun weder die Records von VERTRETER-DATEI-P noch diejenigen von ARTIKEL-BESTELL-L nach den Vertreterkennzahlen sortiert. Wie bei der Lösung der Aufgabe 17 (vgl. S. 268) nehmen wir vereinfachend an, daß keine fehlerhaften Daten innerhalb der Records von VERTRETER-DATEI-P und ARTIKEL-BESTELL-L auftreten, zu jedem Satz von VERTRETER-DATEI-P mindestens ein Satz in der Datei ARTIKEL-BESTELL-L existiert und alle Datensätze in ARTIKEL-BESTELL-L mit gleicher Kennzahl direkt hintereinanderliegen. Dann können wir als Lösung z.b. das folgende Programm angeben, in welchem wir die Abweichungen und Ergänzungen zum Programm AUFGABE-17 auf der S. 268ff markieren: IDENTIFICATION DIVISION. PROGRAM- ID. AUFGABE-24. ENVIRON:.MENT DIVISION. I DATA DIVISION. FILE SECTION. FD s. S. 268 VERTRETER-DATEI-P LABEL RECORD STANDARD DATA RECORD VERTRETER-INFORMATION. 01 VERTRETER-INFORMATION. 02 KENNZAHL-E PICTURE 9(4). <;:(-------geändert! PICTURE XX. 02 NACHNAME-E PICTURE X(20). <f(------- geändert! 02 VORNAME-E PICTURE X(20). ( geändert! PICTURE X(34). FD ARTIKEL-BESTELL-L 01 ARTIKEL-KARTE. FD LISTE 01 LISTE-INFORMATION s. S. 269

Aufgabe 24-280 - WORKING-STORAGE SECTION. 77 DATEI-ENDE-FELD PICTURE 9 VALUE ZERO. 88 DATEI-ENDE VALUE 1. 7? LISTEN-ANFANGS-FELD PICTURE 9 VALUE 1. 88 LISTEN-ANFANG VALUE 1. 77 GESAMT-UMSATZ PICTURE 9(7)V99. 77 UMSATZ PICTURE 9(7)V99. 77 ALTE-KENNZAHL PICTURE 9(4) VALUE ZERO. Tneu ' 77 VERTRETER-ZAHL PICTURE 9(3).. 01 VERTRETER-INFORMATION-WS. 02 VERTRETER OCCURS 1 TO 600 TIMES DEPENDING ON VERTRETER-ZAHL INDEXED BY IND. 03 KENNZAHL PICTURE 9(4). 1 03 NACHNAME PICTURE X(20). 03 VORNAME PICTURE X(20). 01 KOPF-ZEILE-I. 01 KOPF-ZEILE-2. 01 KOPF-ZEILE-3. 01 KOPF-ZEILE-4. s. S. 269f 01 POSTEN-ZEILE. 01 GESAMT-UMSATZ-ZEILE-l. 01 GESAMT-UMSATZ-ZEILE-2. PROCEDURE DIVISION. BEGINN. PERFORM VORBESETZUNG-ANFANG THRU VORBESETZUNG-ENDE. OPEN INPUT ARTIKEL-BESTELL-L, OUTPUT LISTE. MOVE ZERO TO DATEI-ENDE-FELD. EINLESEN. READ ARTIKEL-BESTELL-L, AT END MOVE 1 TO DATEI-ENDE-FELD. IF DATEI-ENDE, GO TO ENDE, PERFORM VERARBEITUNG. GO TO EINLESEN. ENDE. PERFORM AUSGABE-GESAMT-UMSATZ. CLOSE ARTIKEL-BESTELL-L LISTE. STOP RUN. VORBESETZUNG-ANFANG. OPEN INPUT VERTRETER-DATEI-P. SET IND TO 1. VORBESETZUNG-SCHLEIFE. READ VERTRETER-DATEI-P, AT END MOVE 1 TO DATEI-ENDE-FELD. IF DATEI-ENDE, SET VERTRETER-ZAHL TO IND, SUBTRACT 1 FROM VERTRETER-ZAHL, GO TO VORBESETZUNG-ENDE, MOVE KENNZAHL-E TO KENNZAHL (IND), MOVE VORNAME-E TO VORNAME (IND), MOVE NACHNAME-E TO NACHNAME (IND), SET IND UP BY 1. GO TO VORBESETZUNG-SCHLEIFE. VORBESETZUNG-ENDE. CLOSE VERTRETER-DATEI-P. geändert! neu!

- 281 - Aufgabe 24 VERARBEITUNG. Ir AL TE-KENNZAHL = KENNZAHL-IN-ARTIKEL-KARTE, NEXT SENTENCE, IF LISTEN-ANFANG, PERFORM AUSGABE-KOPF-ZEILEN, MOVE ZEROS TO LISTEN-ANFANGS-FELO GESAMT-UMSATZ, geändert! PERFORM AUSGABE-GESAMT-UMSATZ, PERFORM AUSGABE-KOPF-ZEILEN, MOVE ZERO TO GESAMT-UMSATZ. PERFORM VERARBEITUNG-POSTEN-ZEILE. MOVE AUSGABE-GESAMT-UMSATZ. t~ove KENNZAHL-IN-ARTIKEL-KARTE TO ALTE-KENNZAHL. GESAMT-UMSATZ TO GESAMT-UMSATZ-ED. WRITE LISTE-INFORMATION FROM GESAMT-UMSATZ-ZEILE-l AFTER AOVANCING 2 LINES. WRITE LISTE-INFORMATION FROM GESAMT-UMSATZ-ZEILE-2 AFTER AOVANCING 1 LINE. VERARBEITUNG-POSTEN-ZEILE. MOVE ARTIKEL-NUMMER TO ARTIKEL-NUMMER-EO. MOVE STUECKZAHL TO STUECKZAHL-ED. MOVE STUECKPREIS TO STUECKPREIS-ED. MULTIPLY STUECKZAHL BY STUECKPREIS GIVING UMSATZ. AOD UMSATZ TO GESAMT-UMSATZ. MOVE UMSATZ TO UMSATZ-ED. WRITE LISTE-INFORMATION FROM POSTEN-ZEILE AFTER ADVANCING LINE. AUSGABE-KOPF-ZEILEN. ---r- SET IND TO 1. I SEARCH VERTRETER VARYING IND, i WHEN KENNZAHL (IND) KENNZAHL - I N-ARTI KEL - KARTE, I NEXT SENTENCE. MOVE VORNAME (IND) TO VORNAME-ED. MOVE NACHNAME (IND) TO NACHNAME-ED. MOVE KENNZAHL (IND) TO KENNZAHL-ED. IF LISTEN-ANFANG, WRITE LISTE-INFORMATION FROM KOPF-ZEILE-l AFTER ADVANCING 0 LINES, WRITE LISTE-INFORMATION FROM KOPF-ZEILE-l AFTER ADVANCING 6 LINES. WRITE LISTE-INFORMATION FROM KOPF-ZEILE-2 AFTER ADVANCING 1 LINE. WRITE LISTE-INFORMATION FROM KOPF-ZEILE-3 AFTER ADVANCING 2 LINES. WRITE LISTE-INFORMATION FROM KOPF-ZEILE-4 AFTER ADVANCING 1 LINE. l,e"d"" Sind die Records von VERTRETER-DATEI-P bzgl. der Vertreterkennzahl aufsteigend sortiert, so kann man z.b. die folgenden Programmänderungen vornehmen: Die Vereinbarung des Tabellenbereichs VERTRETER-INFORMATION-WS in der WORKING STORAGE SECTION ist folgendermaßen abzuändern: 01 VERTRETER-INFORMATION-WS. 02 VERTRETER OCCUi:S 1 TO 600 TIr';ES jepending Orl VERTRETER-ZAHL ASCENDING KEY IS KENNZAHL INDEXED BY IND. 03 KENNZAHL PICTURE 9(4). 03 NACHNAME PICTURE X(20). 03 VORNAME PICTURE X(20). Ferner muß man die SEARCH-Anweisung im Paragraphen AUSGABE-KOPF-ZEILEN durch die folgende Form für das logarithmische Suchen ersetzen: SEARCH ALL VERTRETER, WHEN KENNZAHL (IND) = KENNZAHL-IN-ARTIKEL-KARTE, NEXT SENTENCE.

Aufgabe 24 und 25-282 - In diesem Fall kann man auf die Anweisung SET IND TO 1. welche der ursprünglichen SEARCH-Anweisung vorausging, auch verzichten. Aufgabe 25 (S. 168): Als Lösung kann man z.b. das folgende Programm kodieren: IDENTIFICATION DIVISION. PROGRAM- ID. AUFGABE-25. ENVIRONMENT DIVISION. CONFIGURATION SECTION. SOURCE-COMPUTER. dva-name-1. OBJECT-COMPUTER. dva-name-2. INPUT-OUTPUT SECTION. FILE-CONTROL. SELECT ARTIKEL-DATEI SELECT LISTE DATA DIVISION. FILE SECTION. FD ARTIKEL-DATEI LABEL RE CORD OMITTED DATA RECORD ARTIKEL-SATZ. 01 ARTIKEL-SATZ. 02 ARTIKEL-BEZEICHNUNG. 03 ARTIKEL-NUMMER. 04 LFD-NUMMER 04 HERSTELLER 03 ART! KEL - NAME 02 LAGER-INFORMATION. 03 LAGER-NUMMER 03 REGAL-NUMMER 02 WERT-INFORMATION. 03 STUECK-PREIS 03 MENGE 02 ERFASSUNGS-DATUM. 03 TAG 03 MONAT 03 JAHR ASSIGN TO SI. ASSIGN TO LO. PICTURE 9(6). PICTURE 99. PICTURE X(20). PICTURE XX. PICTURE 9. PICTURE 9(3). PICTURE 9(6)V99. PICTURE 9(5). PICTURE 99. PICTURE 99. PICTURE 99. PICTURE X(27). FD LISTE LABEL RECORD OMITTED DATA RECORD LISTE-INFORMATION. 01 LISTE-INFORMATION PICTURE X(133). WORKING-STORAGE SECTION. 77 DATEI-ENDE-FELD PICTURE 9 VALUE ZERO. 88 DATEI-ENDE VALUE 1. 01 LISTEN-KOPF-1. PICTURE X(4) PICTURE X(14) PICTURE X(16) PICTURE X(19) PICTURE X(16) PICTURE X(15) PICTURE X(16) VALUE SPACES. VALUE "LFD-NUMMER". VALUE "HERSTELLER". VALUE "ARTIKEL-NAME". VALUE "LAGER-NUMMER". VALUE "REGAL-NUMMER". VALUE "STU:CK-PREIS".

- 283 - Aufgabe 25 PICTURE X(13) PICTURE X(13) PICTURE X(7) VALUE "MENGE". VALUE "WERT". VALUE "DATUM". 01 LISTEN-KOPF-2. PICTURE X VALUE SPACE. PICTURE X(132) VALUE ALL "_no 01 LISTE-INFORMATION-WS. PICTURE X(6) VALUE SPACES. 02 ARTIKEL-BEZEICHNUNG. 03 ARTIKEL-NUMMER. 04 LFD-NUMMER PICTURE Z(6). 04 FILLER PICTURE X(lo) VALUE SPACES. 04 HERSTELLER PICTURE ZZ. 03 FILLER PICTURE X(6) VALUE SPACES. 03 ARTIKEL-NAME PICTURE X(20). PICTURE X(8). 02 LAGER-INFORMATION. 03 LAGER-NUMMER PICTURE Z. 03 FILLER PICTURE X(14) VALUE SPACES. 03 REGAL-NUMMER PICTURE Z(3). PICTURE X(9) VALUE SPACES. 02 WERT-INFORMATION. 03 STUECK-PREIS PICTURE Z(6).99. 03 FILLER PICTURE X(6) VALUE SPACES. 03 MENGE PICTURE Z(5). 03 FILLER PICTURE X(4) VALUE SPACES. 03 WERT PICTURE Z(9).99. PICTURE X(4) VALUE SPACES. 02 ERFASSUNGS-DATUM. 03 TAG PICTURE 99. 03 FILLER PICTURE X VALUE "I". 03 MONAT PICTURE 99. 03 FILLER PICTURE X VALUE "I". 03 JAHR PICTURE 99. PROCEDURE DIVISION. BEGINN. OPEN INPUT ARTIKEL-DATEI, OUTPUT LISTE. WRITE LISTE-INFORMATION FROM LISTEN-KOPF-1 BEFORE ADVANCING 1 LINE. WRITE LISTE-INFORMATION FROM LISTEN-KOPF-2 BEFORE ADVANCING 2 LINES. SCHLEIFE. READ ARTIKEL-DATEI, AT END MOVE 1 TO DATEI-ENDE-FELD. IF DATEI-ENDE, GO TO ENDE, PERFORM VERARBEITUNG. GO TO SCHLEIFE. ENDE. CLOSE ARTIKEL-DATEI LISTE. STOP RUN. VERARBEITUNG. MOVE CORRESPONDING ARTIKEL-SATZ TO LISTE-INFORMATION-WS. MULTIPLY STUECK-PREIS IN ARTIKEL-SATZ BY MENGE IN ARTIKEL-SATZ GIVING WERT. WRITE LISTE-INFORMATION FROM LISTE-INFORMATION-WS BEFORE ADVANCING 1 LINE.

-284 - Register Ablageformat 252f. Ablaufprotokoll(-Datej) 38ft., 74f., 232ft., 241 Ablaufsteuerung 3, 24, 26, 81, 92, 167, 180,217,219 Ablochschema 35ff. ACCEPT-Anweisung 239f., 256, 259 ACCESS-Klausel 191 ft., 200, 205 Addition 96ft. ADD-Anweisung 96ft., 107, 164,257 Adressierung 1, 8,19f., 30, 115f., 125f., 129, 147f., 167,235 ADVANCI NG-Klausel 66ft., 258 aktueller Parameter 218 f. Algorithmus 1, 19ft., 35,121 ALL 51,144 ALPHABETIC 86 alphabetisch 86,234 alphanumerisch 9,45,50,56,89,108 alphanumerisches Literal 5Off., 89, 238 alphanumerisch-druckaufbereitet 70,74, 1 08 Alternativklammer 41 ALTER-Anweisung 243,257 AND 87,144 Anfangswert 55f., 175, 177 Anführungszeichen 50f., 218, 251 f. ANSI(-68, -74) 2,4, 248ff. Anweisung 24,26,41 ff., 256ft. Apostroph 50,251 f. Arbeitsspeicherbereich 29ft., 55, 120ft., 146, 190 arithmetische Anweisung 96ft., 257 arithmetischer Ausdruck 84f.,104ff. arithmetischer Operator 84,104ft. ASCENDING-Klausel 142f., 191,227, 259f. ASCII Kode 7,252 Assembler 1 Assemblersprache 1 ASSIGN-Klausel 28f., 58f., 191 ff., 254 AT-END-Klausel (READ) 41 ft., 63, 193f., 207,213,258 (RETURN) 229,259 (SEARCH) 138f., 144f., 258 Attribut 9,43 Ausführungsteil 25,27 Ausgabe(-Pufter)-Bereich 20f., 29, 39, 60ff., 64, 66ff., 189f. Ausgabe Datei 59f., 189, 193, 195,206 Ausgabe-Prozedur 226, 228 Auswertungs Reihenfolge 88,104f. AUTHOR 234f., 255 bedingte Anweisung 43,82, 108 Bedingung 22,25,32,43, 82f., 85ft., 172f., 175, 177 Bedingungs-Strukturblock 22f., 25, 82f., 180,254 Bedingungsname 25, 32ft., 43, 162, 191, 242, 260 Bedingungsnamen-Bedingung 86,88 Bereich (A und B) 36 Betriebssystem 19, 38f., 187ff. Bezeichner 8,13,115,147, 160ft. Bibliotheks-Datei 244f. Binär Arithmetik 109,125 binäres Durchsuchen 141 f. Binärziffer 12 Binder 3,19, 38f. Bindestrich 8,36,52,251 f. Bit 12, 31 Bitmuster 251 BLANK-WHEN-ZERO-Klausel72,191,260 Block 7,17, 187f. BLOCK-Klausel 187f., 190,260 Blockheader 188 Blocklänge 17, 187 Blocklücke 187 Blockungsfaktor 187f. BREAK-Strukturblock 22f., 25, 92f., 254 Buchstabe 8,10,86,234,251 f. Byte 12,20, 30f., 66ff., 71,108,201,207, 251 ft. CALL-Anweisung 218f., 223, 257 Case-Strukturblock 93, 181,254 CLOSE-Anweisung 25, 60f., 193f., 202, 206ff., 243f., 258 COBOL 2ft., 9, 250, 255ft. COBOL-Ablochschema 35ft. COBOL-Anweisung 24,26,41 ft., 256ft. COBOL-Hauptprogramm 217t. COBOL-Kompilierer 3,19,35,38,232, 244f., 249f. COBOL-Objektprogramm 1,3, 19t., 39, 68,222 COBOL-Programmformular 37 COBOL-Programmstruktur 255 COBOL Quellprogramm 19, 35ft., 68, 244 COBOL-Satz 26,37,41, 242t.

-285 - COBOL-Sprachumfang 2,4,250 COBOL-Unterprogramm 217ff COBOL-Wort 8,248f. COBOL-Zeichenvorrat 251 f. CODASYL 2,41 Compiler 3,19,35,38,232, 244f., 249f. COMP(UTATIONAL) 109f., 125.191,260 COMP(UTATIONAL)-3 110,191,253,260 COMPUTATIONAL-l, -2 109 COMPUTE-Anweisung 103ft., 107, 257 CONFIGURATION SECTION 27f.,68,255 COPY-Klausel 244ft. CORR(ESPONDING)-Klausel 164ft., 256f. CPU 20 CURRENCY-5IGN-Klausel 238,242 DATA DIVISION 27, 29ft., 163,255 DATA-Klausel 17f., 62,190,225,260 DATE 239,256 DATE-COMPILED 235,255 DATE-WRITTEN 235,255 Datei 16ff., 58ff., 186f., 192ft., 200ff., 204ff. Dateiende 21 f., 63, 189, 193f., 207, 247 Dateiname 17f., 28, 58ff., 62f., 163, 190f., 206ft., 258ff. Datei-Beschreibung 17ft., 29, 62,188,190, 245,260 Datei-Gerätezuordnung 28f., 58f., 192,254f. Datei-Kenngrößen 190f. Datei-Kennsätze 17, 59f. Datei-Organisation 41,187,192, 200f., 204ff. Daten 1, 5f Datenelement 8 f., 12ft. Datenfeld 7f., 115 Datenfeld-Beschreibung 9, 14,29,191,245, 260 Datenfluß 20 Datengruppe 8, 13,49, 56 Datenname 8,13,115,147, 160f. Datensatz 5,8, 13f., 21 f., 62, 187ft. Datensatz-Beschreibung 14, 18, 61 f., 245 Datenteil 27,29f. Datenträger 5ff., 17,37,187,191 f., 244 Datenträger-Vereinbarung 192 Datentransport 21,23, 44ft. Datentransport-Anweisung 256 Datum 239 DAY 239,256 DEBUGGING-MODE-Klausel 234 Debug-Zeile 234 DECIMAL-POINT-Klausel 238,242 DECLARATIVES(-Bereich) 63, 246f., 255 DELETE-Anweisung 202,208,210,258 DEPENDING-ON-Klausel (GO) 180f., 256 DEPENDING-ON-Klausel (OCCURS) 130f-, 137f., 144, 146, 191,260 DESCENDING-Klausel 142f., 191,227, 259f. Dezimal-Arithmetik 109f., 125 Dezimal-Darstellung (gepackt) 11 Of., 253 (ungepackt) 108ff., 252f. Dezimalkomma 5,238 Dezimalpunkt 5, lh., 46, 50, 69f., 72, 238 01124,192 Direktzugrifts-Medium 200, 204 DISPLAY 109f., 191,215, 252f., 260 DISPLAY-Anweisung 74ff., 241,259 DIVIDE-Anweisung 101 ft., 107,257 Division 101ff: Divisionsrest 1 02f. PO 59,192 Dokumentation 2, 24, 36 Dokumentationsfeld 36 Doppelwort 30 Druck-Ausgabe 29, 65ff., 76, 190, 236 Druck-Datei 17f., 28, 58,66,69,75,186, 192,254 Druckaufbereitung 69ff., 236ft. Druckaufbereitungszeichen 69ff., 236f. Druckseite 37,67f. Druckzeile 17, 66f., 76 OS 225 Dual-Darstellung 253 Dualzahl 253 Durchsuchen (lineares) 132ff. (logarithmisches) 141 ff. DYNAMIC 212 dynamische Zugriffs-Methode 212f. EBCDI-{Intern-)Kode 7,51,69,89,251 f. Ein-/Ausgabe-Anweisung 258 einfache Bedingung 85f. einfacher Strukturblock 22f.,254 Eingabe(-Pufterl-Bereich 20f., 29, 39, 60ft., 188f. Eingabe-Datei 59f., 193, 195,202,206,209 einstufige Tabelle 115ff., 200 elementares Datenfeld 8f., 12ff. -Zweig 82f.,90f. Empfangsfeld 44ft., 69ff., 237ft. END DECLARATIVES 36,246,255 ENVIRONMENT DIVISION 27f., 68, 217, 241,255 Ergebnisfeld 96ff.

-286 - Erkennungsfeld 27f. EXAMINE-Anweisung 214ff., 256 EXHIBIT-Anweisung 232ff., 259 EXIT-Anweisung 94f., 171 f., 219, 257 EXTEND 244, 246f., 258f. FD 17f., 36, 62,190,245,260 Festpunktzahl 109,125,253 Festpunkt-Darstellung 253 figurative Konstante 51,53,75 FILE SECTION 27, 29, 217,225, 255 FI LE-CONTROL 27f., 58f., 245, 255 FILLER 13f., 19,191,260 Flußdiagramm-Methode 23 formaler Parameter 218f. Fortsetzungsregel 36, 52 Fortsetzungszeile 36 FROM-Klausel (ACCEPT) 239f., 259 (RELEASE) 229,259 (REWRITE) 193f., 202, 207, 210,258 (WRITE) 30,64, 66ft., 190, 193,201, 206,210,258 Füll-Byte 236 Funktionsname 68,240ft. Ganzwort 30,109,130,253 ganzzahlig 11,33, 47f., 107 gepackte Dezimal-Darstellung 110f.,253 Gerätebezeichnung 28f., 39, 58f., 192, 225,254 geschachteltes IF 34,90f. geschachteltes PERFORM 170ft. GIVING-Klausel 98ft., 257 GIVING-Klausel (SORT) 230f., 259 gleitende Ersetzung(szeichen) 72f., 237f. Gleitkomma-Arithmetik 109 GO-Anweisung 25, 92f., 180f., 256 Gruppe 8,13,49,56 Gruppen-MOVE 49 Halbierungs-Methode 141 f. Hauptspeicher(bereich) 12,20,39, 187ff., 222ff. Hierarchie 9, 13f., 143, 161, 163, 167,227 HIGH-VALUE(S) 51 1-0 193f., 201, 207, 210, 246f., 258f. I-O-CONTROL 245,255 IDENTIFICATION DIVISION 27f., 217, 234f., 255 I F-Anweisung 25,32, 34f., 82ff., 256 IN 160ft., 168 INDEX 130,191,260 Index-Datenfeld 130, 140, 178 I ndex-methode 125ft., 147 I ndex-name 125ft., 163, 177 index-sequentielle Datei-Organisation 204ff. INDEXED 204f. INDEXED-Klausel 126,147,191,260 Initialisierung 31, 55f. INPUT 59f., 193,202,206,209,244, 246f., 258f. INPUT PROCEDURE 226ft., 259 INPUT-OUTPUT SECTION 27ff., 255 INSTALLATION 234f., 255 Intern-Kode 7, 49f., 89, 141, 224, 251 f. Interpunktionszeichen 42 INTO-Klausel (READ) 30,63, 193f., 201 f., 207, 209f., 213, 258 (RETURN) 229,259 INVALlD-KEY-Klausel (DELETE) 202, 210,258 (READ) 41,201f., 209f., 258 (REWRITE) 202,207,210,258 (START) 206f., 213, 258 (WRITE) 201,206,210,258 Ja-Zweig 23, 82f., 90, 254 Job 38, 242 Job-Aufbau 38 JOB-Ausführung 38ff. JUST(lFIED)-Klausel 54,56,191,260 Kapitel(name) 27,36,81, 166ff., 173, 177, 222,226,228, 245f., 255 Kartenlocher 6 Kategorie 9, 45ft., 54, 70, 234 Kennsätze 17,59f. KEY-Klausel 142f., 145, 191,213,227, 258ft. Klammer 10, 41f., 84, 104ft., 116, 147f., 251 f. Klassenbedingung 86,88 Klausel 9 Komma 5,32,42,63,84,90,147, 236f., 238 Kommando(-Karte) 37f., 68f., 192,242, 244 Kommentar 36f., 242 Kommentarzeile 36 Kompilierer 3, 19,35,38,232, 244f., 249f. Kompilierer-Modul 4,250 Konstante 26, 50

-287 - LABEL-Klausel 17f_, 62,190,260 Laufvariable 175ff_ Leerzeichen 6,23,26,31,36,45, 50ff., 72f., 84,147,251 f. LEFT 236 Leistungsstufe 4, 250 lesen 59, 190 lineares Durchsuchen 134ff. LlNKAGE SECTION 218f.,255 linksbündig 45 Literal 26, 50ff. LO 20f., 59, 192 Lochkarte 6f., 12, 17, 19, 252 Lochkarten-Datei 17,28, 37f., 186, 192, 254 Lochkarten-Kode 6f. löschen 23, 20lf., 208, 210 Lösungsalgorithmus 1 ff., 19ff_, 35 logarithmisches Durchsuchen 141 f. logischer Operator 87f. LOW-VALUE(S) 51 Magnetband-Datei 17,60, 192, 243f., 254 Magnetplatte(nspeicher) 7, 17, 187, 189 Maschineninstruktion 1, 19,39, 60f., 187, 236 Maschinensprache 1 Maschinenteil 27f. Maskenzeichen 9ff., 70ff., 234, 236ff. Mehrfachverzweigung 180 mehrstufige Tabelle 146ff. Merkname 68, 239ff., 242 Meta-5prache 41 Modul-Schema 250 MOVE-Anweisung 25,35, 44ff., 69,110, 164ff., 256 Multivolume-Datei 244 Multiplikation 100 MULTIPLY-Anweisung 100,257 NEGATIVE 85 Nein-Zweig 23, 82f., 90, 254 NEXT SENTENCE 82f., 91, 138f., 144, 256,258 nicht-elementares Datenfeld 8,13,49,56 NOT 87f. NOTE-Anweisung 242,259 NOTE-Paragraph 243 Null 11,23,26,51,70, 85f., 103,222, 251 f. Nullenunterdrückung 71 ff. NUMERIC 86 Numerierung 36 numerisch 9, llf., 46ff., 86,104, 108ff. numerisch-druckaufbereitet 70ff., 108,234, 236f. numerisches Literal 50, 52, 85, 104,238 OBJECT-COMPUTER 27f., 68, 223, 245, 255 Objektprogramm 1,3, 19f., 39, 68, 125, 222f., 246 OCCURS-DEPENDING-ON-Klausel 131, 137,139,142,146,191,260 OCCURS-Klausel 115,122,142,146, 164f., 191,235,260 OF 161,168 OMITTED 17f. OPEN-Anweisung 25, 59f., 193,201 f., 206f., 209f., 243f., 258 Operator 84ff., 103ff. Operator-Konsole 75,239ff. Optionalklammer 42 OR 87 Ordnungshierarchie 143,227 ORGANIZATION-Klausel 191 ff., 200, 204f. OUTPUT 59f., 193,206, 246f., 288f. OUTPUT PROCEDURE 226ff.,259 PAGE 67,258 Paragraph(enname) 26ff., 36, 81, 166ff., 234f., 245f., 255 Parameter 218f. PERFORM-Anweisung 25, 78ff., 169ff., 256 permanentes Segment 223 PICTURE-Klausel 9ff., 70ff., 110, 115, 191,260 Picture-Maskenzeichen 9ff., 70ff., 234, 236ff. Platten-Datei 17, 59f., 186, 192,244,254 Portabilität 2, 89, 110, 130,236 Positionierungszeichen 37 Positionsnummer 116, 147, 200 POSITIVE 85 Potenzierung 84, 104, 106 Prioritätsregel 88, 104 f. Problemanalyse 2f. problemorientierte Programmiersprache 1 f. PROCEDURE DIVISION 24ff., 167f., 218,222,246,255 PROGRAM-ID 27f., 217f., 235, 255 Programmausführung 37 ff. Programmformular 37 Programmierer-Wort 8f., 26, 249

- 288- Programmiersprache 1 Programmname 271.,2171.,235,255 Programmteil(name) 251.,36 Programmtest 37,2321f. Prozedur(name) 26,37, 781f., 166, 170ft. Prozeduraufrul-Strukturblock 221.,781., 170,254 Prozessor 191., 39 Prülzillern-Verlahren 102, 111 f. Pufter(-Bereich) 201., 59f., 661., 187ft. Punkt 5,111.,14,17,26,42,46,50 691., 72,83,90,238,243,251 f. Qualilizierer 147,16011. Qualilizierung 160ft., 168 Quellprogramm 19, 35ft., 68 244 QUOTE(S) 51 RANDOM(-Zugrift) 187, 200fl., 205, 209ff. READ-Anweisung 25,30,631.,1881.,1931., 201 f., 207, 2091., 213, 258 READY TRACE 232f., 259 rechtsbündig 54 Record 5,8, 13f., 21 f., 62, 1871f. RECORD-Klausel 188,190,260 REDEFINES-Klausel 121f., 164f., 191, 260 ßedefinition 121f. Relationsoperator 85 Relativadresse 125ff. relative Datei-Organisation 200ft. RELATIVE-Klausel 200f. RELEASE-Anweisung 228f., 259 REMAINDER-Klausell0lft.,257 RENAMES-Klausel 164,235,260 REPLACING-Klausel 214ft., 256 RESERVE-Klausel 28,189,191 reserviertes CO BO L-Wort 8, 27, 41, 2481. RESET TRACE 232f., 25~ resident 222 f. Ressourcen(-Karte) 31,38,40,93 RETURN-Anweisung 229,259 REWRfTE-Anweisung 193f., 202, 207f., 210,258 RIGHT 54,191,236,260 ROUNDED-Klausel 971f.. 107f. Rücksprung 219 Rückverzweigungspunkt 79ft., 1701. Rückverzweigungsroutine 791f., 170f. Rückwärtssprung 93 Rundung 46,97,103,107 Satz 26,37,41,2421. Satz-Schlüssel 204ff. Satzlänge 17, 187 f. Satzteil-Wiederholung 42 f. Schachtelung 90f., 95, 169ft. Scheck-Schutz-Stern 71 I. Schleifen-Strukturblock 221.,25, 921f., 172f., 175f., 254 Schlüssel-Wort 42 Schreiben 59, 190 SO 225,245 SEARCH-ALL-Anweisung 1441.,258 SEARCH-Anweisung 136ff., 258 SECTION 27, 166f., 245f., 255 SECURITY 235,255 Sedezimal-Darstellung 51,69,251 Sedezimalziffer 251 ft. Segment 222 ff. SEGMENT-LlMIT-Klausel 223 Segmentgrenze 223f_, Segmentierung 222ff., 230 Segmentnummer 2221f_, 245 Seiten-Vorschub 67f., 240 SELECT-Klausel 28f., 581.,191 ft. Semantik 41 Semikolon 42 SEQUENTIAL 192f., 205- sequentielle Datei-Organisation 192 ft. sequentielles Durchsuchen 134ft. SET-Anweisung 1271.,258 SI 29f., 59, 192 SIZE-ERROR-Klausel 106ft., 257 Software-Schalter 242 Sonderzeichen 8 SORT-Anweisung 226ff., 259 Sortier-Datei 225,228ft. Sortier-Schlüssel 224, 227 Sortieren 224 ft. Sortierfolge(-Ordnung) 88f., 141, 205, 207,213,224,251f. SOURCE-COMPUTER 27f., 68, 234, 245,255 SPACE(S) 51 Spalte(nbereich) 6f., 13 SPECIAL-NAMES 68,238,241 f., 245, 255 Speicherbereich 12, 29ft., 55, 64, 115, 120ft., 146, 190, 236 Sprung 92f., 180f. STANDARD 17f. Standard-Ablage 108 I. START-Anweisung 206ft., 212f. Steueranweisung 78ff., 169ft., 256f.

- 289- STOP-Anweisung 25, 93, 256 Strukturprogramm(-Methode) 2f., 22ff., 78ft., 169ft., 181, 254 Strukturblock 22ff., 254 strukturierende Vorgehensweise 3, 24, 35,217 Strukturiertes Programmieren 3f., 80, 93, 139, 173 Stufennummer 14,291., 32f., 361.,115, 121f., 147, 161ff., 191,219, 235f., 245,260 Subskript(-Methode) 116ff., 147ff. SUBTRACT-Anweisung 99f., 107, 164f., 257 Subtraktion 99 Suchen 1 32 ft. Such index 133,137ft., 144f. SYNC(RONIZED)-Klausel 56,236 Syntax(-Gerüst) 41ff., 256ft. System-Zwischendatei 38ft., 58 Tabelle(ndefinition) 115ff., 130f., 142f., 146ft. Tabellen-Durchsuchen 132ft., 136ft., 141ff. Tabellenbereich 115 Tabellenelement 115,146,162 Tabellenname 115 Tabellenverarbeitungs-Anweisung 258 Tageszeit 239 TALLY 215 TALLYING-Klausel 214f., 256 Terminal 2401. Test 37,232ft. THROUGH 33 THRU 33,81,172,191,227,235,256, 259f. TIME 239,256 TlMES-Klausel 173,256 TO 28,44,52,92,96,127,131,180, 1871., 243,256ff. Trennung(sregel) 36, 52 überlagerbares festes Segment 223 Überlauf 103,106ff. Überlochung 252 unabhängiges Overlay-Segment 223f. unärer Operator 106 unbedingte Anweisung 43,63, 107f. ungepackte Dezimal-Darstellung 108, 241, 252 Unterprogramm 217ft. Unterprogrammaufruf 218 f. Unterprogrammname 217 f. Unterprogrammtechnik 217 UNTI L-Klausel 173, 177, 256 Update-Datei 193f., 201, 207, 210 UPON-Klausel 241, 259 USAGE-INDEX-Klausel 130, 164, 178, 191,260 USAGE-Klausel 108ft., 191,215,260 USE-Satz 246f., 259 USING-Klausel (SORT) 227, 230f., 259 (Unterprogrammtechnik) 218f. 255. 257 VALUE-Klausel (Bedingungsname) 32f., 191,260 (Vorbesetzung) 55f., 110, 121 f., 220. 260 VARYING-Klausel (PERFORM) 175ft., 256 (SEARCH) 140f., 258 Verb 41 verbale Lösungsbeschreibung 21 Verbindungs-Wort 161 Vergleich 85, 89 Vergleichsbedingung 85, 88, 90 Vergleichsoperator 85, 88 Verzweigung(smechanismus) 79f., 180f. virtueller Dezimalpunkt 11 Vorschub(-Steuerung) 66ff., 76 Vorschub-Steuerzeichen 66ff. Vorwärtssprung 92 f. Vorzeichen 11 f., 46ff., 69ft., 215, 252f. Vorzeichen-Bedingung 85,88 Währungssymbol 237f. Wahl-Wort 42 WHEN-Klausel 138f., 144f., 258 Wiederholung(sbereich) 172,254 Wiederholungsfaktor 10 WORKING-STORAGE-SECTION 27, 29ft., 55, 122, 163, 218, 245, 255 Wort 8, 248f. Wortgrenze 236 WRITE-Anweisung 25,30,64, 66ft., 189. 193,201,206.210,258 Wurzel Ausdruck 106 Zeichen 6f.,10,13, 17,36,45,50, 214ff., 238, 251 f. Zeichenverarbeitung 214ft. Zeichenvorrat 251 f.

- 290- Zeile 6,17,36, 65f., 75f. Zeilenbreite 17 Zeilenvorschub 66ff. zeitlich überlappende Verarbeitung 189f. Zentraleinheit 20 ZERO(S) 51,85 Ziffer 6, 8, 11 f., 26, 46ft., 50, 251 ff. Ziffernteil 251 Zonenteil 251 Zugriffs-Methode 186f., 192f., 200, 204ft., 212 zusammengesetzte Bedingung 87f. Zwischenergebnis(feld) 97ft., 107 f.

Die unentbehrliche Entscheidungshilfe: Handbuch der Computeranwendung Auswahl und Einsatz der EDV im Klein- und Mittelbetrieb Dieses Handbuch wurde speziell für die praktischen EDV-Probleme in Klein- und Mittelbetrieben entwickelt. Es wendet sich an die Führungskräfte in diesen Betrieben. Für seine optimale Benutzung in der Praxis wurde das ALK-Konzept verwendet. Das heißt, das Handbuch kann als Arbeitsbuch für Praktiker, - Lernprogramm zum Selbststudium und - Kompendium zum Nachschlagen verwendet werden. Damit eignet sich das Handbuch sowohl für den Praktiker der noch keinerlei Erfahrung mit EDV besitzt, als auch für den EDV -Anwender, der Organisation und Effektivität seiner EDV noch verbessern möchte. Dem Handbuch ist eine Einführung vorangestellt für den, der noch keinerlei Vorkenntnisse über Datenverarbeitung besitzt. Der Textteil des Handbuches ist in übersichtliche, 1 bis 2 Seiten lange Abschnitte gegliedert, zu denen es im Aufgabenteil verschiedene Aufgaben mit Lösungen gibt. Die Aufgaben dienen zum einen der unmittelbaren Wissenskontrolle - wenn das Handbuch als Lernprogramm verwendet wird - zum anderen der Anwendung des Wissens auf praktische Probleme. Von Erwin Grochla, Hans Gürth, Helmut Lehmann, Manfred Puhlmann, Michael Reicherts, Ernst Tiemeyer und Helmut Weber. 2. Auflage 1979, XXII, 690 S. u. 504 S. Aufgabenanhang. 21 X 29,7 cm, im Arbeitsordner.