Bättre COBOL. monitors. Peter Sterwe. training people

Relevanta dokument
COBOL. från grunden. monitors. Peter Sterwe. training people

DL/I programmering. från grunden. monitors. Peter Sterwe. training people

15-1. MONITOR IT-utbildning

Övningar MONITOR IT-utbildning, Cobolskolan Sverige, B1-1

z/os JCL och Utilities

Övningar MONITOR IT-utbildning, Cobolskolan Sverige, B1-1

TDDC77 Objektorienterad Programmering

Programstruktur och terminologi. Programmet producerar följande utskrift i terminalfönstret: Ett Javaprogram består av en eller flera klasser

Tillämpad Programmering (ID1218) :00-13:00

Övningar II MONITOR IT-utbildning, Cobolskolan Sverige, B2-1

Idag: Dataabstraktion

Objektorienterad Programmering (TDDC77)

i LabVIEW. Några programmeringstekniska grundbegrepp

Agenda. Arrayer deklaration, åtkomst Makron Flerdimensionella arrayer Initiering Strängar Funktioner och arrayer. Övningar nu och då

TDDC77 Objektorienterad Programmering

Programmeringsteknik med C och Matlab

Per Holm Lågnivåprogrammering 2014/15 24 / 177. int och double = = 2, 147, 483, 647

Inledande programmering med C# (1DV402) Summera med while"-satsen

Övning från förra gången: readword

Programmeringsteknik med C och Matlab

Dagens föreläsning. Diverse Common Lisp. Konstanter, parametrar, globala variabler

Objektorienterad Programmering (TDDC77)

#include <stdio.h> #include <string.h>

I Skapa Hej.java och skriv programmet. I Kompilera med javac Hej.java. I Rätta fel och repetera tills du lyckas kompilera ditt program

Tentamen Grundläggande programmering

TDDC30. Objektorienterad programmering i Java, datastrukturer och algoritmer. Föreläsning 3 Jonas Lindgren, Institutionen för Datavetenskap, LiU

Digitalitet. Kontinuerlig. Direkt proportionerlig mot källan. Ex. sprittermometer. Elektrisk signal som representerar ljud.

Språket Python - Del 2 Grundkurs i programmering med Python

Introduktion till programmering SMD180. Föreläsning 8: Listor

Föreläsning 2 Programmeringsteknik och C DD1316. Mikael Djurfeldt

Sammanfattning. Listor. List-manipulering. Matris. /home/lindahlm/activity-phd/teaching/11dd1310/exercise3/exercise3.py September 13, 20111

TDDC74 Programmering: Abstraktion och modellering Datortenta , kl 14-18

Alla datorprogram har en sak gemensam; alla processerar indata för att producera något slags resultat, utdata.

732G Linköpings universitet 732G11. Johan Jernlås. Översikt. Repetition. Exempelduggan. Luffarschack. Koda spel

Styrteknik: MELSEC FX och numeriska värden

Föreläsningsmaterial (Syntax och variabler)

Visual Basic, en snabbgenomgång

Översikt över Visual Basic

729G04 PYTHON 6 JODY FOO. Department of Computer and Information Science (IDA) Linköping University, Sweden

Datatyper och kontrollstrukturer. Skansholm: Kapitel 2) De åtta primitiva typerna. Typ Innehåll Defaultvärde Storlek

Variabler. TANA81: Beräkningar med Matlab. Matriser. I Matlab skapas en variabel genom att man anger dess namn och ger den ett värde:

Användarhandledning Version 1.2

Språket Python - Del 1 Grundkurs i programmering med Python

Uppgift 1 ( Betyg 3 uppgift )

Grundkurs i programmering, 6 hp (725G61) Dugga 2 tillfälle 2

PROGRAMMERING-Java Omtentamina

Lågnivåprogrammering. Föreläsning 2 Lågnivåprogrammering. Binära tal. En enkel modell av datorns inre

Att använda pekare i. C-kod

Det är principer och idéer som är viktiga. Skriv så att du övertygar rättaren om att du har förstått dessa även om detaljer kan vara felaktiga.

Programmering C: Tentamen of 5 Prioritet och associativitet hos operatorerna i C De viktigaste operatorerna: Prioritet Kategori Operator

Tentamen i. för D1 m fl, även distanskursen. fredag 13 januari 2012

Repetition C-programmering

Introduktion till formella metoder Programmeringsmetodik 1. Inledning

Grundläggande programmering med C# 7,5 högskolepoäng

732G Linköpings universitet 732G11. Johan Jernlås. Översikt. Repetition. Felsökning. Datatyper. Referenstyper. Metoder / funktioner

Instruktioner - Datortentamen TDDD73 Funktionell och imperativ programmering i Python TDDE24 Funktionell och imperativ programmering del 2

Parameteröverföring. Exempel. Exempel. Metodkropp

Obs! Inget ur Javas standardbibliotek får användas i ett svar (om det inte står att man får det).

domovea Export av energimätning via mail V.1/ Hager Elektro AB

Anmälningskod: Lägg uppgifterna i ordning. Skriv uppgiftsnummer (gäller B-delen) och din kod överst i högra hörnet på alla papper

Introduktion till MATLAB

PC-teknik, 5 p LABORATION ASSEMBLERINTRODUKTION

1 Uppgift 1. a) Skapar ett Company-objekt med hjälp av den överlagrade konstruktorn. Du kan själv välja värden på instansvariablerna.

729G74 - IT och programmering, grundkurs. Dugga.

Universitetet i Linköping Institutionen för datavetenskap Anders Haraldsson 2

TANA17 Matematiska beräkningar med Matlab

Dagens föreläsning Programmering i Lisp Fö 5

F2 Datatyper och variabler. ID1004 Objektorienterad programmering Fredrik Kilander

Uppgift 1 (grundläggande konstruktioner)

TDDC30. Objektorienterad programmering i Java, datastrukturer och algoritmer. Föreläsning 3 Jonas Lindgren, Institutionen för Datavetenskap, LiU

TDP002 - Imperativ programmering

Att förstå hur man konstruerar modulära program Att kunna skapa nya funktioner Att förstå hur data skickas mellan funktioner

Klassdeklaration. Metoddeklaration. Parameteröverföring

Datalogi för E Övning 3

Tentamen i. TDDC67 Funktionell programmering och Lisp

Programmera i C Varför programmera i C när det finns språk som Simula och Pascal??

Funktioner. Linda Mannila

Iteration while-satsen

Innehåll MySQL Intro. Ex på ett index Index typer ISAM Balanserat träd Pk och Fk i MySQL Eget index För o nackdelar med index

Idag: Dataabstraktion

JAVA Mer om klasser och objektorientering

Block 2 Algebra och Diskret Matematik A. Följder, strängar och tal. Referenser. Inledning. 1. Följder

Introduktion C-programmering

Föreläsning 4: Poster

Obligatorisk uppgift: Numerisk kalkylator

GRUNDER I VHDL. Innehåll. Komponentmodell Kodmodell Entity Architecture Identifierare och objekt Operationer för jämförelse

I denna laboration undersöker vi hur aritmetiska beräkningar utförs. Vi tittar på olika variabeltyper: 8-bitars, 16-bitars, 32-bitars och flyttal.

Dagens föreläsning Programmering i Lisp. - Bindning av variabler (avs 14.6) fria variabler statisk/lexikalisk och dynamisk bindning

TDDC74 Programmering: Abstraktion och modellering Datortenta , kl 14-18

Tentamen, EDA501/EDAA20 Programmering M MD W BK L

TDIU01 - Programmering i C++, grundkurs

1. SQL DDL (Data Definition Language) 2. Skapa tabell

Dagens föreläsning. Repetition. Repetition - Programmering i C. Repetition - Vad C består av. Repetition Ett första C-program

Tentamen, Algoritmer och datastrukturer

Det finns en referensbok (Java) hos tentavakten som du får gå fram och läsa men inte ta tillbaka till bänken.

Funktionens deklaration

Datatyper. Programmering. Att definiera datatyper i Java. Laddade partiklar. (x,y) (Rx,Ry) hh.se/db2004

Datorlära 6. Arbeta med strängar Inmatning med tangentbordet Bygga ett program med inmatning, funktioner, osv

1 Skapa Tabell Skapa Relationer Redigera Relationer Redigera Fält i Tabell Lägga till Poster i Tabell...

Enklast att skriva variabelnamn utan ; innehåll och variabelnamn skrivs ut

Transkript:

training people monitors Bättre COBOL Peter Sterwe Bättra på dina kunskaper i COBOL på ett översiktligt och pedagogiskt sätt från företaget som har mer än trettio års erfarenhet av utbildning inom IBM z/os Mainframe.

Identification Division Identifierar programmet IDENTIFICATION ID DIVISION. PROGRAM ID. pgmnamn [ IS COMMON RECURSIVE INITIAL [ PROGRAM pgmnamn ]] Identifierar programmet Maxlängd bestäms av kompilator-option PGMNAME(COMPAT LONGUPPER LONGMIXED) COMMON RECURSIVE INITIAL behandlas senare 1

Environment Division Configuration Section ENVIRONMENT DIVISION. CONFIGURATION SECTION. SPECIAL-NAMES. [ DECIMAL-POINT IS COMMA ] [ CLASS classnamn IS lit1, lit2,... ] Special-Names. Beskriver att decimaltecken är komma i stället för punkt Egna Klasser för alfanumeriskt data 2

DataDivision Working-Storage Section WORKING-STORAGE SECTION. Beskrivning av dataelement Alla dataelement är av en viss datatyp Beskrivning av datastrukturer En struktur består av flera dataelement Nivåindikatorer Alla dataelement har en nivåindikator: 01-49, 66, 77 eller 88 01-nivå För enskilda dataelement eller hela strukturer 77-nivå För fristående dataelement 3

DataDivision Working-Storage Section Redigering Data Division. Working-Storage Section. 77 Summa1 Pic S999999V99 COMP-3 Value +123,50. 77 Summa2 Pic S999999V99 Packed-Decimal Value -4,50. 01 Raden. 05 Pic X(10) Value Summan är:. 05 Rad-Summa Pic ZZZZ99,99-. Procedure Division. Move Summa1 to Rad-Summa Display Raden Summan är: 123,50 Move Summa2 to Rad-Summa Display Raden Summan är: 04,50-4

Filer Rewrite För att återskriva en post i en indexerad fil REWRITE postnamn [ FROM postarea ] INVALID KEY uttryck... NOT INVALID KEY uttryck... END-WRITE postnamn är namnet på strukturen i FD postarea är namnet på en postbeskrivning i Working-Storage Section Not Invalid Key är uppfyllt vid lyckad återskrivning Invalid Key är uppfyllt om posten med angiven nyckel inte finns i filen 5

Aritmetik Divide För att dividera innehållet i en variabel med innehållet i en annan variabel och lagra resultatet i en eller flera andra variabler DIVIDE var1 BY varx GIVING vary, varz,... [ROUNDED] För att dividera innehållet i en variabel med innehållet i en annan variabel och lagra resultatet i en tredje variabel och den överblivna resten i ytterligare en variabel DIVIDE var1 BY varx GIVING vary REMAINDER varz [ROUNDED] 6

Aritmetik Mellanresultat Maximal noggrannhet behålls i alla aritmetiska operationer tills resultatet lagras 77 Var1 Pic S999V9999. 77 Var2 Pic S9999V999. 77 Res Pic S99999V99. Variabel med 9(05)V9(04) underförstådd för tillfälliga resultat Mottagande variabel bestämmer noggrannheten Uttrycket bestämmer trunkering eller avrundning (Rounded) 7

Strängar 10 String WORKING-STORAGE SECTION. 01 Fnamn Pic X(20) Value 'Peter'. Peter 01 Enamn Pic X(20) Value 'Sterwe'. Sterwe 77 Tid Pic XX/XX/XX/XX. 10/15/20/30 01 Res Pic X(50) Value 'Jag heter'. Jag heter 77 Pekare Pic 99 Value 11. Procedure Division. Accept Tid from Time String Fnamn Delimited by Space Space Delimited by Size Enamn Delimited by Space Space Delimited by Size,klockan är ungefär Delimited by Size End-String Display Res GoBack. Tid Into Res Pointer Pekare Delimited by '/' <- Jag heter Peter Sterwe,klockan är ungefär 8

Villkor Villkorsvariabler För att testa om en variabel innehåller ett eller flera värden nn varnamn PIC( ) vardex... 88 villkorsnamn1 VALUE varde1[, varde2,...] [varde1 THRU varde2] varnamn är ett fristående dataelement eller ett element i en struktur varde1 varde2 är de värden som varnamn skall innehålla för att villkorsnamn1 skall vara uppfyllt (sant) Innehållet i varnamn kan vara fast eller beroende av innehållet i en fil eller databas 9

Binära tal Usage Is Binary Hanteras som fastlängd med tecken i den vänstra biten Med tecken, positivt värde = 0 Med tecken, negativt värde= komplementvärde Utan tecken = 0 Pic S9999 Binary Value +1234 04 D2 Pic S999999 Binary Value +1234 00 00 04 D2 Pic S9999 Binary Value -1234 FB 2E Pic 9999 Binary Value +1234 04 D2 Pic 9999 Binary Value -1234 04 D2 10

Nästlade program Programanrop Inbakade program anropas med Call Ett inbakat program kan endast anropas av sitt yttre program PGM12 kan anropas av PGM1 PGM123 kan endast anropas av PGM12 PGM1 PGM12 PGM123 11

Översikt Inbyggda funktioner För att få tillgång till värden i exekveringsläge Skrivs som uttryck i Procedure Division Funktionsanropet utvärderas och det returnerade värdet blir en del av uttrycket Identifieras med det reserverade ordet Function FUNCTION funktionsnamn [(arg1, arg2,...)] Compute Resultat = Function EN-INBYGGD-FUNKTION(DATA1, DATA2) 12

Generella regler Fritt format Alla kolumner (1-80) kan användas Uttryck begränsade till maximalt 255 tecken >>SOURCE FORMAT IS FREE *> Detta är en kommentar Move A to B >>D Display B *> Detta är också en kommentar *> Detta är en debug-rad >>SOURCE FORMAT IS FIXED * Detta är en kommentar Move A to B D Display B 13