COBOL für Fortgeschrittene. Übungen zur Schulung

Ähnliche Dokumente
COBOL Grundlagen. Übungen zur Schulung

z/os Dienstprogramme Übungen zur Schulung

COBOL. Teil 2: Strukturen, Unterprogramme und Compiler

COBOL Programmierte Unterweisung

Programmieren mit COBOL

DB2 for z/os. Musterlösungen zu den Übungen

6. Zeiger Allgemeines Definition eines Zeigers

Vorwort 11 1 Einleitung Überblick Hardwareausstattung Softwarebausteine Programmentwicklung 19

DB2 for z/os. Übungen zur Schulung

Wissenswertes über binäre Felder

COBOL. Teil 2: Strukturen, Unterprogramme und Compiler

5 DATEN Variablen. Variablen können beliebige Werte zugewiesen und im Gegensatz zu

M. Graefenhan Übungen zu C. Blatt 3. Musterlösung

Anleitung CSV-Import KLR-Zuordnungen - Version: Draft

GI Vektoren

Übungspaket 32 Einfach verkettete, sortierte Liste

Übungen für die Einführung in die Assemblerprogrammierung mit dem Prozessor c515c

Institut für Programmierung und Reaktive Systeme 26. April Programmieren II. 10. Übungsblatt

Hochschule Darmstadt Informatik-Praktikum (INF 1) WS 2015/2016 Wirtschaftsingenieur Bachelor 5. Aufgabe Datenstruktur, Dateieingabe und -ausgabe

Arrays, Zeiger und Funktionen (call by reference)

Erste Schritte der Programmierung in C

Einführung in die C-Programmierung

Praktische Übung. Die Lernplattformen ILIAS ist mit Stud.IP verbunden, sodass Sie Lernmodule dieser Plattform

Wissenswertes über binäre Felder

2. Programmierung in C

Datenbankprogrammierung mit MySQL 5 und PHP 5 Spona

Übungsblatt 1. Java Vorkurs (WS 2017)

Hochschule Darmstadt Informatik-Praktikum (INF 1) WS 2014/2015 Wirtschaftsingenieur Bachelor 4. Aufgabe Datenstruktur, Dateieingabe und -ausgabe

Es gibt immer einen Schlüssel und einen zugehörigen Wert,

Vorlesung Objektorientierte Programmierung Klausur

Strings. Daten aus Dateien einlesen und in Dateien speichern.

Einstieg in die Informatik mit Java

Grundlagen der OO- Programmierung in C#

Funktionen in JavaScript

Grundlagen der Informatik

Inhalt. 4.5 Arbeit mit Zeigern (engl. Pointer)

Übersicht Shell-Scripten

Warum dieses Projekt

Shell. Oder Konsole suchen im Application Finder. Auch Terminal, Bash oder Kommandozeile genannt. Bash nimmt Befehle entgegen und führt diese aus

Übungspaket 14 Eindimensionale Arrays

PHP Übungsaufgabe 2 1 / 5. Doing Web Apps. PHP Übungsaufgabe 2

Warum dieses Projekt

Felder, Zeiger und Adreßrechnung

Viel Erfolg bei der Bearbeitung der Aufgaben!

Arrays. Arrays werden verwendet, wenn viele Variablen benötigt werden. Der Vorteil in Arrays liegt darin, dass man nur eine Variable deklarieren muss

Ausgabe:

VWA Rhein-Neckar Dipl.-Ing. Thomas Kloepfer. Kommunikation I (Internet) Übung 5 Formulare

Übungspaket 20 Zeiger und Zeigervariablen

Hochschule Darmstadt Informatik-Praktikum WS 2017/2018 WIng Bachelor 6. Aufgabenblatt Zeiger, verkettete Liste, Dateieingabe und -ausgabe

Einführung in die Programmierung WS 2009/10. Übungsblatt 7: Imperative Programmierung, Parameterübergabe

Common Business Oriented Language. Teil 1 - Einführung

Makro + VBA 2007 effektiv

Programmiertechnik. Teil 4. C++ Funktionen: Prototypen Overloading Parameter. C++ Funktionen: Eigenschaften

Aufgabenblatt 3. Kompetenzstufe 1. Allgemeine Informationen zum Aufgabenblatt:

Die Sprache C# Datentypen, Speicherverwaltung Grundelemente der Sprache. Dr. Beatrice Amrhein

Objektorientierte Programmierung. Agenda für heute, 1. April, Eines der drei wichtigsten Programmierparadigmen

Eine praktische Einführung in die Programmierung mit der Programmiersprache C

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

Übungspaket 23 Mehrdimensionale Arrays

Übungen zur Vorlesung EidP (WS 2015/16) Blatt 6

Übersicht PERL. !!!! Wichtig: Nach dem Befehl einem Strichpunkt setzen!!!!

Ralf Kirsch Uwe Schmitt. Programmieren inc. Eine mathematikorientierte Einführung. Mit 24 Abbildungen und 13 Tabellen. Springer

» ASCII = American Standard Code for Information Interchange.» ASCII ist Standard in Windows und Unix (und Unix-Derivaten).» ASCII ist eigentlich ein

Datenbank und Tabelle mit SQL erstellen

F Zeiger, Felder und Strukturen in C

Datumsangaben, enthält mindestens Jahr, Monat, Tag

1 Einführung 1. 2 Einrichten der Arbeitsumgebung 9. 3 Schnelleinstieg in Xcode und Objective-C 25

Einführung in die Programmierung für NF MI. Übung 07

Funktionen in JavaScript

Zeiger (engl. Pointer)

int i=1; //Integerzahl i anlegen und mit 1 initialisieren float wert; //Floatzahl deklarieren scanf( %f,&wert); //Wert über Tastatur eingeben

Eine Mini-Shell als Literate Program

Serielle Kommunikation - Kodierung

Klausur. 2. Aufgabe (3 Punkte) Ergänzen Sie die leeren Zellen derart, dass sich in einer Zeile die selben Zahlenwerte ergeben.

Vorsemesterkurs Informatik Übungsaufgaben. Tag 4a - Python

Funktionen nur wenn dann

Datenbank konfigurieren

Die Sprache C# Datentypen, Speicherverwaltung Grundelemente der Sprache. Dr. Beatrice Amrhein

Einführung in den Einsatz von Objekt-Orientierung mit C++ I

CEN1112 Labor Software-Entwicklung

Codegenerierung mit Xtend. 21. Januar 2015

Strukturen in C. Strukturen stellen eine Zusammenfassung von Datenelementen unterschiedlichen Typs unter einem Namen dar.

Das Grundlagenbuch zu FileMaker Pro 7- Datenbanken erfolgreich anlegen und verwalten

Verwendung Vereinbarung Wert einer Funktion Aufruf einer Funktion Parameter Rekursion. Programmieren in C

Durch die Möglichkeit, Ein- und Ausgaben auf der Konsole durchzuführen, kann man auch systematisch das Verhalten von Klassen analysieren.

Algorithmen und Datenstrukturen I. Blatt 2. Prof. Dr. Oliver Braun. Fakultät für Informatik und Mathematik Hochschule München

Grundlagen der Programmierung

Übungspaket 23 Mehrdimensionale Arrays

01 Einführung in PHP. Einführung in PHP 1/13 PHP in Aktion

Entwickeln Sie ein C/C++-Programm für die Verwaltung einer Artikeldatei gemäß folgender Vorgaben!

Übungen zur Vorlesung Einführung in die Informatik Wintersemester 2010/11

Einführung in die Programmierung

ondaf Der Online-Einstufungstest Deutsch als Fremdsprache

Klausur: Grundlagen der Informatik I, am 06. Februar 2009 Gruppe: A Dirk Seeber, h_da, Fb Informatik. Nachname: Vorname: Matr.-Nr.

Aufgaben zur C-Programmierung für die Praktikumsperiode des 1.Semesters

Elementare Datentypen in C++

Direct Access Suite. Dokumentation

Format: EasyShip DOS & 4.5 Format (.txt) Import von Empfängeradressen Harmonisiertes Adressbuch

Einführung in die Programmiersprache C

Entwicklerhandbuch Kernprüfung

Transkript:

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 Internet : http://www.cps4it.de Steuernummer: 08/220/2497/3, Finanzamt Bingen, Ust-ID : DE214792185

COBOL für Fortgeschrittene Diese Seite bleibt frei 23. Oktober 2011 Seite 2 von 12

Inhaltsverzeichnis COBOL für Fortgeschrittene 1 VORBEREITUNGEN 5 1.1 ANMELDEN UND TEST DER USER-IDEN 5 1.2 BIBLIOTHEK FÜR ÜBUNGSAUFGABEN ERSTELLEN 5 1.3 BIBLIOTHEK FÜR JOBCONTROL ERSTELLEN 5 2 STRUKTUREN UND TABELLEN 6 2.1 KUNDENSTAMMSATZ (COPYBOOK) 6 2.2 INITIALISIEREN VON STRUKTUREN 6 2.3 ERWEITERN VON STRUKTUREN 7 2.4 DEFINIEREN EINER JAHRESTABELLE 7 2.5 JAHRESTABELLE MIT SUBSCRIPTEN 7 2.6 JAHRESTABELLE DURCHSUCHEN 8 2.7 TABELLE MIT VARIABLER SATZANZAHL 8 3 ZEICHENKETTEN 9 3.1 INSPECT 9 3.2 STRING / UNSTRING 9 3.3 STRING / UNSTRING BESTIMMTE ZAHLENFOLGEN 9 4 COMPILER 10 4.1 COMPILE-OPTIONEN 10 4.2 TRUNC 10 5 UNTERPROGRAMME 11 5.1 STADTVERWALTUNGSDATEI VERARBEITEN 1 11 5.2 STADTVERWALTUNGSDATEI VERARBEITEN 2 11 5.3 DATENKAPSELUNG 11 6 PERFORMANCE 12 6.1 NUMMERISCHE DATEN 12 6.2 INITIALISIEREN 12 23. Oktober 2011 Seite 3 von 12

COBOL für Fortgeschrittene Diese Seite bleibt frei 23. Oktober 2011 Seite 4 von 12

COBOL für Fortgeschrittene 1 Vorbereitungen 1.1 Anmelden und Test der User-Iden Melden Sie sich nach Vorgabe im TSO an. Melden Sie sich wieder ab und erneut wieder an. Konfigurieren Sie Ihre TSO-Session, wie Sie am besten arbeiten können. Testen Sie, ob Sie auf die Dateien des Referenten lesend zugreifen können. 1.2 Bibliothek für Übungsaufgaben erstellen Erstellen Sie eine PO-Datei, um die Übungsaufgaben dieses Seminars aufnehmen zu können. Name der Bibliothek Satzlänge Satzformat Dateigröße Directory Kontrollieren Sie das Ergebnis. userid.kurs.cobol 80 Byte fest geblockt 5 Spuren primär, 2 Spuren sekundär Platz für 30 Member 1.3 Bibliothek für Jobcontrol erstellen Erstellen Sie eine PO-Datei, um die Übungsaufgaben dieses Seminars aufnehmen zu können. Name der Bibliothek Satzlänge Satzformat Dateigröße Directory Kontrollieren Sie das Ergebnis. userid.kurs.jclcobol 80 Byte fest geblockt 5 Spuren primär, 2 Spuren sekundär Platz für 30 Member 23. Oktober 2011 Seite 5 von 12

2 Strukturen und Tabellen COBOL für Fortgeschrittene 2.1 Kundenstammsatz (Copybook) Member: COP12x1 Erstellen Sie ein Copybook in SCLM mit folgendem Aufbau: Feldname Typ Größe Nachname alphanumerisch 20 Zeichen Vorname alphanumerisch 20 Zeichen Kundennummer-1 nummerisch 4 Ziffern Kundennummer-2 nummerisch 2 Ziffern Kundennummer-3 alphanumerisch 1 Zeichen Kundennummer-4 nummerisch 3 Ziffern Kunde seit nummerisch 8 Ziffern Postleitzahl alphanumerisch 10 Zeichen Ort alphanumerisch 20 Zeichen Straße alphanumerisch 20 Zeichen Hausnummer alphanumerisch 5 Zeichen Ziehen Sie das Copybook in einem bestehenden Programm an und korrigieren Sie eventuelle Fehler in der Struktur. 2.2 Initialisieren von Strukturen Member: PGM1201 Initialisieren Sie das Copybook COP1201 einmal mit MOVE und einmal mit INITIALIZE. Testen Sie die Laufzeit des Programms, indem Sie es bis zu 10.000.000 Mal laufen lassen. Welcher Code ist schneller? 23. Oktober 2011 Seite 6 von 12

2.3 Erweitern von Strukturen Member: COPY1202 COBOL für Fortgeschrittene Der Kundenstammsatz soll um Kontonummern erweitert werden. Die Kontonummer ist 9 Stellen nummerisch. Der Kunde kann bis zu 10 Kontonummern haben, wobei er für jede Kontonummer eine separate Anschrift haben kann. Definieren Sie die neue Struktur, initialisieren Sie diese mit MOVEs und INI- TIALIZE und vergleichen Sie die Laufzeiten. Nutzen Sie den Maschinen-Index. 2.4 Definieren einer Jahrestabelle Member: PGM1202 Legen Sie ein neues Programm an. Darin definieren Sie eine Tabelle mit 52 Wochen und 7 Tagen. Die Felder auf der untersten Ebene sollen als Werte den Wochentag, den laufenden Tag der Woche und den laufenden Tag des Jahres aufnehmen. Initialisieren Sie die Tabelle geschickt für das Jahr 2004. Nutzen Sie den Maschinen-Index. 2.5 Jahrestabelle mit Subscripten Member: PGM1203 Für die vorher genannten Tabellen haben Sie den (Maschinen)Index benutzt. Arbeiten Sie jetzt mit Subscripten. Wählen Sie unterschiedliche Definitionen dafür. Lassen Sie die Verarbeitungen bis zu 10.000.000 Mal laufen und vergleichen Sie die Laufzeiten. 23. Oktober 2011 Seite 7 von 12

2.6 Jahrestabelle durchsuchen Member: PGM1204 COBOL für Fortgeschrittene Suchen Sie in der Wochen/Tage-Tabelle den Tag des Jahres, den Sie über SYSIN einlesen. Nutzen Sie den SEARCH-Befehl. Nutzen Sie binäres Suchen. Kodieren Sie den Such-Algorithmus per Hand. Was ist der schnellste Weg? 2.7 Tabelle mit variabler Satzanzahl Member: PGM1205 Legen Sie in dem Programm aus dem Grundlagen-Kurs eine Section an, in der Sie die Verarbeitung mit variabler Satz-Anzahl kodieren. Nutzen Sie die Datei der Stadtverwaltung. Achten Sie auf die richtige Definition der Zähler. Kann die Logik anders als im Beispiel kodiert werden? Welche Werte stehen nach der Schleife in den Zählern? Gibt es Unterschiede je nach Art der Kodierung? 23. Oktober 2011 Seite 8 von 12

3 Zeichenketten 3.1 Inspect COBOL für Fortgeschrittene Member: PGM1301 (Basis: PGM1204) Legen Sie eine Section (bzw. mehrere Sections) an, in der Sie verschiedene Formen des INSPECT ausprobieren. Beispiele: Wochentage (MO, DI) in (01, 02) verändern. Monatsnamen in 01, 02 verändern. Geht das? Suchen Stelle, in der der Monat Mai in der Wochen/Monatstabelle auftritt. Datei einlesen. Alle blanks werden in low-value verändert. Gleichzeitig sollen alle low-values in blanks umgesetzt werden. Funktion 2 Mal laufen lassen. Ist der alte Inhalt wieder da? 3.2 String / Unstring Member: PGM1302 Legen Sie in einem neuen Programm eine Section an, in der Sie Ihre Adresse, getrennt durch einen Stern zusammensetzen. Legen Sie eine weitere Section an, in der Sie die zusammen gesetzte Adresse wieder auseinander nehmen. Schaffen Sie es, den ursprünglichen Zustand wieder herzustellen? Gibt es Fälle, bei denen das nicht erfolgreich ist? 3.3 String / Unstring bestimmte Zahlenfolgen Member: PGM1303 Für eine bestimmte Anwendung müssen beginnend ab 1 bis zu einer Zahl x, die durch 4 teilbar sein muss, zwei Zeilen ausgegeben werden: 1;2;5;6;9;10;13;14; etc. 3;4;7;8;11;12;15;16 etc. Wie groß darf x maximal sein, wenn die Zeilen kleiner als 80 sein müssen? Wenn die Zeilen größer als 80 werden, geben Sie die Ausgabe mehrzeilig aus. 23. Oktober 2011 Seite 9 von 12

COBOL für Fortgeschrittene 4 Compiler 4.1 Compile-Optionen Sehen Sie sich das Compile-Menü / die SCLM-Methoden näher an. Nehmen Sie ein beliebiges eigenes Programm und compilieren (und testen) Sie es mit unterschiedlichen Optionen. Nehmen Sie ein Programm, das mit einem Subscript fehlerhaft arbeitet und testen Sie dieses mit SSRANGE. (PGM0703 / P96N701) Fehlermeldung beachten. 4.2 Trunc Member: PGM1401 Testen Sie die maximalen Werte eines binären Feldes mit den Einstellungen TRUNC(STD) und TRUNC(BIN). Wandeln Sie Ihr Programm mit der Option LIST um. Schauen Sie sich das Ergebnis an. Wandeln Sie Ihr Programm mit der Option LIST und achten Sie auf die Unterschiede NUMPROC(PFD) NUMPROC(NOPFD) 23. Oktober 2011 Seite 10 von 12

5 Unterprogramme COBOL für Fortgeschrittene 5.1 Stadtverwaltungsdatei verarbeiten 1 Member: PGM1501 / PGM15011 Schreiben Sie ein Programm, das ein Unterprogramm aufruft. Im Hauptprogramm lesen Sie die Daten der Stadtverwaltung mit READ ein. Das Unterprogramm wird für Satzart-1 = 1 aufgerufen. Dieses soll die übergebenen Daten in einer lesbaren Form ausgeben. Nur für R+V: Denken Sie daran, das Unterprogramm im SCLM korrekt zu definieren. Nur für Commerzbank: Denken Sie daran, das Unterprogramm im Datenhaushalt bekannt zu geben. 5.2 Stadtverwaltungsdatei verarbeiten 2 Member: PGM1501/ PGM15011 / PGM15012 / PGM15013 Erweitern Sie das Hauptprogramm, indem es eine Verarbeitungsart über ACCEPT einliest: 1 = Standesamt 2 = Einwohnermeldeamt 3 = Polizeiamt Für jede Verarbeitungsart soll es ein separates Unterprogramm geben, das die Daten ausgibt. 5.3 Datenkapselung Member: PGM1502/ PGM15021 / PGM15022 / PGM15023 Testen Sie ein Programm mit einem Unterprogramm, das ein Feld by content und eines by reference übergibt. Im Hauptprogramm und im Unterprogramm werden die Felder jeweils unterschiedlich gesetzt. Drucken Sie sich die Feldinhalte jeweils vor und nach der Modifikation und vor und nach dem UP-Aufruf an. 23. Oktober 2011 Seite 11 von 12

COBOL für Fortgeschrittene 6 Performance 6.1 nummerische Daten Member: PGM1601 Schreiben Sie ein kleines Programm, in dem 2 mal 3 Felder mit den Definitionen PIC S9(09), PIC S9(09) PACKED-DECIMAL, PIC S9(08) BINARY enthalten sind. Übertragen Sie die Inhalte des ersten Blocks in jedes Feld des zweiten Blocks. Lassen Sie das jeweils 10.000.000 Mal laufen und vergleichen Sie. Prüfen Sie eventuell den ASM Code. 6.2 Initialisieren Member: PGM1602 Definieren Sie eine Tabelle, die Sie initialisieren. Tun Sie dieses unterschiedlich und schauen Sie sich bei 10.000.000 Aufrufen die Unterschiede in der CPU-Zeit an. 23. Oktober 2011 Seite 12 von 12