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

Größe: px
Ab Seite anzeigen:

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

Transkript

1 345 Anhang A.1 Bausteine des COBOL-Sprachumfangs Der Leistungsumfang der Kompilierer, die von den Herstellern angeboten werden, kann mit Hilfe des vom ANSI festgelegten Modul-Schemas (Baustein-Einteilung) exakt beschrieben werden. In COBOL-85 ist der Leistungsumfang gegliedert in die Stufen MINIMUM, INTERMEDIATE und HIGH, wobei jede dieser Stufen wie folgt charakterisiert ist: 1 PHichtmodule MINIMUM INTERMEDIATE HIGH Nucleus NUCl NUCl NUC2 Sequential 1-0 SEQl SEQl SEQ2 (Sequentielle Organisation) Relative 1-0 Null RELl REL2 (Relative Organisation) Indexed 1-0 Null INXl INX2 (Index-sequentielle Organisation) Sort-Merge Null SRTl SRTl (COBOL-Internsort und Mischen) Interprogram Communication IPCl IPCl IPC2 (U nterprogramme) Source Text Manipulation Null STMl STM2 Ais zusatzliche Module sind die folgenden Wahlmodule moglich: Wahlmodule Report Writer Communication (Datenferniibertragung) Debug (Programmtesthilfen) Segmentation mogliche Stufen RPWl COMl und COM2 DEBl und DEB2 SEGl und SEG2 1 Eine umfassende Beschreibung der einzelnen Leistungsstufen iibersteigt den Ralunen dieser Einfiihrungsschrift. Eine detailierte Darstellung ist einem Handbuch fiir den Standard ANSI-85 zu entnehmen, siehe z.b.: DIN Progranuniersprache COBOL, August 1986, Beuth Verlag Gmbh, Berlin

2 346 Anhang A.2 Reservierte COBOL-Worter Liste der resenjierten COBOL- Worter des Standards ANSI-74 ACCEPT COMMUlICATIOI DIVIDE 1-0 MERGE ACCESS COMP DIVISIOI I-O-COITROL MESSAGE ADD COMPUTATIOIAL DOVI IDEITIFICATIOI MODE ADVAXCIIG COMPUTE DUPLICATES IF MODULES AFTER COIFIGURATIOI DYIAMIC II MOVE ALL COITAl IS EGI IIDEX MULTIPLE ALPHABETIC COITROL IIDEXED MULTIPLY ALSO COITROLS EMI IIDICATE IATIVE ALTER COpy EIABLE I1ITIAL IEGATIVE ALTERIATE CORR EID IIITIATE IEXT AID CORRESPOIDIIG EID-OF-PAGE I1PUT 10 ARE COUIT EITER IIPUT-OUTPUT lot AREA CURRElCY ElVlROIMEIT IISPECT lumber AREAS DATA EOP I1STALLATIOI IUMERIC ASCEIDIIG DATE EQUAL lito OBJECT-COMPUTER ASSIGI DATE-COMPILED ERROR IIVALID OCCURS AT DATE-VRITTEI ESI IS OF AUTHOR DAY EVERY JUST OFF BEFORE DE EXCEPTIOI JUSTIFIED OIIITTED BUlK DEBUG-COITEITS EXIT KEY 01 BLOCK DEBUG-ITEM EXTEID LABEL OPEl BOTTOM DEBUG-LIIE FD LAST OPTIOIAL BY DEBUG-lAME FILE LEADIIG OR CALL DEBUG-SUB-l FILE-COITROL LEFT ORGAXIZATIOI CAICEL DEBUG-SUB-2 FILLER LEiGTH OUTPUT CD DEBUG-SUB-3 FIIAL LESS OVERFLOV CF DEBUGGIIG FIRST LIMIT PAGE CH DEClMAL-POIlT FOOTIIG LIMITS PAGE-COUlTER CHARACTER DECLAR! TIVES FOR LIIlAGE PERFORM CHARACTERS DELETE FROM LIIAGE-COUITER PF CLOCK-UIITS DELIMITED GEIERATE LIIE PH CLOSE DELIMITER GIVIIG LIIE-COUITER PIC COBOL DEPEIDIIG GO LIlES PICTURE CODE DESCElDIIG GREATER LIIKAGE PLUS CODE-SET DESTIIATIOI GROUP LOCK POliTER COLLATING DETAIL HEADIIG LOV-VALUE POSITIOI COLOMI DISABLE HIGH-VALUE LOV-VALUES POSITIVE COMMA DISPLAY HIGH-VALUES MEMORY PRIITIIG

3 A.2 Reservierte COBOL-Worter 347 PROCEDURE REPLACIIG SEGMEIT-LIMIT STRIIG TOP PROCEDURES REPORT SELECT SUB-QUEUE-l TRAILIIG PROCEED REPORTIIG SEID SUB-QUEUE-2 TYPE PROGRAM REPORTS SEITEICE SUB-QUEUE-3 UIlT PROGRAM-ID RERUI SEPARATE SUBTRACT UISTRIIG QUEUE RESERVE SEQUEICE SUM UITIL QUOTE RESET SEQUEITIAL SUPPRESS UP QUOTES RETURI SET SYMBOLIC UPOI RANDOM REVERSED SIGN SYNC USAGE RD REWIID SIZE SYNCHRONIZED USE READ REWRITE SORT TABLE USIIG RECEIVE RF SORT-MERGE TALLYING 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 SD STANDARD THROUGH WORKING-STORAGE RELEASE SEARCH STANDARD-l THRU WRITE REMAINDER SECTION START TIME ZERO REMOVAL SECURITY STATUS TIMES ZEROES RENAMES SEGMEIT STOP TO ZEROS Diese Liste der in COBOL-74 reservierten Worter ist fur COBOL-85 durch die folgenden reservierten COBOL-Worter zu ergiinzen: ALPHABET ALPHABETIC-LOWER END-ADD END-CALL END-SEARCH END-START ORDER OTHER ALPHABETIC-UPPER END-COMPUTE END-STRING PACKED-DECIMAL ALPHANUMERIC END-DELETE END-SUBTRACT PADDING ALPHANUMERIC-EDITED END-DIVIDE END-UNSTRING PURGE ANY END-EVALUATE END-WRITE REFERENCE BINARY END-IF EVALUATE RELOAD CLASS END-MULTIPLY EXTERNAL REPLACE COMMON END-PERFORM FALSE STANDARD-2 CONTENT END-READ GLOBAL TEST CONTINUE END-RECEIVE INITIALIZE THEN CONVERTING END-RETURN NUMERIC-EDITED TRUE DAY-OF-WEEK END-REWRITE In Abhiingigkeit vomjeweils verwendeten Kompilierer sind eventuell weitere Worter als reservierte COBOL-Worter zu beriicksichtigen. So miissen z.b. fur den Kompilierer VS COBOL II (Release 1) der Firma IBM die folgenden Worter als zusiitzliche reservierte COBOL-Worter beachtet werden:

4 348 Anhang ADDRESS BEGIIIIIG COMP-3 COMP-4 COMPUTATIOIAL EGCS EJECT DOIIG ElTRY GOBACK lull lulls PASSWORD RECORDIIG COMPUTATIOIAL-3 ID COMPUTATIOIAL-4 MORE-LABELS SKIPl DISPLAY-l SKIP2 SKIP3 SORT-COITROL SORT-RETURI RETURI-CODE SUPPRESS SERVICE TITLE WHEI-COMPILED Wird ein reserviertes COBOL-Wort irrtiimlich als Programmierer-Wort benutzt, so fuhrt dies zu einer entsprechenden Fehlermeldung des Kompilierers. Daher soute keines der in den oben angegebenen Listen aufgefuhrten Worter als Programmierer Wort verwendet werden. Urn ganz sicher zu gehen, soute man sich vor dem Entwurf eines COBOL-Programms iiber die reservierten Worter informieren, die yom jeweiligen HersteUer zusatzlich vereinbart sind. A.3 Strukturblocke eines Struktogramms Zur Beschreibung unserer Algorithmen benutzen wir die folgenden Strukturblocke: einfacher Strukturblock: BREAK-Strukturblock: Prozeduraufruf-Strukturblock: Angabe einer einfachen Aktion wie z.b. Lesen, Schreiben oder Zuweisen Bedingungs-Strukturblock: BREAK Case-Strukturblock: I Prozedurbereichl Schleifen-Strukturblock: (evtl. Spezifizierung) Wiederholungsbereich AA Intern-Kodes und Sortierfolge-Ordnung Der Intern-Kode EBCDIC Die Speicherablage im Intern-Kode EBCDIC (extended binary coded decimal interchange), der bei der iiberwiegenden Zahl der GroBrechenanlagen verwendet wird, geben wir exemplarisch fur die Zeichen des COBOL-Zeichenvorrats (character set) an, aus denen jedes COBOL-Programm aufgebaut ist. 2 2Die Zeichen &,!, %, 7, :, #, J, und ' za.hj.en nicht zum COBOL-Zeichenvorrat. Diese Zeichen diirlen jedoch - genauso wie alle weiteren irn Intern-Kode darstellbaren Zeichen - innerhalb von alphanumerischen Literalen angegeben werden. Wiihrend in COBOL-74 die Kleinbuchstaben nicht verwendet werden diirlen, ist ihr Einsatz in COBOL-85 erlaubt.

5 A.4 Intern-Kodes und SortierEolge-Ordnung 349 Sedezima 1 ziffer Bitmus Ziffernteil ( rechtes Ha1bbyte) I~ ter~ - ~ A 1010 B loll C 1100 D 1101 E 1110 F Zonenteil (1 inkes Ha1bbyte) u < ( & - /! : ~, *" 'It ) ; > =? " I 8 9 A B C D E F loll a j A J 1 b k 5 B K S 2 c 1 t C L T 3 d m u D M U 4 e n v E N V 5 f 0 w F 0 W 6 9 P x G P X 7 h q y H Q y 8 i r z I R Z 9 Jede Sedezimalziffer beschreibt abkiirzend das neben ihr angegebene Bitmuster. Z.B. hat der Buchstabe N die Sedezimalziffer Dais Zonenteil und die Sedezimalziffer 5 als Ziffernteil und damit die Sedezimaldarstellung D516. Sortierfolge-Ordnung Die Sortierfolge-Ordnung der Zeichen des Intern-Kodes wird durch die numerischen Werte festgelegt, die durch die jeweiligen Sedezimal-Darstellungen der einzelnen Zeichen impliziert wird. Z.B. gilt fur die Ziffer 4 und den Buchstaben A (im Kode EBCDIC): Ziffer 4: F416 == == 1 * * * * * * * * 2 Buchstabe A : C1 16 == == 1 * * * * * * * * 2 Damit ergibt sich der numerische Wert des Buchstabens A zu 193 und der Ziffer 4 zu 244. Wegen der Relation "244 > 193" ist folglich die Ziffer 4 in der Sortierfolge Ordnung grober als der Buchstabe A. 1m folgenden Schema geben wir die unterschiedlichen Sortierfolge-Ordnungen eines erweiterten COBOL-Zeichenvorrats fur die Kodes EBCDIC (z.b. auf GroBrechenanlagen der Firmen SIEMENS und IBM) und ASCII - Abkiirzung fur "American National Standard X Code for Information Interchange" - (vornehmlich

6 350 Anhang auf Mikrocomputern), wobei die einzelnen Zeichenin aufsteigender Sortierfolge Ordnung aufgefiihrt sind:. u < ( + & ~ -/,%>7 " a b z A B Z u / <=>7t'AB... Zab z Die Sortierfolge-Ordnung gemab ASCII-Kode wird im COBOL-Programm durch einen Eintrag innerhalb des Paragraphen SPECIAL-NAMES iiber das Schliisselwort STANDARD-l vereinbart. Mit dem Schliisselwort STANDARD-2 kann die Sortierfolge-Ordnung in COBOL-85 gemiib dem ISO-Kode - "Iso 7-bit Coded Character Set for Information Processing Interchange" (entspricht "International Standard 646 Code for Information Processing Interchange") - verabredet werden. In diesem Fall gilt die oben angegebene ASCII-Sortierfolge bis auf die Abweichung, dab das Zeichen Lattenkreuz "#" durch das Symbol "L" fiir das englische Pfund zu ersetzen ist. A.5 Ablageformate ffir numerische Datenfelder Die ungepackte Dezimal-Darstellung Jede Ziffer wird in ihrer Intern-Kode-Darstellung - fiir das folgende legen wir den Kode EBCDIC zugrunde - in einem Byte abgespeichert. Z.B. ergibt sich fur die Ablage der ZahI 50: Byte 2. Byte, " I F 1 5 IF; 0 I (PICTURE 99 USAGE DISPLAY)... linkes Halbbyte rechtes Halbbyte 1st ein Datenfeld mit dem Picture-Maskenzeichen S - ohne die Angabe einer SEPARATE-Klausel - vereinbart, so wird das Vorzeichen immer zusammen mit der ersten oder letzten Ziffer in einem Byte abgelegt. Dabei nimmt der Ziffernteil das rechte Halbbyte ein. 1m linken Halbbyte wird die Sedezimalziffer C fur ein positives und die Sedezimalziffer D fur ein negatives Vorzeichen eingetragen.3 Z.B. ergibt sich bei der Ablage der Zahl -135: Z.B. ergibt sich bei der Ablage der Zahl -135: (PICTURE S999 USAGE DISPLAY) Generell ist die Anzahl der benotigten Bytes gleich der Anzahl der Ziffern und damit gleich der Anzahl der Maskenzeichen 9 in der jeweiligen Picture-Maske. 3Die Sedezirnalziffer F wird ebenfalls als positiv interpretiert.

7 A.5 Ablageformate fur numerische Datenfelder 351 Die gepackte Dezimal-Darstellung Jede Ziffer wird in einem Halbbyte abgespeichert, indem die redundante Sedezimalziffer F, die 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 zusatzlich das linke Halbbyte des ersten Bytes mit der Sedezimalziffer 0 aufgefiillt. Z.B. vollzieht sich bei der Ablage der Zahl-135 der Ubergang von der ungepackten zur gepackten Dezimal-Darstellung folgendermaben: (PICTURE S999 (PICTURE S999 USAGE DISPLAY) USAGE COMPUTATIONAL-3) Z.B. wird die Zahl 50 in der gepackten Darstellung folgendermaben abgespeichert: lo! 51 0 i FI (PICTURE 99 USAGE COMPUTATIONAL-3) Fur den benotigten Speicherbereich gilt generell: Bezeichnen wir mit "n" die Anzahl der abzuspeichernden Ziffern, so ergibt sich fiir die Anzahl der zur Ablage benotigten 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 verschliisselt ist,4 ergibt sich bei einer Wortstruktur von 32 Bits als grofite darstellbare Zahl der Wert: = fiir ein Halbwort5 und = "" 2.15 * 10 9 fiir ein Ganzwort. So wird z.b. die Zahl +135 mit der Dual-Darstellung 1 * * * * * * * * 2 folgendermaben abgespeichert: im Halbwort: 10; Vorzei chen-bi t im Ganzwort: 10: Wegen der Ablage eines Vorzeichens mub die Picture-Maske des betreffenden Datenfeldes mit dem Maskenzeichen S eingeleitet werden. 5Bei der Ablage in einem Halbwort diirfen dem Maskenzeichen S folglich maximal vier Maskenzeichen 9 folgen.

8 352 Anhang A.6 Geratebezeichnungen 1m folgenden Schema stellen wir fiir die GroBrechenanlagen der Firmen IBM, SIEMENS und HONEYWELL einige Geratebezeichnungen zusammen, die in ASSIGN-Klauseln innerhalb des Paragraphens FILE-CONTROL angegeben werden mussen, falls auf diesen DVAn Druck-, Platten- oder Magnetband-Dateien zu bearbeiten sind: 6 Name der OVA: Platten-Oatei: Magnetband-Datei: IBM (OS/VS) [kollluentar:j { AS-name} name [kommentar-j name IBM (OS) und S SIEMENS OA-OISC-{RJ-name UT-TAPE-S-name I HONEYWELL (MULTICS) name-virtual name-tape HONEYWELL (GCOS) externer dateiname 6Diese Angaben sind nur ais Hinweise fiir die Struktur der jeweiligen Geritebezeichnungen zu verstehen. Da eine Geratebezeichnung im allgemeinen von dem jeweiligen Betriebssystem und dem eingesetzten COBOL-Kompilierer abhlingt, mub sich der Anwender im Hersteller-Manual bzw. beim zustlindigen Systemberater infonnieren. Dies ist schon deswegen erforderlich, weil fiir die durch die Waner ''name" bzw. "sn" gekennzeichneten Stellen bestimmte Verbindungen zu besonderen Kommandos, die vor der Programmausfiihrung angegeben werden mussen, herzustellen sind.

9 A.7 Struktur eines COBOL-Programms 353 A.7 Struktur eines COBOL-Programms IDENTIFICATION DIVISION. PROGRAM-ID. progran~name. [AUTHOR. kommentar-lj [INSTALLATION. kommentar-2] [DATE-WRITTEN. kommentar-3~ [DATE-COMPILED. kommentar-4j [SECURITY. kommentar-5] J ENVIRONMENT DIVISION. lconfiguration SECTION. SOURCE-COMPUTER. dva-name-l. OBJECT-COMPUTER. dva-name-2. [SPECIAL-NAMES. zuordnung-von-funktionsnamen-zu-merknamen] ~ INPUT-OUTPUT SECTION. ] [FILE-CONTROL. datei-gerate-zuordnungen] [I-O-CONTROL. festlegung-der-ein-/ausgabe-kontrollej DATA DIVISION. FILE SECTION. [datei-beschreibungenj ~ J [sortier-datei-beschreibungen~ ~ WORKING-STORAGE j SECTION. [datenfeld-beschreibungen-mit-stufennummer-77j [datenfeld-beschreibungen-mit-stufennummer-ol] ~ LINKAGE SECTION. ~ [datenfeld-beschreibungen-mit-stufennummer-77j [datenfeld-beschreibungen-mit-stufennummer-ol] PROCEDURE DIVISION [USING J namen-der-formalen-paramete~. [ DECLARATIVES. ein-oder-mehrere-kapitel. END DECLARATIVES. [kapitelname SECTION [segmentnummerj] paragraphenname. satz [satzj... [paragraphenname. satz [satz].. J... ~ kapitelname SECTION [segmentnummerj] paragraphenname. satz [satzj... [paragraphenname. satz [satzj.. J... '"

10 354 Anhang Syntax der Sprachelemente: 1m folgenden geben wir die Syntax-GerUste der COBOL-Anweisungen an. die in dieser Einrtihrungsschrift beschrieben wurden. Die allein fur COBOL-BS gultigen Angaben kennzeichnen wir durch eine Umrahmung. - Syntax der CONFIGURATION SECTION: CONFIGURATION SECTION. SOURCE-COMPUTE--R dva-name-l [WITH DEBUGGING MODE] OBJECT-COMPUTER. dva-name-2 [PROGRAM COLLATING SEQUENCE IS alphabetname]. SPECIAL-NAMES. [alphabetname IS {ST::~~~-l}] [funktionsname-l IS merkname-l [funktionsname-2 ~ merknane-2] ] [CURRENCY SIGN ~ alphanumerisches-literal] [DECIMAL-POINT IS COMMA] - Syntax des Paragraphen FILE-CONTROL: - sequentielle Datei-Organisation: SELECT dateiname ASSIGN TO geratebezeichnung [ORGANIZATION IS SE UENTI ] [ACCESS MODE IS SEQUENTIAl [FILE STATUS IS bezeichner] [RESERVE ganzzahl {::~S}]. - relative Datei-Organisation: SELECT dateina.e ASSIGN TO geratebezeichnung ORGANIZATION IS RELATIVE ACCESS MODE IS { SEQUENTIAL RANDOM } DYNAMIC RELATIVE KEY IS relative-key-feld [FILE STATUS IS bezeichner] - index-sequentielle Datei-Organisation: SELECT dateiname ASSIGN TO geratebezeichnung ORGANIZATION IS INDEXED ACCESS MODE IS { SEQUENTIAL RANDOM } DYNAMIC RECORD KEY IS bezeichner-l [~NATE RECORD KEY IS bezeichner-2 [WITH DUPLICATES]] [FILE STATUS IS bezeichner-3)

11 A.7 Struktur eines COBOL-Programms Syntax der Datei-Beschreibung: FD dateiname - [BLOCK CONTAINS [ganzzahl-l IQ] ganzzahl-2 {C:~~~~RS}] [RECORD CONTAINS [ganzzahl-3 TO] ganzzahl-4 CHARACTERS] [~IS A YI G IN SIZE FR M ganzzahl-s TO ganzzahl-6 CHARACTERS DEPENDING ON bezeichner LABEL RECORD IS {STANDARD} OMITTED [DATA RECORD IS datensatzname-l [datensatzname-2]... ]. 01 datensatzname-l I Datensatz-Beschreibung von "datensatzname-l" [01 datensatzname-2 I Datensatz-Beschreibung von Idatensatzname-2"] - Syntax der Datenfeld-Beschreibung: Fonnat-l: s tufennuniller { bezeichner-l} FILLER [ REDEFINES bezei chner-2 ] [{PI~IgRE} IS picture-maske] [ SIGN IS{~ } [SEPARATE CHARACTER]] [ USAG' IS Tl:;;itr~~, 1 J BINARY PACK[jj:"jj[CIMAL [ USAGE IS INDEX ] [ OCCURS {ganzzahl-l IQ ganzzahl-2 TIMES DEPENDING ON bezeichner-3} -- ganzzahl-3 TIMES [ {~~~~~~~~~G} KEY IS bezeichner-4 [bezeichner-s]... ]... [ INDEXED BY i ndex-name-l [i ndex-name-2]... ]] WU~IED} RIGHT] [ BLANK WHEN ZERO ] [ VALUE IS literal] Fonnat-2: BB bedingungsname VALUE IS literal-l [THRU literal-2] [ 1 itera 1-3 [THRU 1 itera Fonnat-3: 66 bezeichner-l RENAMES bezeichner-2 [THRU bezeichner-3]

12 356 Anhang - Datentransport-Anweisungen: MOVE {bez~ichner-l} TO bezeichner-z [bezeichner-3].. -- hteral - MOVE CORRESPONDING bezeichner-l I TO bezeichner-z INITIALIZE bezeichner-l [bezeichner-z].,. """,NUlERlC-EDITED REPLACING NUMERIC-EDITED DATA BY {be~eichner-3} ALPHANUMERIC - llteral-l NUMERIC I'LPHANUMERIC-EOITED [ NUMERIC-EDITED DATA BY {be~eichner-4}] ALPHANUMERIC - llteral-z... I NUMERIC ACCEPT bezeichner FROM! I I DAY-OF-WEEK I -1 INSPECT bezeichner-l REPLACING CHARACTERS BY {b~~~!~~~:~-z}[markierung-i]... ) { LE~~~NG}{beZeiChner-3} BY {bezei Chner-4}.[ k Z ] FIRST literal-z - literal-3 mar lerung-... -[ {E~LDLI }{bezeichner-s} {bezeichner-6}[. ]] LFIRS~G literal-4 BY literal-s marklerung wobei "markierung" von der folgenden FOnll ist: {BEFORE} INITIAL {bezeichner} AFTER literal -=l INSPECT bezeichner-l TALLYING bezeichner-z CHARACTERS [markierung-l]... ALL bezeichner-3. FOR {LEADING}{ literal-l }[marklerung-z]... [{ ALL }{bezeichner-4}[. ]] LEADING literal-z marklerung-3..,... 1 INSPECT bezeichner-l --- CONVERTING {be~eichner-z} TO {be~eichner-3} llteral-l -- llteral-z [( DEFORE} INITIAL {be~eichner-4}j... AFTER hteral-3 - Steueranweisungen: IF bedi ngung ITHEN I {anwei sung-l [anwei sung-z]...} - NEXT SENTENCE ~=--='="" anweisung-3 [anweisung-4]... I[END-IF]I) { NEXT SENTENCE I [END- IF] I ~ TO prozedurname GO IQ prozedurname-l [prozedurname-z]... DEPENDING ON bezeichner STOP RUN

13 A.7 Struktur eines COBOL-Programms 357 bezeichner-l} {bezeichner-2} EVALUATE { TRUE [ALSO TRUE ]... FALSE FALSE { 1 iteral-l} {--rrteral-2} WHEN [NOT] bedingung-l [ALSO [NOT] bedingung-2 ]... ANY ANY unb-anw-l [unb-anw-2]... { literal-3} { literal-4} [WHEN [NOT] bedingung-3 [ALSO [NOT]bedingung-4 J... ANY ANY - unb-anw-3 [unb-anw-4]... ]... [WHEN OTHER unb-anw-5 [unb-anw-6]...] [END-EVALUATE ] PERFORM rozedurname-l [II:lill! prozedurname-2] [WITH ~ ~ ] VARYING bezeichner-l FROM {bezeichner-2} BY {bezeichner-3} UNTIL bedingung~l ganzzahl-l - ganzzahl-2 [8 I1R bezeichner-4 EBQM {b~!~!~~~r~;5} ~ {b~!~!~~~r~46} MNIl1 bedingung-2]... PERFORM [WITH TEST {BEFORE}] -- - AFTER VARYING bezeichner-l FROM {bezeich h ne 1 r- 1 2} BY {bezeich h ne 1 r 2-3} UNTIL bedingung-l ganzza - - ganzza - -- [AFTER bezeichner-4 FROM {b~!~!~~~r~;5} BY {b~!~!~~~r~46 UNTIL bedingung-2]... unb-anw-l [unb-anw-2]... END-PERFORM PERFORM prozedurname-l [THRU prozedurname-2] [{{ b~!~!~~~rr} TIMES}] UNTIL bedi ngung ~ ~-=~ PERFORM [{bezeichner} TIMES] ganzzah 1 -- unb-anw-l [unb-anw-2] '" END-PERFORM PERFORM [WITH TEST {~~~~~E}] UNTIL bedingung unb-anw-l [unb-anw-2]... END-PERFORM CALL {"unterpr?grall1ll-namel} -- bezelchner-l [ USING{ [BY REFERENCE] bezeichner-2 [bezeichner-3]...}] -- BY ~ bezeichner-4 [bezeichner-5].. [ON EXCEPTION unb-anw-l [unb-anw-2]..] [tn[ ON EXCEPTION unb-anw-3 [unb-anw-4]... J [END-CALL] EX IT [ PROGRAM ] ALTER prozedurname-l TO [PROCEED TO] prozedurname-2 [prozedurname-319 [PROCEED TO] prozedurname-4]

14 358 Anhang - Arithmetische Anweisungen: {bezeichner-l } [{bezeichner-2 }]. ADD num-1itera1-1 num-1iteral-2 TO bezelchner-3 [~] [bezeichner-4 [~]] [ON S!ZI ~ unb-anw-l [unb-anw-2]. ] I [~ ON S!li ~ unb-anw-3 [unb-anw-4]... ] [END-ADD] I { bezeichner-l }{bezeichner-2 }U{beZeiChner-3 }] ADD num-1itera1-1 num-1iteral-2 Unum-1iteral-3 GIVING bezeichner-4 [ROUNDED] [GIVING bezeichner-5 [ROUNDED]]. [ON SIZE ERROR unb-anw-l [unb-anw-2].. ] I NOT ON SIZE ERROR unb-anw-3 [unb-anw-4] [END-ADD] I ADD CORRESPONDING bezeichner-l TO bezeichner-2 [ROUNDED] [ON SIZE ERROR unb-anw-l [unb-anw-2]. ] H!m ON ~ ~ unb-anw-3 [unb-anw-4]...] [~] {bezeichner-l }r/bezeichner-2 }]. [ ] SUBTRACT num-1itera1-1 rrnum-1iteral-2.. FROM bezelchner-3 ROUNDED [bezeichner-4 [~]]. [ON ~ ~ unb-anw-l [unb-anw-2]...] I [NOT ON SIZE ERROR unb-anw-3 [unb-anw-4]...] [END-SUBTRACT] I SUBTRACT {bezei~hner-l }rjbezei~hner-2 }] FROM {bezei~hner-3 } num-htera1-1 Rnum-hteral num-11teral-3 GIVING bezeichner-4 [ROUNDED] [GIVING bezeichner-5 [ROUNDED]]. [ON SIZE ERROR unb-anw-l [unb-anw-2].. J I [NOT ON SIZE ERROR unb-anw-3 [unb-anw-4j... J [END-SUBTRACT) I SUBTRACT CORRESPONDING bezeichner-l FROM bezeichner-2 [ROUNDED] [ON SIZE ERROR unb-anw-l [unb-anw-2j... J I [tilt ON SIZE ERROR unb-anw-3 [unb-anw-4]... ] [ENf)-SUDTRACT] I MULTIPLY {bezei~hner-l} BY bezeichner-2 [ROUNDED] nuiii-11tera [ON SIZE ERROR unb-anw-l [unb-anw-2] ] I [NOT ON SIZE ERROR unb-anw-3 [unb-anw-4].] [END-HUL TIPL Y ]1 MULTIPLY {bezei~hner-l } BY {bezei~hner-2 } num-11tera num-11teral-2 GIVING bezeichner-3 [ROUNDED][GIVING bezeichner-4 [ROUNDED]].. [ON SIZE ERROR unb-anw-l [unb-anw-2]...] I [NOT ON SIZE ERROR unb-anw-3 [unb-anw-4]... ] [END-HUL TIPL Y] I DIVIDE {bezei~hner-l} INTO bezeichner-2 [ROUNDED] -- num-11tera [ON SIZE ERROR unb-anw-l [unb-anw-2].. J I [NOT ON SIZE ERROR unb-anw-3 [unb-anw-4]... J [END-DIVIDE] DIVIDE {bezeichner-l }{INTO}{beZei~hner-2 } GIVING bezeichner-3 [ROUNDED] -- num-1 i tera 1-1 BY num-11 tera [REMAINDER bezeichner-4][on SIZE ERROR unb-anw-l [unb-anw-2]...] I [NOT ON SIZE ERROR unb-anw-3 [unb-anw-4j... ] [END-DIVIDE] 1 COMPUTE bezeichner-l [ROUNDED][bezeichner-2 [ROUNDED]].. = arithmetischer-ausdruck [ON ~ ~ unb-anw-l [unb-anw-2]. ] I [NOT ON SIZE ERROR unb-anw-3 [unb-anw-4].. ] [END-COMPUTE]I

15 A.7 Struktur eines COBOL-Programms Tabellenverarbeitungsanweisungen: SET {~ezeichner-l}[{~ezeichner-2}]... TO bezei index-name-3 chner-3} - lndex-name-l lndex-name-2 ganzzahl I SET index-name-l [index-name-2]... { MP } BY {bezeichner} - DOWN - ganzzahl SEARCH bezeichner-l [VARYING {b~zeichner-2}] ndex-name [AT END unb-anw-l [unb-anw-2].. ] WHENibedingUng-l {unb-anw-3 [unb-anw-4]... } - NEXT SENTENCE [!'l!illi bedi ngung-2 {unb-~~~;:5 S~~~~N~~W-6 ]...}]... I [END-SEARCH] I - SEARCH ALL bezeichner -- -[AT END unb-anw-l [unb-anw-2]...]. {unb-anw-3 [unb-anw-4]...} -=W==H==EN=-,bedl ngung r- I [END-SEARCH] I - NEXT SENTENCE - Ein-/Ausgabe-Anweisungen: INPUT dateiname-l [dateinal11e-2] "'j OPEN OUTPUT datei name-3 [datei name-4j dateiname-5 [dateiname-6] '" EXTEND dateinal11e-7 [dateiname-sj... CLOSE datei nal11e-l [datei name-2]... READ dateiname RECORD [ INTO bezeichner] [AT END unb-anw-l [unb-anw-2]...] [NOT AT END unb-anw-3 [unb-anw-4]...] [END-READ] READ dateiname NEXT RECORD [INTO bezeichner] [AT END unb-anw-l [unb-anw-2]...] [NOT AT END unb-anw-3 [unb-anw-4]... J [END-READ] READ dateiname RECORD [INTO bezeichner J [INVALID KEY unb-anw-l [unb-anw-2]... J [NOT INVALID KEY unb-anw-3 [unb-anw-4 ]... J [END-READ J READ dateiname RECORD [INTO bezeichner-lj KEY IS bezeichner-2- [INVALID KEY unb-anw-l [unb-anw-2j... J [NOT INVALID KEY unb-anw-3 [unb-anw-4j... J [END-READ J

16 360 Anhang WRITE datensatzname [from bezeichner-l] [{~rr~:e} ADVANCING {{be~:~~~~~12} m~:~s}]} ] -- PAGE [AT {END-Of-PAGE} unb-anw-l [unb-anw-2] J [NOT AT unb-anw-3 [unb-anw-4] J [END-WRITE] WRITE datensatzname [from bezeichner] [INVALID KEY unb-anw-l [unb-anw-2] ] um: INVALID KEY unb-anw-3 [unb-anw-4] ] [END-WRITE] DELETE datei name RECORD [lli A!.!.Q KEY unb-anw-l [unb-anw-2 ] ] [NOT INVALID KEY unb-anw-3 [unb-anw-4] ] [ END-DELETE] REWRITE datensatzname [EBQM bezeichner] [lli A!.!.Q KEY unb-anw-l [unb-anw-2]. ] [NOT INVALID KEY unb-anw-3 [unb-anw-4].. ] [ END-REWRITE] EQUAL TO } START dateiname [KEY IS { GREATER THAN bezeichner J NOT LESS THAN [ I NVALI 0 KEY unb-anw:r [unb-anw-2] ] [NOT INVALID KEY unb-anw-3 [unb-anw-4]. ] [ END-START] DISPLAY {be~eichner-l} [{be~ei chner-2}]... [UPON Erknilllll!] --- hteral-1 hteral-2 - I WITH NO ADVANCING I ACCEPT bezeichner [from lllerkname ] - Anweisungen fur das Sortieren und Mischen SORT sortier-dateiname - ON {ASCENDING} KEY bezeichner-l [bezeichner-2] DESCENDING [ON {~~~~~} KEY bezeichner-3 [bezeichner-4] J... I [WITH DUPLICATES IN ORDER) I [COLLATING SEQUENCE IS alphabetname] { INPUT PROCEDURE IS prozedurname-l [THRU prozedurname-2]} USING dateiname-l [dateiname-2j:" { OUTPUT PROCEDURE IS prozedurname-3 [THRU prozedurname-4]} GIVING dateiname-3

17 A.7 Struktur eines COBOL-Programms 361 RETURN sortier-dateiname RECORD [INTO bezeichner] [AT END unb-anw-l [unb-anw-~.. ] [NOT AT END unb-anw-3 [unb-anw-4] ] [ END-RETURN] RELEASE datensatzname [FROM bezeichner ] MERGE sortier-dateiname - {ASCENDING}..] ON DESCENDING KEY bezelchner-l [bezelchner-2 [ON {~~~~~~~~~G} KEY bezeichner-3 [bezeichner-4] J... [COLLATING SEQUENCE IS a1phabetname] USING dateiname-l dateiname-2 [dateiname-3] '" { OUTPUT PROCEDURE IS prozedurname-l [THRU prozedurname-2]} GIVING dateiname-4 - sonstige Anweisungen: { 1 i tera 1-1 }[{ 1 Hera 1-2 }] STRING bezeichner-l bezeichner i tera 1-3 } DELIMITED BY { bezeichner-3 SIZE [{ 1 Hera 1-4 }[{ 1 i tera 1-5 }] bezeichner-4 bezeichner-5 DELIMITED BY {b!!!~~~~;~-6} ] INTO bezeichner-7 SIZE... [WITH POINTER bezeichner-8] [ ON OVERFLOW unb-anw-l [unb-anw-2]. ] [ NOT ON OVERFLOW unb-anw-3 [unb-anw-4].. ] [ END-STRING] UNSTRING bezeichner-l { 1 Hera 1-1 } [ {1 i tera 1-2 }] DELIMITED BY bezeichner-2 OR bezeichner-3.. INTO bezeichner-4 [DELIMITER IN bezeichner-5] [COUNT IN bezeichner-6] [ bezeichner-7 -- J [DELIMITER IN bezeichner-8] [COUNT IN bezeichner-9]... [ WITH POINTER bezeichner-lo] [ TALLYING IN bezeichner-ll] [ ON OVERFLOW unb-anw-l [unb-anw-2]...] [ NOT ON OVERFLOW unb-anw-3 [unb-anw-4]. ] [ END-UNSTRING] CANCEL {"Unterprogramm-name-l l1 } [{"unterprogramm-name-2}] bezeichner-l bezeichner-2 I CONTINUE I

18 362 Anhang {:~~~} TRACE (nicht im COBOL-Standard enthalten) EXHIBIT {CHAN~E~AMED}{beZeichner:l }[{bezeichner:2 }] --- CHANGED alphanum-ht-l alphanum-llt-2 ", (nicht im COBOL-Standard enthalten) dateiname-l INPUT [dateiname-2] "'J USE AFTER STANDARD ERROR PROCEDURE ON / OUTPUT 1-0 EXTEND

19 363 Losungsteil 1m folgenden geben wir Losungen fur die gestellten Aufgaben an. Dabei konnen die angegebenen Programme immer nur Beispiele fur mogliche Losungen sein. Die Richtigkeit der vom Leser entwickelten Losungsalgorithmen liibt sich dadurch priifen, dab ein entsprechendes COBOL-Programm erstellt und auf einer DVA zur Ausfiihrung gebracht wird. Aufgabe 1 (S. 22) In den folgenden Fiillen handelt es sich um keine COBOL-Worter: b) wegen "/" c) wegen "_", i) wegen "u" und k) wegen "-" am Zeichenkettenende. Die unter g) und h) angegebenen COBOL-Worter diirfen nicht als Bezeichner verwendet werden, da sie keinen Buchstaben enthalten. Aufgabe 2 (S. 23) Als Beschreibung fiir den Datensatz ARTIKEL-SATZ ist z.b. zuliissig: 01 ARTIKEL-SATZ. 02 ARTIKEL-BEZEICHNUNG. 03 ARTIKEL-NUMMER. <-- Datengruppe <-- Datengruppe <--- Datengruppe 04 LFD-NUMMER PICTURE 9(6). 04 HERSTELLER PICTURE ARTIKEL-NAME PICTURE X(20). <-- alphanumerisches 02 FILLER PICTURE XX. Datenelement 02 LAGER-INFORMATION. <-- Datengruppe 03 LAGER-NUMMER PICTURE REGAL-NUMMER PICTURE 9(3). 02 WERT-INFORMATION. <-- 03 STUECK-PREIS PICTURE 9(6)V MENGE PICTURE 02 ERFASSUNGS-DATUM. 03 TAG PICTURE MONAT PICTURE JAHR PICTURE FILLER PICTURE X(27). 9(5). <-- Datengruppe Datengruppe Als aktuelle Datenfeld-Inhalte ergeben sich: LAGER-NUMMER m REGAL-NU~1MER ~ MENGE STUECK-PREIS K Aufgabe 3 und 4 (S. 57) Als Losung liibt sich z.b. das folgende COBOL-Programm angeben:

20 364 Losungsteil IDENTIFICATION DIVISION. PRoGRAM-ID. ARTIKEL-LISTE. ENVIRo.MENT DIVISIol. ColFIGURATIol SECTIol. SOURCE-COMPUTER. dva-name-1. OBJECT-COMPUTER. dva-name-2. IIPUT-oUTPUT SECTIol. FILE-CONTROL. SELECT ARTIKEL-DATEI ASSIGI TO SI. SELECT LISTE ASSIGI TO LO. DATA DIVISIol. FILE SECTIol. FD ARTIKEL-DATEI LABEL RECORD STANDARD. 01 ARTIKEL-SATZ. 02 FILLER PICTURE X(8). 02 ARTIKEL-IAME PICTURE X(20). 02 FILLER PICTURE XX. 02 LAGER-KUMMER PICTURE FILLER PICTURE 1(11). 02 KElGE PICTURE 9(5). 02 FILLER PICTURE 1(33). FD LISTE LABEL RECORD OMITTED. 01 LISTE-SATZ. 02 ARTIKEL-IAME-ED PICTURE 1(20). 02 FILLER PICTURE X(10). 02 LAGER-HUMMER-ED PICTURE FILLER PICTURE 1(10). 02 MENGE-ED PICTURE 9(5). 02 FILLER PICTURE 1(86). WoRKI.G-SToRAGE SECTIol. 77 DATEI-EIDE-FELD PICTURE DATEI-EHDE VALUE 1. PROCEDURE DIVISIol. BEGIn. OPEl IIPUT ARTIKEL-DATEI OUTPUT LISTE MOVE 0 TO DATEI-EIDE-FELD. SCHLEIFE. READ ARTIKEL-DATEI AT EID MOVE 1 TO DATEI-EIDE-FELD. IF DATEI-EIDE Datei-Beschreibung fuer die Eingabe-Datei ARTIKEL-DATEI Datei-Beschreibung fuer die Ausgabe-Datei LISTE

21 Losungsteil 365 GO TO ENDE PERFORM VERARBEITUHG. GO TO SCHLEIFE. ENDE. CLOSE ARTIKEL-DATEI LISTE STOP RUN. VERARBEITUHG. MOVE It It TO LISTE-SATZ MOVE ARTIKEL-NAME TO,ARTIKEL-NAME-ED MOVE LAGER-NUMMER TO LAGER-NUMMER-ED MOVE MENGE TO MENGE-ED WRITE LISTE-SATZ. Aufgabe 5 (S. 57) In der Beschreibung des Datensatzes ARTIKEL-SATZ (siehe Aufgabe 2) ist die folgende Anderung vorzunehmen: 02 LAGER-INFORMATION. 03 LAGER-NUMMER PICTURE HAUPTLAGER VALUE REGAL-NUMMER PICTURE 9(3). 88 REGAL-REIHE-l VALUE REGAL-REIHE-2 VALUE REGAL-REIHE-3 VALUE Aufgabe 6 (S. 62) Schliisselworter sind in a) die Worter VALUE und THRU, in b) die Worter FILLER und PICTURE und in c) die Worter WRITE und FROM. In a) und in b) ist das Wahl wort IS enthalten. Aufgabe 7 (S. 80) a) E1 liljj E2 [!Jl E3 [QJJ b) E1 147»1 E2 17 x ol E3 [U] c) El [UJJ E2 12,,01 E3 ~ d) El ~ E2 14}J E3 [UJ E4 I u u u u I Aufgabe 8 (S. 80f.) Urn inkorrekte Literale handelt es sich bei: b) das Zeichen "." darf nicht am Ende eines numerischen Literals auftreten,

22 366 Losungsteil d) das Zeichen "," darf nicht innerhalb eines numerischen Literals angegeben sein (es sei denn, es ist eine DECIMAL-POINT-Klausel vereinbart worden), f) das Zeichen (") darf nur in Form zweier aufeinanderfolgender Zeichen in einem alphanumerischen Literal angegeben sein, und i) das Vorzeichen "-" mub das numerische Literal einleiten. Die unter a), e), g), h) und j) angegebenen Literale haben die alphanumerische Kategorie. Aufgabe 9 (S. 81) a) FELD-l IA u u u ul b) FELD-l I u ~ ~ u ul c) FELD-l IA u A u AI d) FELD-l IA BCD AI e) FELD-21 ~ f) FELD-21 ~ g) FELD-22 cg:q] h) FELD-22 ~ i) FELD-22 ~ j) FELD-3 [!] k) FELD-3 ~ 1) FELD-21 Il}] FELD-22 []JJ m) FELD-l I ABC DEI FELD-21 [JJ FELD-22 ~ FELD-3 [I] FELD-4 ~ n) FELD-4 I u u A I 0) FELD-4 ~ p) FELD-4 ~ Aufgabe 10 (S. 81) Das Feld LISTEN-KOPF wird folgendermaben vorbesetzt: r;;-::7 / u LIS T E - 1 u! L-/----,u;E-S_E_I _T_E _-_l---,="u...j! c;;j ~ t t ~ 1. Zeichen 33. Zeichen 60. Zeichen 132. Zeichen Aufgabe 11 (S. 114f.) Setzen wir vereinfachend voraus, dab fur jeden Vertreter mindestens ein Artikel-Satz vorliegt, aile Artikel-Satze hinter den zugehorigen Vertreterdatensatzen eingeordnet sind und keine Fehler bei der Erfassung der Vertreter- und Artikel-Daten aufgetreten sind, so labt sich z.b. das folgende Programm angeben: 1DEIT1F1CAT10I D1V1S10I. PROGRAM-1D. AUFGABE-l1. ElV1ROIMEIT D1V1S10I. COIF1GURAT10I SECT10I. SOURCE-COMPUTER. dva-name-l. OBJECT-COMPUTER. dva-name-2. 1IPUT-OUTPUT SECT10I. F1LE-COITROL. SELECT VERTRETER-DATE1 ASS1GI TO S1. SELECT LISTE ASS1GI TO LO.

23 Losungsteil 367 DATA DIVISION. FILE SECTION. FD VERTRETER-DATEI LABEL RECORD STANDARD. 01 VERTRETER-SATZ. 02 KENNZAHL PICTURE 9(4). 02 FILLER PICTURE XX. 02 IACHIAHE PICTURE X(20). 02 VORNAME PICTURE X(20). 02 FILLER PICTURE X(34). 01 ARTIKEL-SATZ. 02 ARTIKEL-NUMMER PICTURE 9(8). 02 FILLER PICTURE X. 02 STUECKZAHL PICTURE 9(6). 02 FILLER PICTURE X(4). 02 STUECKPREIS PICTURE 9(5)V FILLER PICTURE X(53). 02 ARTIKEL-SATZ-KENNZEICHEN PICTURE X. 88 ARTIKEL-SATZ-GELESEN VALUE "A". FD LISTE LABEL RECORD OMITTED. 01 LISTE-SATZ PICTURE X(132). WORKING-STORAGE SECTION. 77 DATEI-ENDE-FELD PICTURE 9 VALUE ZERO. 88 DATEI-ENDE VALUE LISTEN-ANFANGS-FELD PICTURE 9 VALUE LISTEN-ANFANG VALUE KOPF-ZEILE-l. 02 FILLER PICTURE X(22) VALUE "UMSATZ DES VERTRETERS " 02 VORNAME-ED PICTURE X(20). 02 FILLER PICTURE X VALUE SPACE. 02 NACHNAME-ED PICTURE X(20). 02 FILLER PICTURE X(19) VALUE" MIT DER KENNZAHL: " 02 KENNZAHL-ED PICTURE 9(4). 02 FILLER PICTURE X(46) VALUE SPACES. 01 KOPF-ZEILE FILLER PICTURE X(86) VALUE ALL "=". 02 FILLER PICTURE X(46) VALUE SPACES. 01 KOPF-ZEILE FILLER PICTURE X(4) VALUE SPACES. 02 FILLER PICTURE X(14) VALUE "ARTIKEL-NUMMER". 02 FILLER PICTURE X(7) VALUE SPACES. 02 FILLER PICTURE X(10) VALUE "STUECKZAHL". 02 FILLER PICTURE X(7) VALUE SPACES.

24 368 Losungsteil 02 FILLER PICTURE 1(90) VALUE "STUECKPREIS". 01 KOPF-ZEILE FILLER PICTURE 1(4) VALUE SPACES. 02 FILLER PICTURE 1(14) VALUE ALL "_". 02 FILLER PICTURE X(7) VALUE SPACES. 02 FILLER PICTURE X(10) VALUE ALL "_". 02 FILLER PICTURE X(7) VALUE SPACES. 02 FILLER PICTURE X(l1) VALUE ALL "_". 02 FILLER PICTURE 1(79) VALUE SPACES. 01 POSTEl-ZElLE. 02 FILLER PICTURE X(7) VALUE SPACES. 02 ARTIKEL-IUMMER-ED PICTURE 9(8). 02 FILLER PICTURE X(12) VALUE SPACES. 02 STUECKZAHL-ED PICTURE Z(6). 02 FILLER PICTURE X(10) VALUE SPACES. 02 STUECKPREIS-ED 02 FILLER PROCEDURE DIVISIOI. BEGIII. PICTURE Z(S).99. PICTURE X(81) VALUE SPACES. OPEl IIPUT VERTRETER-DATEI OUTPUT LISTE. EIILESEI. READ VERTRETER-DATEI AT EID MOVE 1 TO DATEI-ElDE-FELD. IF DATEI-EIDE GO TO EIDE PERFORM VERARBEITUIG. GO TO EIILESEI. EIDE. CLOSE VERTRETER-DATEI LISTE STOP RUI. VERARBElTUIG. IF ARTIKEL-SATZ-GELESEI PERFORM VERARBElTUIG-POSTEI-ZElLE ; PERFORM AUSGABE-KOPF-ZEILEI MOVE ZERO TO LISTEI-AIFAIGS-FELD. VERARBElTUIG-POSTEI-ZEILE. MOVE ARTIKEL-IUMMER TO ARTIKEL-IUMMER-ED MOVE STUECKZAHL TO STUECKZAHL-ED MOVE STUECKPREIS TO STUECKPREIS-ED WRITE LISTE-SATZ FROM POSTEl-ZElLE AFTER ADVAICIIG 1 LIIE. AUSGABE-KOPF-ZEILEI. MOVE VORIAKE TO VORIAME-ED MOVE IACHIAME TO IACHIAME-ED

25 Losungsteil 369 MOVE KEIIZAHL TO KEIIZAHL-ED IF LISTEI-AIFAIG WRITE LISTE-SATZ FROM KOPF-ZEILE-1 AFTER ADVAICIIG 0 LIlES WRITE LISTE-SATZ FROM KOPF-ZEILE-1 AFTER ADVAICING 6 LINES. WRITE LISTE-SATZ FROM KOPF-ZEILE-2 AFTER ADVAICING 1 LIIE WRITE LISTE-SATZ FROM KOPF-ZEILE-3 AFTER ADVANCING 2 LINES WRITE LISTE-SATZ FROM KOPF-ZEILE-4 AFTER ADVANCING 1 LINE. Aufgabe 12 (S. 115) Die Empfangsfelder erhalten die folgenden Inhalte: a) b) f) r:=. 0 1 I j) I I c) I u u I d) GJ e) I g) I u u - 41 h) 1 u + 21 i) GLJ,:=MJ k) 11 0 u 4 8 u ) I EMu I u Lim) I Aufgabe 13 (S. 139) Das folgende Punkteraster wird dreimal untereinander ausgegeben: Aufgabe 14 (S. 139) Die Relation ">" gilt in den Fallen b), d). e) und h), die Relation "<" in c) und f) und die Relation "=" in a) und g). Aufgabe 15 (S. 139) Die Bedingung in a) ist erfiillt, und die in b) trifft nicht ZU, weil der Inhalt des Feldes KONTOSTAND-WS negativ und der Inhalt von NAME-WS nicht alphabetisch ist.

26 370 Losungsteil Aufgabe 16 (S. 157) Zur Losung dieser Aufgabe treffen wir die gleichen einschrankenden Voraussetzungen wie bei der Losung von Aufgabe 11. Wir geben im folgenden ein Programm zur Losung der Aufgabe 16 an und stellen die Abweichungen und Erganzungen zum Programm AUFGABE-11 dar. IDEITIFICATIOI DIVISIOI. PROGRAM-ID. AUFGABE-16. ERVIROIMEIT DIVISIOI. COIFIGURATIOI SECTIOI. SOURCE-COMPUTER. dva-name-1. OBJECT-COMPUTER. dva-name-2. IIPUT-OUTPUT SECTIOI. FILE-COHTROL. SELECT VERTRETER-DATEI ASSIGI TO SI. SELECT LISTE ASSIGN TO LO. DATA DIVISIOI. FILE SECTIOI. FD VEB.TRETER -DA TEl LABEL RECORD ST UDARD. 01 VERTRETER-SATZ. 02 KERIZAHL PICTURE 9(4). 02 FILLER PICTURE XX. 02 IACHIAME PICTURE 1(20). 02 VORIAME PICTURE 1(20). 02 FILLER PICTURE 1(34). 01 ARTIKEL-SATZ. 02 ARTIKEL-IUMMER PICTURE 9(8). 02 FILLER PICTURE STUECKZAHL PICTURE 9(6). 02 FILLER PICTURE 1(4). 02 STUECKPREIS PICTURE 9(5)V FILLER PICTURE 1(53). 02 ARTIKEL-SATZ-KENNZEICHEI PICTURE ARTIKEL-SATZ-GELESEN VALUE "A". FD LISTE LABEL RECORD OMITTED. 01 LISTE-SATZ PICTURE 1(132). WORKIIG-STORAGE SECTIOI. 77 DATEI-EIDE-FELD PICTURE 9 VALUE ZERO. 88 DATEI-EIDE VALUE 1.

27 Losungsteil LISTEN-ANFAIGS-FELD PICTURE 9 VALUE LISTEI-AIFANG VALUE GESAMT-UMSATZ PICTURE 9(7)V UMSATZ PICTURE 9(7)V KOPF-ZEILE-l. 02 FILLER PICTURE X(22) <- neu! <- neu! VALUE "UMSATZ DES VERTRETERS II 02 VORNAME-ED PICTURE X(20). 02 FILLER PICTURE X VALUE SPACE. 02 IACHNAME-ED PICTURE X(20). 02 FILLER PICTURE X(19) VALUE II MIT DER KENNZAHL: II 02 KENNZAHL-ED PICTURE 9(4). 02 FILLER PICTURE 1(46) VALUE SPACES. 01 KOPF-ZEILE FILLER PICTURE 1(86) VALUE ALL "=". 02 FILLER PICTURE 1(46) VALUE SPACES. 01 KOPF-ZEILE FILLER PICTURE 1(4) VALUE SPACES. 02 FILLER PICTURE 1(14) VALUE "ARTIKEL-NUMMER". 02 FILLER PICTURE 1(7) VALUE SPACES. 02 FILLER PICTURE 1(10) VALUE "STUECKZAHL". 02 FILLER PICTURE 1(7) VALUE SPACES. 02 FILLER PICTURE X(ll) 02 FILLER 02 FILLER VALUE "STUECKPREIS". PICTURE X(20) VALUE SPACES. PICTURE 1(59) VALUE "UMSATZ". 01 KOPF-ZEILE FILLER PICTURE 1(4) VALUE SPACES. 02 FILLER PICTURE 1(14) VALUE ALL "-". 02 FILLER PICTURE 1(7) VALUE SPACES. 02 FILLER PICTURE 1(10) VALUE ALL "-". 02 FILLER PICTURE 1(7) VALUE SPACES. 02 FILLER PICTURE X(l1) VALUE ALL "-". 02 FILLER PICTURE X(20) VALUE SPACES. 02 FILLER PICTURE X(59) VALUE "------". 01 POSTEN-ZElLE. 02 FILLER 02 ARTIKEL-NUMMER-ED 02 FILLER 02 STUECKZAHL-ED 02 FILLER 02 STUECKPREIS-ED 02 FILLER I geaendert! I geaendert! PICTURE 1(7) VALUE SPACES. PICTURE 9(8). PICTURE 1(12) VALUE SPACES. PICTURE Z(6). PICTURE X(10) VALUE SPACES. PICTURE Z(5).99. PICTURE 1(20) T

28 372 Losungstei1 02 UMSATZ-ED 02 FILLER VALUE SPACES. PICTURE Z(7).99. PICTURE X(61) VALUE SPACES. 01 GESAMT-UMSATZ-ZEILE FILLER PICTURE X(71) VALUE SPACES. 02 FILLER PICTURE X(61) VALUE " ". 01 GESAMT-UMSATZ-ZEILE FILLER PICTURE X(71) VALUE "GESAMT-UMSATZ 02 GESAMT-UMSATZ-ED PICTURE Z(7) FILLER PICTURE X(61) VALUE SPACES. PROCEDURE DIVISIOI. BEGIII. OPEl IIPUT VERTRETER-DATEI OUTPUT LISTE. EIILESEI. 1 geaendert! " neu! READ VERTRETER-DATEI AT EID MOVE 1 TO DATEI-EIDE-FELD. IF DATEI-EIDE GO TO EIDE PERFORII VEllRBEITtmG. GO TO ElILESEI. BIDE. PERFORM AUSGABE-GESAMT-UMSATZ CLOSE VERTRETER-DATEI LISTE <- neu! STOP RUI. VERARBElTUIG. IF ARTIKEL-SATZ-GELESEI PERFORM VERARBElTUIG-POSTEI-ZElLE IF LISTBI-AiFAIG PERFORM AUSGABE-KOPF-ZElLEI MOVE ZEROS TO LISTEI-AIFAIGS-FELD GESAMT-UMSATZ PERFORM AUSGABE-GESAMT-UMSATZ PERFORM AUSGABE-KOPF-ZElLEI MOVE ZERO TO GESAMT-UMSATZ. AUSGABE-GESAMT-UMSATZ. MOVE GESAMT-UMSATZ TO GESAMT-UMSATZ-ED WRITE LISTE-SATZ FROM GESAMT-UMSATZ-ZEILE-1 AFTER ADVAICIIG 2 LIlES WRITE LISTE-SATZ FROM GESAMT-UMSATZ-ZElLE-2 AFTER ADVAICIIG 1 LIIE. geaendert! I neu!

29 Losungsteil 373 VERARBElTUIG-PoSTEI-ZEILE. MOVE ARTIKEL-IUKMER TO ARTIKEL-IUMMER-ED MOVE STUECKZAHL TO STUECKZAHL-ED MOVE STUECKPREIS TO STUECKPREIS-ED MULTIPLY STUECKZAHL BY STUECKPREIS GIVIIG UMSATZ ADD UMSATZ TO GESAMT-UMSATZ MOVE UHSATZ TO UHSATZ-ED WRITE LISTE-SATZ FROM POSTEl-ZElLE AFTER ADVAICIIG 1 LIIE. AUSGABE-KOPF-ZEILEI. MOVE VORKAME TO VORIAME-ED MOVE IACHKAME TO KACHIAME-ED MOVE KEKKZAHL TO KEIKZAHL-ED IF LISTEI-AHFAHG WRITE LISTE-SATZ FROM KOPF-ZEILE-l AFTER ADVAICIIG 0 LIlES WRITE LISTE-SATZ FROM KOPF-ZEILE-l AFTER ADVAICIIG 6 LIlES WRITE LISTE-SATZ FROM KOPF-ZEILE-2 AFTER ADVAKCIIG 1 LIIE WRITE LISTE-SATZ FROM KOPF-ZElLE-3 AFTER ADVAKCIIG 2 LIKES WRITE LISTE-SATZ FROM KoPF-ZElLE-4 AFTER ADVAICIKG 1 LIKE. I neu! Aufgabe 17 (S. 158) Zur Lasung dieser Aufgabe setzen wir vereinfachend voraus (vergleiche die Lasung der Aufgabe 11), dab fur jeden Vertreter mindestens ein Artikel-Satz vorliegt, alle Artikel-Satze eines Vertreters direkt aufeinanderfolgen und keine Fehler bei der Erfassung der Vertreterdaten und der Artikel-Satze aufgetreten sind. Wir geben im folgenden ein Programm zur Lasung der Aufgabe 17 an und stellen die Abweichungen und Erganzungen zum Programm AUFGABE-16 dar. IDEKTIFICATIol DIVISIOK. PROGRAM-ID. AUFGABE-17. EHVIROKMEIT DIVISIOI. COIFIGURATIol SECTIOI. SOURCE-COMPUTER. dva-name-l. OBJECT-COMPUTER. dva-name-2.

30 374 Losungsteil INPUT-OUTPUT SECTION. FILE-CONTROL. SELECT ARTIKEL-BESTELL ASSIGN TO SI. <- geaendert! SELECT VERTRETER-DATEI ASSIGN TO DI. <- geaendert! SELECT LISTE ASSIGN TO LO. DATA DIVISION. FILE SECTION. FD VERTRETER-DATEI <- geaendert! LABEL RECORD STANDARD. <- geaendert! 01 VERTRETER-SATZ. 02 KENNZAHL PICTURE 9(4). 02 FILLER PICTURE XX. 02 NACHNAME PICTURE X(20). 02 VORNAME PICTURE X(20). 02 FILLER PICTURE X(34). FD ARTIKEL-BESTELL <- geaendert! LABEL RECORD STANDARD. <- geaendert! 01 ARTIKEL-SATZ. 02 ARTIKEL-NUMMER PICTURE 9(8). 02 FILLER PICTURE X. 02 STUECKZAHL PICTURE 9(6). 02 FILLER PICTURE 1(4). 02 STUECKPREIS PICTURE 9(5)V FILLER PICTURE X(3). 02 KENNZAHL-IN-ARTIKEL-SATZ PICTURE 9(4). I geaendert! 02 FILLER PICTURE X(47). FD LISTE LABEL RECORD OMITTED. 01 LISTE-SATZ PICTURE X(132). WORKING-STORAGE SECTION. 77 DATEI-ENDE-FELD PICTURE 9 VALUE ZERO. 88 DATEI-ENDE VALUE LISTEN-ANFANGS-FELD PICTURE 9 VALUE LISTEN-ANFANG VALUE GESAMT-UMSATZ PICTURE 9(7)V UMSATZ PICTURE 9(7)V KOPF-ZEILE-l. 02 FILLER PICTURE X(22) VALUE "UMSATZ DES VERTRETERS " 02 VORNAME-ED PICTURE X(20). 02 FILLER PICTURE X VALUE SPACE. 02 NACHNAME-ED PICTURE X(20). 02 FILLER PICTURE X(19) VALUE" MIT DER KENNZAHL: " 02 KENNZAHL-ED PICTURE 9(4).

31 Losungsteij FILLER PICTURE X(46) VALUE SPACES. 01 KOPF-ZEILE FILLER PICTURE X(86) VALUE ALL "=". 02 FILLER PICTURE X(46) VALUE SPACES. 01 KOPF-ZEILE FILLER PICTURE X(4) VALUE SPACES. 02 FILLER PICTURE X(14) VALUE "ARTIKEL-NUMMER". 02 FILLER PICTURE X(7) VALUE SPACES. 02 FILLER PICTURE X(10) VALUE "STUECKZAHL". 02 FILLER PICTURE X(7) VALUE SPACES. 02 FILLER PICTURE X(11) VALUE "STUECKPREIS". 02 FILLER PICTURE X(20) VALUE SPACES. 02 FILLER PICTURE X(59) VALUE "UMSATZ". 01 KOPF-ZEILE FILLER PICTURE X(4) VALUE SPACES. 02 FILLER PICTURE X(14) VALUE ALL "-". 02 FILLER PICTURE X(7) VALUE SPACES. 02 FILLER PICTURE X(10) VALUE ALL "-". 02 FILLER PICTURE X(7) VALUE SPACES. 02 FILLER PICTURE X(11) VALUE ALL "-". 02 FILLER PICTURE X(20) VALUE SPACES. 02 FILLER PICTURE X(59) VALUE "------". 01 POSTEN-ZElLE. 02 FILLER 02 ARTIKEL-NUMMER-ED 02 FILLER 02 STUECKZAHL-ED 02 FILLER 02 STUECKPREIS-ED 02 FILLER 02 UMSATZ-ED 02 FILLER 01 GESAMT-UMSATZ-ZEILE-1. PICTURE X(7) VALUE SPACES. PICTURE 9(8). PICTURE X(12) VALUE SPACES. PICTURE Z(6). PICTURE X(10) VALUE SPACES. PICTURE Z(5).99. PICTURE X(20) VALUE SPACES. PICTURE Z(7).99. PICTURE X(51) VALUE SPACES. 02 FILLER PICTURE X(71) VALUE SPACES. 02 FILLER PICTURE X(61) VALUE " ". 01 GESAMT-UMSATZ-ZEILE FILLER PICTURE X(71) VALUE "GESAMT-UMSATZ 02 GESAMT-UMSATZ-ED PICTURE Z(7) FILLER PICTURE X(51) VALUE SPACES. PROCEDURE DIVISION. BEGUN. OPEN INPUT VERTRETER-DATEI <- geaendert! ARTIKEL-BESTELL OUTPUT LISTE. EINLESEN. READ VERTRETER-DATEI <- geaendert! II

32 376 Losungsteil AT EID MOVE 1 TO DATEI-EIDE-FELD. IF DATEI-EIDE GO TO EIDE PERFORM VERARBElTUIG-AIFAIG <- geaendert! THRU VERARBElTUIG-EIDE. GO TO EIILESEI. ElDE. CLOSE VERTRETER-DATEI <- geaendert! ARTIKEL-BESTELL LISTE STOP RUI. VERARBElTUIG-AXFAXG. PERFORM AUSGABE-KOPF-ZEILEI MOVE ZERO TO GESAMT-UMSATZ IF LISTEI-AXFAlG MOVE ZERO TO LISTEI-AIFAIGS-FELD PERFORM VERARBElTUIG-POSTEI-ZElLE. VERARBElTUIG-SCHLElFE. READ ARTIKEL-BESTELL AT EID MOVE 1 TO DATEI-ElDE-FELD. geaendert! IF DATEI-ElDE PERFORM AUSGABE-GESAMT-UMSATZ GO TO VERARBElTUIG-EIDE IF KEIIZAHL = KEIIZAHL-II-ARTIKEL-SATZ PERFORM VERARBElTUIG-POSTEI-ZEILE PERFORM AUSGABE-GESAMT-UMSATZ GO TO VERARBElTUIG-EiDE. GO TO VERARBEITUIG-SCHLElFE. VERARBElTUIG-EIDE. EXIT. AUSGABE-GESAMT-UMSATZ. MOVE GESAMT-UMSATZ TO GESAMT-UMSATZ-ED WRITE LISTE-SATZ FROM GESAMT-UMSATZ-ZElLE-l AFTER ADVAICIIG 2 LIlES WRITE LISTE-SATZ FROM GESAMT-UMSATZ-ZElLE-2 AFTER ADVAICIIG 1 LIIE. VERARBElTUIG-POSTEI-ZEILE. MOVE ARTIKEL-IUMMER TO ARTIKEL-IUMMER-ED MOVE STUECKZAHL TO STUECKZAHL-ED MOVE STUECKPREIS TO STUECKPREIS-ED MULTIPLY STUECKZAHL BY STUECKPREIS GIVIIG UMSATZ ADD UMSATZ TO GESAMT-UMSATZ

33 Losungsteil 377 MOVE UMSATZ TO UMSATZ-ED WRITE LISTE-SATZ FROM POSTEl-ZElLE AFTER ADVAICIIG 1 LIIE. AUSGABE-KOPF-ZEILEI. MOVE VORIAME TO VORIAME-ED MOVE IACBIAME TO lac BlAME-ED MOVE KEIIZABL TO KEIIZABL-ED IF LISTEI-ANFAIG WRITE LISTE-SATZ FROM KOPF-ZEILE-1 AFTER ADVAICING 0 LINES WRITE LISTE-SATZ FROM KOPF-ZEILE-1 AFTER ADVANCING 6 LINES WRITE LISTE-SATZ FROM KOPF-ZElLE-2 AFTER ADVANCING 1 LINE WRITE LISTE-SATZ FROM KOPF-ZEILE-3 AFTER ADVANCIIG 2 LINES WRITE LISTE-SATZ FROM KOPF-ZElLE-4 AFTER ADVANCING 1 LINE. Aufgabe 18 (S. 158) Eine magliche Lasung der Aufgabe 18 stellt das folgende Programm dar: IDENTIFICATION DIVISION. PROGRAM-ID. AUFGABE-18. ENVIRONMEIT DIVISION. CONFIGURATIOI SECTION. SOURCE-COMPUTER. dva-name-1. OBJECT-COMPUTER. dva-name-2. INPUT-OUTPUT SECTION. FILE-CONTROL. SELECT VERTRETER-DATEI ASSIGN TO SI. DATA DIVISION. FILE SECTIOI. FD VERTRETER-DATEI LABEL RECORD STAIDARD. 01 VERTRETER-SATZ. 02 KElIZABL 02 PRUEFZIFFER 02 FILLER PICTURE 9(4). PICTURE X. PICTURE X. <- evtl. weitere Zuordnungen

34 378 Losungsteil 02 lame. 03 IACBIAME PICTURE 1(20). 03 VoUAME PICTURE 1(20). 02 FILLER PICTURE I. 02 KolToSTAID PICTURE S9(6)V99 SIGI IS LEADIIG SEPARATE CHARACTER. 02 FILLER PICTURE 1(26). <- evtl. veitere Datei-Beschreibungen WoRKIIG-STDRAGE SECTIol. 77 DIVIDEID PICTURE 9(3). 77 REST PICTURE 9(2). 77 QUoTIEIT PICTURE 9(2). 01 KElIZABL-WS. 02 TAUSEIDER PICTURE BUIDERTER PICTURE ZEBIER PICTURE EIlER PICTURE 9. PROCEDURE DIVISIol. BEGIII. MOVE KEIIZABL TO KEIIUBL-WS PERFORM PRUEFZIFFEU-ALGoRITBMUS <- evtl. veitere Angaben STOP Ru!. PRUEFZIFFERI-ALGoRITBMUS. IF (KElIZABL-WS IS IUMERIC) AID (PRUEFZIFFER = "A" DR PRUEFZIFFER IS IUMERIC) PERFORM AUSWERTUIG-PRUEFZIFFER. COMPUTE DIVIDEID = 6 TAUSEIDER + 4 BUIDERTER + 3 ZEBIER + 2 EIlER + DIVIDEID DIVIDE 11 lito DIVIDEID GIVIIG QUoTIEIT REMAIIDER REST IF REST = ZERO IEIT SEITEICE PERFORM FEBLER---PRUEFZIFFER-FALSCB PERFORM FEBLER---EIIGABE-UIZULAESSIG. AUSWERTUIG-PRUEFZIFFER. IF PRUEFZIFFER = "A" MOVE 10 TO DIVIDEID MOVE PRUEFZIFFER TO DIVIDEID. FEBLER---PRUEFZIFFER-FALSCB.

35 Losungsteil 379 DISPLAY" WERTE DER KEnZAHL:" KEllIlZAHL-WS " UllD DER PRUEFZIFFER:" PRUEFZIFFER " WIDERSPRECHEI SICH". FEHLER---EIIlGABE-UIlZULAESSIG. DISPLAY" FEHLERHAFTE ZEICHEI III KEllllZAHL:" KENNZAHL-WS " ODER III PRUEFZIFFER:" PRUEFZIFFER. <- hier folgen evtl. weitere Prozeduren Aufgabe 19 (S. 158) Als Lasung liibt sich z.b. das folgende Programm angeben: IDENTIFICATIOI DIVISION. PROGRAM-ID. AUFGABE-19. ENVIROIMENT DIVISION. CONFIGURATION SECTION. SOURCE-COMPUTER. dva-name-1. OBJECT-COMPUTER. dva-name-2. INPUT-OUTPUT SECTION. FILE-CONTROL. SELECT UINUMERIERT-DATEI ASSIGN TO SI. SELECT IlUMERIERT-DATEI ASSIGN TO DO. DATA DIVISION. FILE SECTION. FD UINUMERIERT-DATEI LABEL RECORD STANDARD. 01 UNNUMERIERT-SATZ PICTURE X(80). FD IlUMERIERT-DATEI LABEL RECORD STAIDARD. 01 IlUMERIERT-SATZ. 02 IlUMERIERUIlG 02 FILLER WORKING-STORAGE SECTION. PICTURE 9(6). PICTURE X(74). 77 DATEI-ENDE-FELD PICTURE 9 VALUE ZERO. 88 DATEI-EIDE VALUE IlUMERIERUIlG-WS PICTURE 9(6) VALUE ZERO. PROCEDURE DIVISION. BEGIn. OPEl IIlPUT UIlIlUMERIERT-DATEI OUTPUT IlUMERIERT-DATEI. SCHLEIFE. READ UllIlUMERIERT-DATEI lito IlUMERIERT-SATZ AT EID MOVE 1 TO DATEI-EIDE-FELD.

36 380 Losungsteil IF DATEI-EIDE GO TO EIDE PERFORM VERARBEITUIG. GO TO SCHLEIFE. ElDE. CLOSE UlIUMERIERT-DATEI IUHERIERT-DATEI STOP RUB. VERARBEITUIG. ADD 10 TO IUHERIERUIG-WS MOVE IUMERIERUNG-WS TO NUMERIERUIG WRITE NUHERIERT-SATZ. Aufgabe 20 (S. 215) In Abwandlung des Prograrnrns AUFGABE-18 geben wir zur Losung der erweiterten Aufgabenstellung das folgende Prograrnm als mogliche Losung der Aufgabe 20 an: IDENTIFICATIOI DIVISION. PROGRAM-ID. AUFGABE-20. ElVIROIMEIT DIVISIOI. COIFIGURATIOI SECTIOI. SOURCE-COMPUTER. dva-name-1. OBJECT-COMPUTER. dva-name-2. INPUT-OUTPUT SECTIOI. FILE-COITROL. SELECT VERTRETER-DATEI ASSIGN TO SI. <- evtl. wei tere Zuordnungen DATA DIVISION. FILE SECTIOI. FD VERTRETER-DATEI LABEL RECORD STANDARD. 01 VERTRETER-SATZ. 02 KEiNZAHL PICTURE 9(4). 02 STELLE REDEFINES KENNZAHL OCCURS 4 TIMES PICTURE PRUEFZIFFER PICTURE PRUEFZIFFER-ALPHA REDEFINES PRUEFZIFFER PICTURE X. 02 FILLER PICTURE X. 02 lame. 03 IACHIAME PICTURE X(20). 03 VORIAME PICTURE X(20). 02 FILLER PICTURE X.

37 LOsungsteil KOITOSTAID PICTURE S9(6)V99 02 FILLER SIGI IS LEADIIG SEPARATE CHARACTER. PICTURE 1(26). <- evtl. weitere WORKIIG-STORAGE SECTIOI. Datei-Beschreibungen 77 DIVIDEID PICTURE 9(3). 77 REST PICTURE QUOTIEIT PICTURE 99. <- evtl. weitere Angaben PROCEDURE DIVISIOI. BEGIIi. PERFORM PRUEFZIFFERI-ALGORITHMUS STOP RUI. PRUEFZIFFERI-ALGORITHMUS. IF KEIIZAHL IS tumeric AID lame IS ALPHABETIC AID (PRUEFZIFFER-ALPHA = "A" OR PRUEFZIFFER IS IUMERIC) IF KEIIZAHL > 1 AID KElIZAHL < 6000 PERFORM AUSWERTUIG-PRUEFZIFFER COMPUTE DIVIDEID = 6 * STELLE (1) + 4 * STELLE (2) + 3 * STELLE (3) + 2 * STELLE (4) + DIVIDEID DIVIDE 11 lito DIVIDEID GIVIIG QUOTIEIT REMAIIDER REST IF REST = ZERO IEXT SEiTEICE PERFORM FEHLER---PRUEFZIFFER-FALSCH PERFORM FEHLER---KEIIZAHL-FALSCH PERFORM FEHLER---EIIGABE-UIZULAESSIG. AUSWERTUIG-PRUEFZIFFER. IF PRUEFZIFFER-ALPHA = "A" MOVE 10 TO DIVIDEID MOVE PRUEFZIFFER TO DIVIDEID. FEHLER---PRUEFZIFFER-FALSCH. DISPLAY "WERTE DER KEIIZAHL:" KElIZAHL " UID DER PRUEFZIFFER:" PRUEFZIFFER " WIDERSPRECHEI SICH". FEHLER---KEIIZAHL-FALSCH. DISPLAY " WERT VOl KElIZAHL:" KEIIZAHL " LIEGT AUSSERHALB DER GREIZEI!".

38 382 Losungsteil FEBLER---EIIGABE-UiZULAESSIG. DISPLAY "FEBLERBAFTE ZEICBEI II KEIIZAHL:" KElIZABL "ODER II PRUEFZIFFER:" PRUEFZIFFER " ODER II lame:" lame. <--- hier tolgen evtl. veitere Prozeduren Aufgabe 21 (S. 215) Zur Losung dieser Aufgabe setzen wir voraus, dab in den beiden Datensatzen einer Datei auf einem magnetischen Datentrager, die zur Eingabe bereitgestellt werden, keine fehlerhaften Eintragungen erfolgt sind. In diesem Falllii.f3t sich z.b. die folgende Losung angeben: IDEITIFICATIOI DIVISIOI. PROGRAM-ID. AUFGABE-21. ElVIROIMEIT DIVISIOI. COIFIGURATIOI SECTIOI. SOURCE-COMPUTER. dva-naae-1. OBJECT-COMPUTER. dva-naae-2. IIPUT-DUTPUT SECTIOI. FILE-COITROL. SELECT TABELLEIEIIGABE-DATEI ASSIGI TO SI. <--- evtl. veitere Zuordnungen DATA DIVISIOI. FILE SECTIOI. FD TABELLEIEIIGABE-DATEI LABEL RECORD STAIDARD. 01 TABELLEIEIIGABE-SATZ. 02 FILLER PICTURE X(4). 02 VERTE PICTURE S9(5) OCCURS 10 TIMES. 02 FILLER PICTURE X(26). <--- evtl. veitere Datei-Beschreibungen VORKIIG-STORAGE SECTIOI. 77 DATEI-EIDE-FELD PICTURE 9 VALUE ZERO. 88 DATEI-BlDE VALUE ZAEBLER PICTURE I PICTURE J PICTURE BILFS-FELD PICTURE S9(5). 01 ZABLEI-VERTE. 02 ZAHLEI PICTURE S9(5) OCCURS 20 TIMES.

Vorwort 11 1 Einleitung Überblick Hardwareausstattung Softwarebausteine Programmentwicklung 19

Vorwort 11 1 Einleitung Überblick Hardwareausstattung Softwarebausteine Programmentwicklung 19 Inhaltsverzeichnis Vorwort 11 1 Einleitung. 15 1.1 Überblick 15 1.2 Hardwareausstattung 17 1.3 Softwarebausteine 17 1.4 Programmentwicklung 19 2 Einführungsbeispiel 21 3 Das grundlegende Konzept von Cobol

Mehr

COBOL Programmierte Unterweisung

COBOL Programmierte Unterweisung Harald Gockel COBOL Programmierte Unterweisung 3. Auflage Hüthig Buch Verlag Heidelberg Inhaltsverzeichnis Vorwort 1 1.1 Urhebernachweis 2 1.2 Hinweise zur Benutzung dieses Buches 3 Wie entsteht ein Programm?

Mehr

Programmieren mit COBOL

Programmieren mit COBOL Wirtschaftsinformatik: Datenverarbeitung Klaus Arzdorf Programmieren mit COBOL 4., völlig neu bearbeitete Auflage Vogel Buchverlag Inhaltsverzeichnis Vorwort 5 Urhebernachweis 7 Vom Problem zum Programm

Mehr

~ ~

~ ~ 305 Anhang A.l Der Datentrager Lochkarte Bevor Bildschirmarbeitsplatze eingesetzt wurden, erfolgte die Datenerfassung an Kartenlochern auf dem (klassischen) Datentrager Lochkarte. Eine Lochkarte ist eingeteilt

Mehr

A.1 reservierte COBOL-Wörter Anhang

A.1 reservierte COBOL-Wörter Anhang 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

Mehr

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

COBOL COBOL. Tobias Denzler Eve Morel. Für das Seminar: 10 Programmiersprachen 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

Mehr

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

COBOL. COBOL by the numbers (Quelle: ZDNet / Gartner Inc., 2001) Teil 5. Sprache ohne Programmierer. Entwurfsprinzipien Teil 5 COBOL COmmon Business Oriented Language 60 Kaufmännische, behördliche Anwendungen E/A ist Hauptteil der Anwendung, große Zahl einfacher Berechnungen, Dezimalarithmetik, DoD & IBM, 1959/60, die treibenden

Mehr

Common Business Oriented Language. Teil 1 - Einführung

Common Business Oriented Language. Teil 1 - Einführung Common Business Oriented Language Teil 1 - Einführung Eckdaten Erster Cobol Compiler 1959 Cobol ANSI/ISO Standards 1968, 1974, 1985, 2002 (!) Java: erster Release 1995, JDBC 1997, J2EE 1998 1997: Schätzungsweise

Mehr

Teil 5 COBOL. COmmon Business Oriented Language 60

Teil 5 COBOL. COmmon Business Oriented Language 60 Teil 5 COBOL COmmon Business Oriented Language 60 Kaufmännische, behördliche Anwendungen E/A ist Hauptteil der Anwendung, große Zahl einfacher Berechnungen, Dezimalarithmetik, DoD & IBM, 1959/60, die treibenden

Mehr

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

Inhaltsverzeichnis. Vorwort zur zweiten amerikanischen Ausgabe 19 Vorwort zur deutschen Ausgabe 25 Vorbemerkungen 29 COBOL Strukturierte Programmierung mit COBOL 85 Von Daniel D. McCracken und Donald G. Golden 7., korrigierte Auflage Oldenbourg Verlag München Wien 5 Inhaltsverzeichnis Vorwort zur zweiten amerikanischen

Mehr

Anhang. A.l Liste der reservierten COBOL-Worter

Anhang. A.l Liste der reservierten COBOL-Worter 171 Anhang A.l Liste der reservierten COBOL-Worter ACCEPT CONTAINS ENTER LABEL ACCESS COPY ENVIRONMENT LEADING ADD CORR EOP LEFT ADVANCING CORRESPONDING EQUAL LENGTH AFTER COUNT ERROR LESS ALL CRT ESI

Mehr

Informatik für Mathematiker und Physiker Woche 7. David Sommer

Informatik für Mathematiker und Physiker Woche 7. David Sommer Informatik für Mathematiker und Physiker Woche 7 David Sommer David Sommer 30. Oktober 2018 1 Heute: 1. Repetition Floats 2. References 3. Vectors 4. Characters David Sommer 30. Oktober 2018 2 Übungen

Mehr

Stephan Brumme, SST, 3.FS, Matrikelnr

Stephan Brumme, SST, 3.FS, Matrikelnr Aufgabe M3.1 Ich habe versucht, die Funktionalität als Baustein in Klassen zu verpacken. Mein Programm enthält daher keine Routinen zur Ein- / Ausgabe, falls man zu Testzwecken die Abläufe verfolgen will,

Mehr

RMS-Tuning nach 4 Jahren

RMS-Tuning nach 4 Jahren RMS-Tuning nach 4 Jahren DB-Admin für RMS? Na Klar! Der Erfolg gab uns Recht TK Performance Kunde / Benutzer Software Entwickler Generalunternehmer Systemmanagement Applikations Support Ludolf.Treiber@t-systems.com

Mehr

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

Funktionen. Überblick über Stored Functions. Syntax zum Schreiben einer Funktion. Schreiben einer Funktion Überblick über Stored Functions Funktionen Eine Funktion ist ein benannter PL/SQL- Block, der einen Wert zurückgibt. Eine Funktion kann in der Datenbank als Objekt zur wiederholbaren Ausführung gespeichert

Mehr

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

Introduction to Python. Introduction. First Steps in Python. pseudo random numbers. May 2016 to to May 2016 to What is Programming? All computers are stupid. All computers are deterministic. You have to tell the computer what to do. You can tell the computer in any (programming) language) you

Mehr

COBOL für Fortgeschrittene. Übungen zur Schulung

COBOL für Fortgeschrittene. Übungen zur Schulung COBOL für Fortgeschrittene Übungen zur Schulung 23. Oktober 2011 Eine Ausarbeitung von: cps4it Ralf Seidler Stromberger Straße 36A 55411 Bingen Fon: +49-6721-992611 Fax: +49-6721-992613 Mail: ralf.seidler@cps4it.de

Mehr

Computational Models

Computational Models - University of Applied Sciences - Computational Models - CSCI 331 - Friedhelm Seutter Institut für Angewandte Informatik Part I Automata and Languages 0. Introduction, Alphabets, Strings, and Languages

Mehr

19. STL Container Programmieren / Algorithmen und Datenstrukturen 2

19. STL Container Programmieren / Algorithmen und Datenstrukturen 2 19. STL Container Programmieren / Algorithmen und Datenstrukturen 2 Prof. Dr. Bernhard Humm FB Informatik, Hochschule Darmstadt Wintersemester 2012 / 2013 1 Agenda Kontrollfragen STL Container: Übersicht

Mehr

Schnellübersichten. SQL Grundlagen und Datenbankdesign

Schnellübersichten. SQL Grundlagen und Datenbankdesign Schnellübersichten SQL Grundlagen und Datenbankdesign 5 Datenbanken 2 6 Tabellen erstellen und verwalten 3 7 Daten einfügen, aktualisieren, löschen 4 8 Einfache Datenabfragen 5 9 Schlüsselfelder und Indizes

Mehr

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

E. H. Peter Roitzsch. COBOL Das Handbuch für den professionellen Programmierer E. H. Peter Roitzsch COBOL Das Handbuch für den professionellen Programmierer --- Programmierhandbücher für den anspruchsvollen Leser Microsoft C-Programmierhandbuch Ein Microsoft PressNieweg-Buch von

Mehr

Angewandte Mathematik und Programmierung

Angewandte Mathematik und Programmierung Angewandte Mathematik und Programmierung Einführung in das Konzept der objektorientierten Anwendungen zu mathematischen Rechnens WS 2013/14 Operatoren Operatoren führen Aktionen mit Operanden aus. Der

Mehr

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

Exercise (Part V) Anastasia Mochalova, Lehrstuhl für ABWL und Wirtschaftsinformatik, Kath. Universität Eichstätt-Ingolstadt 1 Exercise (Part V) Notes: The exercise is based on Microsoft Dynamics CRM Online. For all screenshots: Copyright Microsoft Corporation. The sign ## is you personal number to be used in all exercises. All

Mehr

Informatik - Übungsstunde

Informatik - Übungsstunde Informatik - Übungsstunde Jonas Lauener (jlauener@student.ethz.ch) ETH Zürich Woche 08-25.04.2018 Lernziele const: Reference const: Pointer vector: iterator using Jonas Lauener (ETH Zürich) Informatik

Mehr

Pascal Schärli

Pascal Schärli Informatik I - Übung 8 Pascal Schärli pascscha@student.ethz.ch 12.04.2019 1 Was gibts heute? Best-Of Vorlesung: Prefix / Infix EBNF Vorbesprechung Problem of the Week 2 Vorlesung 3. 1 Prefix Notation Infix

Mehr

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

Introduction to Python. Introduction. First Steps in Python. pseudo random numbers. May 2018 to to May 2018 to What is Programming? All computers are stupid. All computers are deterministic. You have to tell the computer what to do. You can tell the computer in any (programming) language) you

Mehr

Informatik für Mathematiker und Physiker Woche 2. David Sommer

Informatik für Mathematiker und Physiker Woche 2. David Sommer Informatik für Mathematiker und Physiker Woche 2 David Sommer David Sommer 25. September 2018 1 Heute: 1. Self-Assessment 2. Feedback C++ Tutorial 3. Modulo Operator 4. Exercise: Last Three Digits 5. Binary

Mehr

B Synopsis der Programmiersprachen ABAP, VB und Java

B Synopsis der Programmiersprachen ABAP, VB und Java AnhangB.fm Seite 299 Dienstag, 22. April 2003 2:33 14 B Synopsis der Programmiersprachen ABAP, VB und Java Die folgenden Tabellen sind eine vergleichende Übersicht ausgewählter Sprachelemente der drei

Mehr

Struktur des MicroJava-Compilers

Struktur des MicroJava-Compilers Struktur des MicroJava-Compilers Compiler Parser.mj Scanner Code- Generator.obj Symboltabelle UE zu Übersetzerbau Lexikalische Analyse 1 Grammatik ohne Scanner Expr = Term { "+" Term }. Term = Factor {

Mehr

Aufgabe 1.1. Wählen Sie jene Variablendeklarationen mit Initialisierungen aus, die in Java hinsichtlich der Typen korrekt sind:

Aufgabe 1.1. Wählen Sie jene Variablendeklarationen mit Initialisierungen aus, die in Java hinsichtlich der Typen korrekt sind: Test 1 in Programmkonstruktion 59 / 100 Punkte 1. Multiple-Choice-Aufgaben 20 / 30 Punkte Bitte wählen Sie alle zutreffenden Antwortmöglichkeiten aus. Es können beliebig viele Antwortmöglichkeiten zutreffen,

Mehr

Zeilen in SAS-Datensatz einfügen

Zeilen in SAS-Datensatz einfügen News Artikel Foren Projekte Links Über Redscope Join List Random Previous Next Startseite Foren ETL & Base SAS Zeilen in SAS-Datensatz einfügen 27 June, 2011-16:27 Gordon123 Hallo liebe Forengemeinde,

Mehr

Data exchange with Prosonic Flow 93T

Data exchange with Prosonic Flow 93T Supplementary documentation for the Operating Instructions Data exchange with Prosonic Flow 93T Import CSV File into Excel A0013675 Prosonic Flow 93T uses a text file format commonly referred to as a CSV

Mehr

Üben von DDL und DML. Ergebnis:

Üben von DDL und DML.   Ergebnis: SQL DDL Üben von DDL und DML https://www.jdoodle.com/execute-sql-online Ergebnis: Befehlsgruppen in SQL DDL Data Definition Language DML Data Manipulation Language CREATE: Tabellen anlegen DROP: Tabellen

Mehr

4.Grundsätzliche Programmentwicklungsmethoden

4.Grundsätzliche Programmentwicklungsmethoden 4.Grundsätzliche Programmentwicklungsmethoden 1.1 Grundlage strukturierter und objektorientierter Programmierung Begriff Software Engineering - umfaßt den gezielten Einsatz von Beschreibungsmitteln, Methoden

Mehr

Data Structures and Algorithm Design

Data Structures and Algorithm Design - University of Applied Sciences - Data Structures and Algorithm Design - CSCI 340 - Friedhelm Seutter Institut für Angewandte Informatik Contents 1 Analyzing Algorithms and Problems 2 Data Abstraction

Mehr

Download von Programmen

Download von Programmen Download von Programmen Mit diesem Programm kannst du ABAP-Programme auf deinen PC speichern. Es werden dabei die Texte als auch die Dokumentation berücksichtigt. Jeder Report wird in einer Datei mit der

Mehr

COBOL. Teil 1: Grundlagen

COBOL. Teil 1: Grundlagen COBOL Teil 1: Grundlagen cps4it consulting, projektmanagement und seminare für die informationstechnologie Ralf Seidler, Stromberger Straße 36A, 55411 Bingen Fon: +49-6721-992611, Fax: +49-6721-992613,

Mehr

Word-CRM-Upload-Button. User manual

Word-CRM-Upload-Button. User manual Word-CRM-Upload-Button User manual Word-CRM-Upload for MS CRM 2011 Content 1. Preface... 3 2. Installation... 4 2.1. Requirements... 4 2.1.1. Clients... 4 2.2. Installation guidelines... 5 2.2.1. Client...

Mehr

Übung 3: VHDL Darstellungen (Blockdiagramme)

Übung 3: VHDL Darstellungen (Blockdiagramme) Übung 3: VHDL Darstellungen (Blockdiagramme) Aufgabe 1 Multiplexer in VHDL. (a) Analysieren Sie den VHDL Code und zeichnen Sie den entsprechenden Schaltplan (mit Multiplexer). (b) Beschreiben Sie zwei

Mehr

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

p^db=`oj===pìééçêíáåñçêã~íáçå= p^db=`oj===pìééçêíáåñçêã~íáçå= Error: "Could not connect to the SQL Server Instance" or "Failed to open a connection to the database." When you attempt to launch ACT! by Sage or ACT by Sage Premium for

Mehr

Use of the LPM (Load Program Memory)

Use of the LPM (Load Program Memory) Use of the LPM (Load Program Memory) Use of the LPM (Load Program Memory) Instruction with the AVR Assembler Load Constants from Program Memory Use of Lookup Tables The LPM instruction is included in the

Mehr

Standardtext ins PDF-Format konvertieren

Standardtext ins PDF-Format konvertieren Standardtext ins PDF-Format konvertieren Mithilfe eines Standardreports ist es möglich, einen SAP-Standardtext ins PDF-Format zu konvertieren und abzuspeichern. Der Report RSTXPDFT konvertiert einen Standardtext

Mehr

Order Ansicht Inhalt

Order Ansicht Inhalt Order Ansicht Inhalt Order Ansicht... 1 Inhalt... 1 Scope... 2 Orderansicht... 3 Orderelemente... 4 P1_CHANG_CH1... 6 Function: fc_ins_order... 7 Plug In... 8 Quelle:... 8 Anleitung:... 8 Plug In Installation:...

Mehr

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

p^db=`oj===pìééçêíáåñçêã~íáçå= p^db=`oj===pìééçêíáåñçêã~íáçå= How to Disable User Account Control (UAC) in Windows Vista You are attempting to install or uninstall ACT! when Windows does not allow you access to needed files or folders.

Mehr

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

Umrechnungsfunktionen Simatic S5-Gleitpunkt-Format in S7 Real und zurück Converting Simatic S5 floating point format to S7 real and reverse Standard-Software für Simatic S7 Umrechnungsfunktionen Simatic S5-Gleitpunkt-Format in S7 Real und zurück Converting Simatic S5 floating point format to S7 real and reverse Inhalt / Contents A. Beschreibung

Mehr

In diesem Beispiel wird ein ALV-Grid aufgerufen, das jede Sekunde einen anderen Eintrag aus einer Tabelle anzeigt.

In diesem Beispiel wird ein ALV-Grid aufgerufen, das jede Sekunde einen anderen Eintrag aus einer Tabelle anzeigt. ALV-Grid mit Timer In diesem Beispiel wird ein ALV-Grid aufgerufen, das jede Sekunde einen anderen Eintrag aus einer Tabelle anzeigt. Gelesen wird die komplette Ländertabelle. Im ALV-Grid werden dann nacheinander

Mehr

Released energy meters for PIKO IQ / PLENTICORE plus

Released energy meters for PIKO IQ / PLENTICORE plus Released energy meters for PIKO IQ / PLETICORE plus Version: 03/2018 / Released energy meters Inverter B+G E-Tech GmbH SDM630-Modbus TQ-System GmbH B-control EM 300 LR 1 The energy meter can be used instead

Mehr

Allgemeines. Shell Programmierung Unix. Kommentar. Vorgangsweise. Mag. Thomas Griesmayer

Allgemeines. Shell Programmierung Unix. Kommentar. Vorgangsweise. Mag. Thomas Griesmayer Allgemeines Shell Programmierung Unix Shell Scripts Unix Ein shell script ist eine Textdatei, welche eine Liste von Befehlen (Standard Unix Befehle) beinhaltet. Diese Datei kann durch Aufrufen ausgeführt

Mehr

Forth-2012 Der neue Standard. M. Anton Ertl

Forth-2012 Der neue Standard. M. Anton Ertl Forth-2012 Der neue Standard M. Anton Ertl Was ist ein Standard? Forth Programm Forth Programm Forth2012 Forth-System Was ist Forth-2012? Weiterentwicklung von Forth-94 (ANS Forth) Forth-94-programme sind

Mehr

Algebraische Spezifikation von Software und Hardware II

Algebraische Spezifikation von Software und Hardware II Algebraische Spezifikation von Software und Hardware II Markus Roggenbach Mai 2008 3. Signaturen 3. Signaturen 2 Grundlegende Frage Wie lassen sich Interfaces beschreiben? Signaturen = Sammlung aller bekannten

Mehr

Syntax der Sprache PASCAL

Syntax der Sprache PASCAL Syntax der Sprache PASCAL Buchstaben A B C D E F G H I J K L M N O P Q R S T U V W X Y Z a b c d e f g h i j k l m n o p q r s t u v w x y z Ziffern 0 1 2 3 4 5 6 7 8 9 Sonderzeichen und Wortsymbole +

Mehr

Übersetzerbau Cluj-Napoca, Rumänien 2007

Übersetzerbau Cluj-Napoca, Rumänien 2007 Übersetzerbau Cluj-Napoca, Rumänien 2007 Markus Löberbauer Institut für Systemsoftware Johannes Kepler Universität, 4040 Linz, Österreich Loeberbauer@ssw.jku.at 2007-02-01 Zusammenfassung In dieser Übung

Mehr

ISU 1. Ue_08/02_Datenbanken/SQL. 08 Datenbanken. Übung. SQL Einführung. Eckbert Jankowski. www.iit.tu-cottbus.de

ISU 1. Ue_08/02_Datenbanken/SQL. 08 Datenbanken. Übung. SQL Einführung. Eckbert Jankowski. www.iit.tu-cottbus.de 08 Datenbanken Übung SQL Einführung Eckbert Jankowski www.iit.tu-cottbus.de Datenmodell (Wiederholung, Zusammenfassung) Objekte und deren Eigenschaften definieren Beziehungen zwischen den Objekten erkennen/definieren

Mehr

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

How-To-Do. Hardware Configuration of the CC03 via SIMATIC Manager from Siemens How-To-Do Hardware Configuration of the CC03 via SIMATIC Manager from Siemens Content Hardware Configuration of the CC03 via SIMATIC Manager from Siemens... 1 1 General... 2 1.1 Information... 2 1.2 Reference...

Mehr

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

Exercise (Part I) Anastasia Mochalova, Lehrstuhl für ABWL und Wirtschaftsinformatik, Kath. Universität Eichstätt-Ingolstadt 1 Exercise (Part I) Notes: The exercise is based on Microsoft Dynamics CRM Online. For all screenshots: Copyright Microsoft Corporation. The sign ## is you personal number to be used in all exercises. All

Mehr

Assembler (NASM) Crashkurs von Sönke Schmidt

Assembler (NASM) Crashkurs von Sönke Schmidt Sönke Schmidt (NASM) Crashkurs von Sönke Schmidt Berlin, 4.11.2015 Meine Webseite: http://www.soenke-berlin.de NASM Was ist das? nach Wikipedia: Ein ist ein Programmierwerkzeug, das ein in maschinennaher

Mehr

Übungsstunde: Informatik 1 D-MAVT

Übungsstunde: Informatik 1 D-MAVT Übungsstunde: Informatik 1 D-MAVT Daniel Bogado Duffner Übungsslides unter: n.ethz.ch/~bodaniel Bei Fragen: bodaniel@student.ethz.ch Daniel Bogado Duffner 25.04.2018 1 Ablauf Self-Assessment Pointer Iterators

Mehr

Neues vom STRIP Forth-Prozessor

Neues vom STRIP Forth-Prozessor Neues vom STRIP Forth-Prozessor Tagung der Forth-Gesellschaft März 2014 Bad Vöslau/Österreich Willi Stricker -Prozessor Inhalt 1. STRIP-Befehlssatz Bisher: minimaler Befehlssatz neu: erweiterter Befehlssatz

Mehr

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

R&R. Ges. für Rationalisierung und Rechentechnik mbh. R&R RR-P-508 / ST106-EX1 motor-control unit R&R R&R RR-P-08 / ST06-EX motor-control unit housing wxhxd weight application power supply aluminum anodized approx. 6 x 8 x 8 mm housing similar to ST0 drawing DNR967 approx. 80 g motor desk control unit

Mehr

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

PeakTech Zeitprogramm erstellen über Excel - Beispiel / Timed programs with Excel Example PeakTech 6180 Zeitprogramm erstellen über Excel - Beispiel / Timed programs with Excel Example 1. Excel Datei erstellen / Create Excel file Öffnen Sie Excel und erstellen eine xls-datei unter einem beliebigen

Mehr

Chipkarten mit synchroner Übertragung - Anwendung von Interindustry Commands

Chipkarten mit synchroner Übertragung - Anwendung von Interindustry Commands Teil 7 Chipkarten mit synchroner Übertragung - Anwendung von Interindustry Commands MKT-Version 1.0 15.04.1999 Inhalt 1 Zweck... 1 2 Normative Verweisungen... 1 3 Abkürzungen... 1 4 Das Umsetzungsprinzip...

Mehr

Tube Analyzer LogViewer 2.3

Tube Analyzer LogViewer 2.3 Tube Analyzer LogViewer 2.3 User Manual Stand: 25.9.2015 Seite 1 von 11 Name Company Date Designed by WKS 28.02.2013 1 st Checker 2 nd Checker Version history Version Author Changes Date 1.0 Created 19.06.2015

Mehr

vcdm im Wandel Vorstellung des neuen User Interfaces und Austausch zur Funktionalität V

vcdm im Wandel Vorstellung des neuen User Interfaces und Austausch zur Funktionalität V vcdm im Wandel Vorstellung des neuen User Interfaces und Austausch zur Funktionalität V0.1 2018-10-02 Agenda vcdm User Interface History Current state of User Interface User Interface X-mas 2018 Missing

Mehr

Bemerkungen zu den Übergabeparametern 2 FORTRAN gestattet auch, Funktionen als Übergabeparameter zu behandeln, sofern sie mit

Bemerkungen zu den Übergabeparametern 2 FORTRAN gestattet auch, Funktionen als Übergabeparameter zu behandeln, sofern sie mit Bemerkungen zu den Übergabeparametern 2 FORTRAN gestattet auch, Funktionen als Übergabeparameter zu behandeln, sofern sie mit EXTERNAL im rufenden Programm deklariert wurden auch intrinsische

Mehr

Programmier-Befehle - Woche 10

Programmier-Befehle - Woche 10 Funktionen Rekursion Selbstaufruf einer Funktion Jeder rekursive Funktionsaufruf hat seine eigenen, unabhängigen Variablen und Argumente. Dies kann man sich sehr gut anhand des in der Vorlesung gezeigten

Mehr

How-To-Do. Communication to Siemens OPC Server via Ethernet

How-To-Do. Communication to Siemens OPC Server via Ethernet How-To-Do Communication to Siemens OPC Server via Content 1 General... 2 1.1 Information... 2 1.2 Reference... 2 2 Configuration of the PC Station... 3 2.1 Create a new Project... 3 2.2 Insert the PC Station...

Mehr

Informatik I: Einführung in die Programmierung 3. Werte, Typen, Variablen und Ausdrücke

Informatik I: Einführung in die Programmierung 3. Werte, Typen, Variablen und Ausdrücke Informatik I: Einführung in die Programmierung 3. Werte,, n und Albert-Ludwigs-Universität Freiburg Peter Thiemann 30. Oktober 2018 1 30. Oktober 2018 P. Thiemann Info I 3 / 39 Bits Der Computer repräsentiert

Mehr

Doppelklick auf eine Klasse verzweigt in den Class Builder (Transaktion SE24).

Doppelklick auf eine Klasse verzweigt in den Class Builder (Transaktion SE24). Vererbungsübersicht Folgendes kleine Programm zeigt die Vererbungshierarchien von Klassen auf. Die Root- oder Super- Klasse wird auf der obersten Ebene angezeigt. Darunter werden die von ihr erbenden Klassen

Mehr

How-To-Do. OPC-Server with MPI and ISO over TCP/IP Communication. Content. How-To-Do OPC-Server with MPI- und ISO over TCP/IP Communication

How-To-Do. OPC-Server with MPI and ISO over TCP/IP Communication. Content. How-To-Do OPC-Server with MPI- und ISO over TCP/IP Communication How-To-Do OPC-Server with MPI and ISO over TCP/IP Content OPC-Server with MPI and ISO over TCP/IP... 1 1 General... 2 1.1 Information... 2 1.2 Reference... 2 2 Procedure for the Setup of the OPC Server...

Mehr

Informationen zur Verwendung des TFE-Portals / Information for Using the TFE portal

Informationen zur Verwendung des TFE-Portals / Information for Using the TFE portal Informationen zur Verwendung des TFE-Portals / Information for Using the TFE portal Inhalt / Content Vorraussetzungen für Java Web Start /... 3 Prerequisited for Java-WebStart... 3 Datenempfang /... 3

Mehr

Weather forecast in Accra

Weather forecast in Accra Weather forecast in Accra Thursday Friday Saturday Sunday 30 C 31 C 29 C 28 C f = 9 5 c + 32 Temperature in Fahrenheit Temperature in Celsius 2 Converting Celsius to Fahrenheit f = 9 5 c + 32 tempc = 21

Mehr

DIBELS TM. German Translations of Administration Directions

DIBELS TM. German Translations of Administration Directions DIBELS TM German Translations of Administration Directions Note: These translations can be used with students having limited English proficiency and who would be able to understand the DIBELS tasks better

Mehr

ajanzen.com Umgang mit zur Laufzeit erstellen Selektions-, Sortier- und IF-Bedingungen

ajanzen.com Umgang mit zur Laufzeit erstellen Selektions-, Sortier- und IF-Bedingungen ajanzen.com Umgang mit zur Laufzeit erstellen Selektions-, Sortier- und IF-Bedingungen ajanzen.com 1 Einleitung In dem vorliegenden Dokument möchte ich auf die Möglichkeiten des Erstellens dynamischer

Mehr

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

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

Mehr

Erzeugung von Zufallszahlen mit RANUNI()

Erzeugung von Zufallszahlen mit RANUNI() News Artikel Foren Projekte Links Über Redscope Join List Random Previous Next Startseite Foren Allgemeine Fragen zu SAS Erzeugung von Zufallszahlen mit RANUNI() 20 March, 2007-11:10 ido123 Sehr geehrte

Mehr

Logging und Debugging. Gerd Volberg OPITZ CONSULTING Deutschland GmbH

Logging und Debugging. Gerd Volberg OPITZ CONSULTING Deutschland GmbH Logging und Debugging Gerd Volberg OPITZ CONSULTING Deutschland GmbH Bochum, 20. Februar 2014 OPITZ CONSULTING GmbH Seite 1 Agenda 1. Logging Datenmodell Tabellen Views 2. Debugging Debug-Package Funktionen

Mehr

Umstellung eines Outlook Kontos von ActiveSync zu IMAP. Changing an Outlook account from ActiveSync to IMAP

Umstellung eines Outlook Kontos von ActiveSync zu IMAP. Changing an Outlook account from ActiveSync to IMAP Outlook 2013/2016 Umstellung eines Outlook Kontos von ActiveSync zu IMAP Changing an Outlook account from ActiveSync to IMAP 18.04.2018 kim.uni-hohenheim.de kim@uni-hohenheim.de Diese Anleitung beschreibt

Mehr

Kommunikation von Prozessen: Signale und Pipes

Kommunikation von Prozessen: Signale und Pipes Netzwerk-Programmierung Kommunikation von Prozessen: Signale und Pipes Alexander Sczyrba Michael Beckstette {asczyrba,mbeckste}@techfak.uni-bielefeld.de Kommunikation von Prozessen Parent- und Child-Prozess

Mehr

Ideal Message Schweiz EDI Implementation Documentation

Ideal Message Schweiz EDI Implementation Documentation Ideal Message Schweiz EDI Implementation Documentation based on EANCOM 2002 S3; D.01B Beschreibung Segment Details Beispiel-Segmente Änderungverzeichnis Version 3.0.2 Variant final Ausgabe 30.09.2008 Druck

Mehr

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

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

Mehr

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

1. Definition. 2. Interne Speicherung der Zeichenketten. 3. Vereinbarung von Zeichenketten 1. Definition Eine Zeichenkette (String) ist eine Aufeinanderfolge von darstellbaren Zeichen, die sequentiell im Speicher angeordnet sind und gemeinsam angesprochen werden. Jedes einzelne Zeichen wird

Mehr

Effizientes Arbeiten mit dem Emacs. Suchen und Ersetzen.

Effizientes Arbeiten mit dem Emacs. Suchen und Ersetzen. Effizientes Arbeiten mit dem Emacs Suchen und Ersetzen Rainer Orth Alexander Sczyrba {ro,asczyrba}@techfak.uni-bielefeld.de Suchmethoden Simple Search Emacs springt an das nächste Vorkommen des angegebenen

Mehr

MATLAB driver for Spectrum boards

MATLAB driver for Spectrum boards MATLAB driver for Spectrum boards User Manual deutsch/english SPECTRUM SYSTEMENTWICKLUNG MICROELECTRONIC GMBH AHRENSFELDER WEG 13-17 22927 GROSSHANSDORF GERMANY TEL.: +49 (0)4102-6956-0 FAX: +49 (0)4102-6956-66

Mehr

LCD Display 20x4 mit Buttons

LCD Display 20x4 mit Buttons Ausgabe 10.11.2017 Copyright by Joy-IT 1 Index 1. Anschluss des Displays 2. Installation des Systems 3. Verwendung & Beispiel-Code 4. Support Ausgabe 10.11.2017 Copyright by Joy-IT 2 Sehr geehrter Kunde,

Mehr

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

THEMA: GUT VORBEREITET IST HALB ZERTIFIZIERT ANTWORTEN ZUR SAS VISUAL ANALYTICS-ZERTIFIZIERUNG THOMAS WENDE WEBINAR@LUNCHTIME THEMA: GUT VORBEREITET IST HALB ZERTIFIZIERT ANTWORTEN ZUR SAS VISUAL ANALYTICS-ZERTIFIZIERUNG" THOMAS WENDE EBINAR@LUNCHTIME HERZLICH WILLKOMMEN BEI WEBINAR@LUNCHTIME Moderation Anne

Mehr

JAVA Look & Feel Design Guidelines

JAVA Look & Feel Design Guidelines JAVA Look & Feel Design Guidelines Stefan Diener / Jul 24, 2007 / Page 1 Überblick Motivation Abstände Labels Allgemeine Regeln für Dialoge Toolbar & Menüs Shortcuts & Mnemonics Texte im GUI Weitere interessante

Mehr

Effizientes Arbeiten mit dem Emacs. Suchen und Ersetzen.

Effizientes Arbeiten mit dem Emacs. Suchen und Ersetzen. Effizientes Arbeiten mit dem Emacs Suchen und Ersetzen Rainer Orth Alexander Sczyrba {ro,asczyrba}@techfak.uni-bielefeld.de Suchmethoden Simple Search Emacs springt an das nächste Vorkommen des angegebenen

Mehr

Übungsblatt 8- Lösungsvorschlag

Übungsblatt 8- Lösungsvorschlag Universität Innsbruck - Institut für Informatik Prof. Günther Specht, R.Binna, N.Krismer, M. Tschuggnall 30. November 2012 Proseminar Datenbanksysteme Übungsblatt 8- Lösungsvorschlag Aufgabe 1 (Trigger)

Mehr

USB I2C Spy V1.0 Manual

USB I2C Spy V1.0 Manual USB I2C Spy V1.0 Manual (Preliminary) Coptonix GmbH Luxemburger Str. 31 D 13353 Berlin Phone: +49 (0)30 61 74 12 48 Fax: +49 (0)30 61 74 12 47 www.coptonix.com support@coptonix.com 2 Installation des USB

Mehr

Transaktionen in Praxis. Dr. Karsten Tolle Vorl

Transaktionen in Praxis. Dr. Karsten Tolle Vorl Transaktionen in Praxis Dr. Karsten Tolle Vorl. 13.06.2017 Probleme bei Transaktionen Lost Update und Inconsistent Retrieval Sichtweise vom Benutzer Auszug aus SQL 92 1) P1 ("Dirty read"): SQL-transaction

Mehr

Dateneingabe und Transformation Übersicht

Dateneingabe und Transformation Übersicht Dateneingabe und Transformation Übersicht 2.0 Allgemeine 2.1 Eingabe über die 2.2 2.3 Eingabe eines externen ASCII-Files 2.4 Varianten der INPUT-Anweisung, Formatierungselemente 2.5 Ein- und Ausgabe von

Mehr

Electrical testing of Bosch common rail piezo injectors

Electrical testing of Bosch common rail piezo injectors Applies to generation CRI 3: Bosch 10-position order number 0 445 115 = CRI 3-16 (CRI 3.0) 1600 bar 0 445 116 = CRI 3-18 (CRI 3.2) 1800 bar 0 445 117 = CRI 3-20 (CRI 3.3) 2000 bar Tools required: Hybrid

Mehr

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

UE Algorithmen und Datenstrukturen 1 UE Praktische Informatik 1. Übung 2. Spezifikation Schrittweise Verfeinerung UE Algorithmen und Datenstrukturen 1 UE Praktische Informatik 1 Übung 2 Spezifikation Schrittweise Verfeinerung Institut für Pervasive Computing Johannes Kepler Universität Linz Altenberger Straße 69,

Mehr

Sprungbefehle und Kontroll-Strukturen

Sprungbefehle und Kontroll-Strukturen Sprungbefehle und Kontroll-Strukturen Statusregister und Flags Sprungbefehle Kontrollstrukturen Das Status-Register 1 Register-Satz des ATmega128 Universal-Register (8Bit) R0..R15 16 Bit Program counter

Mehr

Android APP NVR Viewer

Android APP NVR Viewer Android APP NVR Viewer User Manual DN-16111 DN-16112 DN16113 2 DN-16111, DN-16112, DN-16113 for Android User Manual Table of Contents Download the APP... 3 Running the app - Add NVR... 3 Running the app

Mehr

Einstieg in die Informatik mit Java

Einstieg in die Informatik mit Java Vorlesung vom 18.4.07, Grundlagen Übersicht 1 Kommentare 2 Bezeichner für Klassen, Methoden, Variablen 3 White Space Zeichen 4 Wortsymbole 5 Interpunktionszeichen 6 Operatoren 7 import Anweisungen 8 Form

Mehr

Dexatek's Alexa Smart Home Skills Instruction Guide

Dexatek's Alexa Smart Home Skills Instruction Guide Dexatek's Alexa Smart Home Skills Instruction Guide Version 0.3 Author Esther Date 01/10/18 ~ 1 ~ Revision History Version Date Editor Remark 0.1 2017/04/05 Esther Initial version 0.2 2018/01/09 Esther

Mehr