NN31545.1019
N0TA 1019 n o v e ,
5
b e r 1977
Instituut voor Cultuurtechniek en WaterhuishoudingWageningen
A S P E C T E N VAN INFORMATIEVERWERKING
BIBLIOTHEEK BE HAAFF
Droevendaalsesteeg 3a
Postbus 241
6700 AE Wageningen
COPIËREN VAN FILE NAAR FILE
Mevr. G. van den Berg-Buitenhuis
CtT
Nota's van het Instituut zijn in principe interne communicatie-middelen, dus geen officiële publikaties.
Hun inhoud varieert sterk en kan zowel betrekking hebben op een eenvoudige weergave van cijferreeksen, als op een concluderende discussie van onderzoeksresultaten. In de meeste gevallen zullen de conclusies echter van voorlopige aard zijn omdat het onder-zoek nog niet is afgesloten.
Bepaalde nota's komen niet voor verspreiding buiten het Instituut in aanmerking
l>Sl'Ztx
A S P E C T E N V A N I N F O R M A T I E V E R W E R K I N G
Deel Titel Auteur Nota Datum
1 Computerverwerking van lange reeksen getallen
2 Optimaliseren van para-meters: Het gereedmaken van een functie voor toepassing in NLV
3 Registratieverwerking voor automatische pF-bepalingen
J.B.H.M. van Gils 935 nov. 1976
Ph.Th. Stol
J.B.H.M. van Gils
943 febr.1977
949 febr.1977
4 Het systematisch bepalen Ph.Th. Stol van de afgeleiden van een
functie ten behoeve van hun programmering
5 Het samenstellen van een J.B.H.M. van Gils input tape voor een
elektrisch model
6 Over het samenstellen van Ph.Th. Stol een computerprogramma
voor het optimaliseren van parameters
948 febr.1977
951 apr. 1977
7 De onbekend-kode in een datafile
8 Enkele methoden voor het op eenvoudige en over-zichtelijke wijze syste-matisch aanpassen
respec-tievelijk veranderen van functies en parameterwaar-den in computerprogramma's 9 Copiëren van file naar
file
mevr.G.van den Berg- 989 juli 1977 Buitenhuis Ph.Th. Stol mevr.G.van den Berg-Buitenhuis 984 aug. 1977 1019 nov. 1977
De nota's handelende over Aspecten van Informatieverwerking bevatten inlichtingen over de ontwikkeling van de informatieverwerking binnen het Instituut. Naast meer concluderende en toelichtende beschouwingen zal aandacht worden besteed aan het gebruik van programma's en pro-grammapakketten en zullen zakelijke inlichtingen over praktijkerva-ring met en toepassing van de informatieverwerking worden gegeven
I N H O U D
b i z . INLEIDING
STANDAARDVORM VAN OPSLAG
MOGELIJKHEDEN VAN COPIEREN
PROGRAMMA COPY VOORHEEN EN NU
HET PROGRAMMA COPY
NAMENLIJST FORTRAN-PROGRAMMA COPY
HET GEBRUIK VAN PROGRAMMA COPY
VOORBEELD
LITERATUUR
WOORDENLIJST
BIJLAGE 1 Volledige tekst van programma COPY BIJLAGE 2 Voorbeeld van een computerjob met
programma COPY
BIJLAGE 3 Voorbeeld van datafile's bewerkt met programma COPY
1 1 2 3 3 3 5 5 7 7
INLEIDING
Voor de computerverwerking van lange reeksen getallen wordt voornamelijk gebruik gemaakt van de PDP-11 van IWIS- TNO.
Hierbij kunnen de benodigde bewerkingen met behulp van een daartoe ontwikkeld programmapakket uitgevoerd worden als standaardmethode (VAN GILS, 1976). Het standaardpakket bestaat uit de programma-series: Numerieke Exploratie, ASCII en Tellingen.
De reeksen getallen worden opgeslagen in een standaardvorm van opslag op schijf. Voor de standaardvorm van opslag worden direct-access files gebruikt, zowel in binaire- als in ASCII-kode. Door de vervanging van de oude bewerking van copieren, heeft de gebruiker nu een grotere vrijheid om direct-access files te copieren. Hiervoor wordt gebruik gemaakt van programma COPY.
STANDAARDVORM VAN OPSLAG
Als standaardvorm kan voor de opslag van reeksen getallen gekozen worden voor een direct-access file in binaire- of in
ASCII-kode. Een direct-access file in binaire-kode wordt datafile genoemd. Een datafile is een file met alleen integer getallen
tussen -32767 en +32767. Met een kolom in de datafile wordt de
reeks getallen met hetzelfde woordnummer in ieder record aangeduid. In een kolom van de datafile wordt de getallenreeks van een varia-bele opgeslagen. Bijvoorbeeld, de metingen in dezelfde waterstands-buis krijgen alle één woordnummer. Ieder record bevat dan van
ver-schillende waterstandsbuizen de metingen op één datum.
Een direct-access-ascii file is een file in ASCII-kode met de karak-ters CR en LF in het laatste woord van ieder record.
Een direct-access-ascii file kan sequentieel gelezen worden als een formatted file.
MOGELIJKHEDEN VAN COPIEREN
Direct-access files kan men op verschillende manieren copieren. Er bestaat de mogelijkheid om copy-files te maken. De hele file,
inputfile genoemd, wordt gecopieerd naar een nieuwe file, output-file genoemd. Voor sortering van informatie kan men gedeelten van de inputfile copieren of records samenvoegen en dan copieren naar de outputfile. Ook is er de mogelijkheid om binnen dezelfde file te copieren. De inputfile is dan tevens outputfile.
Er zijn twee soorten bewerkingen mogelijk om een direct-access file te copieren. Ze worden onderscheiden door in de stuurkaart in
kolom 3 resp. kolom 4 een teken te ponsen (Zie bijlage 1, pag. 1.1).
B e w e r k i n g 1
Per record copieren van een inputfile naar een outputfile. Dit wordt o.a. gebruikt om een hele file te copieren, ter voorkoming dat bij verdere bewerkingen de waarnemingen overschreven worden. Om de oorspronkelijke gegevens dan te achterhalen, is vaak een lange procedure of soms onmogelijk. Ook is er de mogelijkheid, als niet alle records gecopieerd hoeven te worden maar b.v. om de andere, een stapgrootte van de records van input- en outputfile in te voeren (Zie voorbeelden bijlage 2 en 3 ) .
B e w e r k i n g 2
Copieren van meer records van de inputfile naar één record van de outputfile. Dit wordt gebruikt als men een aantal records wil samenvoegen en copieren naar een nieuwe file. Met deze bewerking kan men ook gebruik maken van de stapgrootte op de input- en output-file (Zie voorbeelden bijlage 2 en 3).
PROGRAMMA COPY VOORHEEN EN NU
Voorheen bestond er ook wel de mogelijkheid om direct-access files te copieren, maar alleen van een reeks records, met een reeks woorden per record, naar een reeks records, met een reeks woorden per record. Voor een direct-access-ascii file konden alleen hele records worden gecopieerd.
Nu kan de gebruiker copieren met stapgrootte van de records van input- en outputfile en tevens kan men records van de inputfile samenvoegen en copieren naar ëén record van de outputfile.
Direct-access-ascii files kunnen nu ook in gedeelten worden gecopieerd. In dat geval moet kolom 5 in de stuurkaart niet blank zijn
(zie bijlage 1).
De nieuwe mogelijkheid is een vervanging van de oude bestaande procedure. Het nieuwe programma wordt onder dezelfde naam als het oude gebruikt. De oude versie rangschikte men in de 89-serie, de nieuwe wordt in de 92-serie gerangschikt.
HET PROGRAMMA COPY
De bewerking van de vernieuwde procedure gaat met behulp van het hiervoor ontwikkelde standaardprogramma COPY. De eerste versie van het vernieuwde programma COPY wordt gegeven in bijlage 1.
Zonodig wordt dit programma aangepast aan nieuwe wensen uit de praktijk. Volledige informatie over de laatst verschenen versie is verkrijgbaar bij de afdeling Wiskunde.
NAMENLIJST FORTRAN-PROGRAMMA COPY
De betekenis van een aantal namen van variabelen in het FORTRAN-programma is samengevoegd in deze lijst. Deze lijst is
BLANK DAT F I L E l F ILE 2 I IGOTO IX JREC JX JWORD KREC KWORD LREC LW LWORD M MREC MWORD N STEP1 STEP 2 S U N I T I UN ITO
het karakter SPACE datum
naam van de inputfile naam van de outputfile
recordnummer van de inputfile, dat op dat moment gelezen wordt
reeks met getallen die de route in het programma aanduidt
aantal records van de inputfile die worden samen-gevoegd
beginrecord van de inputfile, waarvan gecopieerd wordt
het verschil van begin- en eindrecord van de inputfile
beginwoord van de inputfile, waarvan gecopieerd wordt
eindrecord van de inputfile, die gecopieerd wordt eindwoord van de inputfile, die gecopieerd wordt beginrecord van de outputfile
index van het adres, waar het woordnummer van de inputfile wordt in gezet voor het naar de output-file wordt gecopieerd
beginwoord van de outputfile
teladres, voor het samenvoegen van de records beginrecord van de outputfile
beginwoord van de outputfile
recordnummer van de outputfile, waar op dat moment wordt gelezen en geschreven
stapgrootte van de inputfile stapgrootte van de outputfile stapgrootte van dè inputfile
unitnummer (standaard 8) voor input via de kaart-lezer
unitnummer (standaard 5) voor output via de regel-drukker
UNITl unitnummer voor de inputfile IJNIT2 unitnummer voor de outputfile
WORTM reeks met nummers van de woorden per record van de inputfile
W0RD2 reeks met nummers van de woorden per record van de outputfile
WRD2 reeks met de woorden per record die gecopieerd worden
HET GEBRUIK VAN PROGRAMMA COPY
Zoals alle andere standaardprogramma's staat ook programma COPY op de schijven: IC.W01, ICW02, ICW03, ICW06, ICW07, ICW08 en
ICW10.
Het programma staat opgeslagen onder de filenaam : DK1:C0PY.LDA De laatst verschenen versie van een standaardprogramma wordt bewaard en op alle schijven opgeslagen. Voor informatie oyer de
standaardprogramma's kan men altijd op de afdeling Wiskunde terecht.
VOORBEELD
In bijlagen 2 en 3 is van de 2 genoemde bewerkingen een voor-beeld gegeven. Bijlage 2 bevat de complete computerjob met stuur-kaarten, invoer gegevens, output van programma COPY en de dayfile. Bijlage 3 bevat een voorbeeld van de inputfile en de resultaten in de outputfile verkregen na toepassing van de computerjob in bijlage 2. Bijlage 3 is de output van programma TABEL 2.
De assignkaarten (b.v. $AS DK1:VDBERG,1) worden gebruikt om de desbetreffende file op te roepen, in dit geval datafile VDBERG. $RU DK1:C0PY.LDA wordt opgegeven om programma CUPY uit te voeren. Het programma COPY leest uit de kaartinvoer altijd eerst de kaart waarmee het programma bestuurd wordt en daarom eveneens stuurkaart genoemd wordt. In dit voorbeeld zijn dat de kaarten met: + (Er worden ook wel andere tekens gebruikt in de stuurkaart ,
zie bijlage 1).
Daarna wordt de filekaart ingevoerd. Dit is een kaart, waarin de naam van de datafile staat, en het unitnummer behorend bij de desbetreffende file (het unitnummer moet overeenkomen met het unitnummer van de assignkaart),•en de grootte van de file (aantal records en aantal woorden). In het voorbeeld van bijlage 2 is dit voor de eerste bewerking: Voor de input-datafile VDBERG, unitnummer
1, aantal records 20, aantal woorden per record 10, en voor de output-datafile BERG1, unitnummer 2, aantal records 30, aantal woorden per record 10. Hierna wordt de titelkaart gelezen. Men kan zelf opgeven welke titel men boven de bewerking wil hebben. In de titelkaart voert men in de eerste kolom een 1 in, waardoor iedere bewerking op een nieuwe bladzijde begint. De verdere invoer is per bewerking verschillend.
Voor bewerking 1 geeft men een kaart op met: (zie voorbeeld bij-lage 2) beginrecord: 1, eindrecord: 15, stapgrootte: 2, beginwoord: 1 en eindwoord: 6 van de inputfile en beginrecord: 1, beginwoord: 1 en stapgrootte 3 van de outputfile. Het betekent, dat van file VDBERG de records 1 t/m 15 met stapgrootte 2, de woorden 1 t/m 6, worden gecopieerd naar file BERG! met beginrecord ] en beginwoord
1 en met stapgrootte in aantal records: 3.
Voor bewerking 2 geeft men een kaart op met: (zie voorbeeld bijlage 2) beginrecord: 10, eindrecord: 1, aantal records die worden
samengevoegd: 3, beginwoord: 5, eindwoord: 10 met stapgrootte in aantal records: 2, van de inputfile en beginrecord: 1, beginwoord: 1 en stapgrootte: 2 van de outputfile. Het betekent, dat van file VDBERG de records 10 t/m 1 (terugtellend), de woorden 5 t/m 10,
3 records worden samengevoegd met stapgrootte in aantal records 2, en gecopieerd worden naar file BERG2 met beginrecord 1 en beginwoord
1 en met stapgrootte in aantal records: 2.
Ook is er de mogelijkheid om met bewerkingen 1 en 2 een deel van een file te copieren naar een ander deel van dezelfde file (
zie 3e voorbeeld bijlage 2). Het betekent, dat van de input-datafile VDBERG de records 1 t/m 10 met stapgrootte 2 de woorden 1 t/m 10
worden gecopieerd naar de output-datafile VDBERG met beginrecord 16 en beginwoord 1 en met stapgrootte in records 1, zodat dus de output-datafile dezelfde is als de input-output-datafile (Zie ook voorbeelden bij-6
lage 3 ) .
$EOD gebruikt men om de gegeven kaarten af te sluiten. I 350 000000 in de dayfile betekent, dat het programma is gestopt. Dat het laatste cijfer van de stopkode een 0 is, betekent dat,
op het moment, dat in het programma een volgende stuurkaart gevraagd wordt, de bewerking gestopt is. In dit geval betekent het, dat de betreffende bewerkingen volledig zijn uitgevoerd.
LITERATUUR
DIGITAL EQUIPMENT CORPORATION BATCH-PDP-11 Fortran Language Reference Manual.
GILS, J.ILH.M. VAN, 1976. Computerverwerking van lange reeksen getallen. Aspecten van Informatieverwerking, dl. 1. ICW-nota 935.
BERG-BUITENHUIS, G. VAN DEN, 1977. De onbekend-kode in een
datafile. Aspecten van Informatieverwerking, dl. 7. ICW-nota 989. WOORDENLIJST ( 1 6 1 5 ) 89-serie 92-serie 112-serie ASCII Bewerking Binair Computerjob COPY
de wijze waarop een ponskaart ingelezen wordt (format specification) bijvoorbeeld J6I5 be-tekent 16 integer getallen met 5 plaatsen (kolom-men) per getal
standaardprogrammapakket: Numerieke Exploratie standaardprogrammapakket: ASCII
standaardprogrammapakket: Tellingen
American Standard Code of Information Interchange in deze nota de wijze waarop van de inputfile ge-copieerd wordt naar de outputfile
volgens het tweetallig stelsel
een verzameling computerbewerkingen welke als een geheel wordt aangeboden en verwerkt
ICW-standaardprogramma - copieerprogramma voor een direct-access file
CR Datafile Dayfile Direct-access End of file End of record File Filekaart Filenaam Integer Inputfile Karakter Kode LF Output Outputfile PDP-11 Record Recordnummer Schijf SPACE Stopkode
Het ASCII-karakter: Carriage Return
ICW-standaardvorm van opslag, een direct-access file in binaire kode
overzicht van een verwerkte computerjob-per record fysisch toegankelijk
sluitteken aan het einde van een file sluitteken aan het einde van een record
een hoeveelheid informatie, bijvoorbeeld een reeks getallen, afgesloten met een 'end of
file', welke met een filenaam is geïdentificeerd ponskaart waarop vermeld staan de specificaties van de betreffende files
is de naam van een file, waarmee men de betref-fende file kan oproepen
een getal zonder komma passend in een woord, dus liggend tussen -32767 en +32767
file waarvan gegevens gecopieerd worden naar de outputfile
eenheid van computeropslag (2 karakters is 1 woord)
schrijfwijze, Binaire-kode, ASCII-kode, Stopkode Het ASCII-karakter: Line Feed
uitvoer van informatie
file, waarop gegevens geschreven worden computer van IWIS-TNO in Wageningen
een hoeveelheid informatie afgesloten met een 'end of record' welke als eenheid gelezen of beschreven wordt
het volgnummer van een record in een direct-access file
disk, fysische eenheid van informatieopslag, welke per onderdeel gelezen of beschreven kan worden
spatie
kode in de dayfile die aangeeft op welk punt in het programma is gestopt
Stuurkaart Titelkaart
TABEL 2
Uni tru immer
Woord
Woordnummer
$EOD
ponskaart voor de besturing van het programma kaart met de titel die men boven ieder blad af-gedrukt wil hebben
ICW-standaardprogramma - tabelleren onder voorwaarden
-getal tussen 1 en 8 in het fortranprogramma, waar-mee een randapparaat van de computers of een file wordt aangeduid
eenheid van computeropslag
het volgnummer van het woord in een record van een
direct-access file x
BIJLAGE 1
Volledige tekst van programma COPY
FORTRAN V09.B0 09J3&I22 »4-0CT-77 PAGE 1 C PROGRAMMA COPV IO-NQ»(tf92fl
C
C COPIEREN VAN FILE NAAR FILE (JULI 1977 GBB) C PROGRAMMAPAKKET ASCII ICW 410.12 TNO 54S0 C RECORDS VAN EEN UlRECT-ACCESS-FILE KUNNEN KORDEN GECOPIFERO NAAR C EEN OIRECT-ACCESS-FILE.UIT "EERDERE INPUTRECOROS KAN WQPDEN GECOP-C IEER0 NAAR EEN OUTPUTREGECOP-CORD,ZOWEL BINAIRE KODE ALS ASGECOP-CII KAN WORDEN C GECOPIEERD.ALS BEPERKING GELOT DAT DE RECORDS VAN DE ÏNPUTFÏLF. EN C OE OUTPUTFILE MAXIMAAL 10«0 WOORDEN KUNNEN BEVATTEN.OMZETTING VAN C KODES GEBEURT NIET MET DIT PROGRAMMA,
C v
C EEN DATAFILE I« EEN OIRECT-ACCESS-FILE MET ALLEEN INTEGER GETALLEN.EEN C INTEGER GETAL IS EEN GETAL TUSSEN -32767 EN *32787 ZONDER KOMMA OF
C PUNT.
C EEN DIRECT-ACCESS ASCII-FILE IS EEN DIRECT-ACCESS-FRE IN ASCII MET DE C KARAKTERS CR EN LF IN HET LAATSTE WOORD VAN IEDERE RECORD,EEN OIRECT-C AOIRECT-COIRECT-CESS ASOIRECT-CII-FILE KAN SEQUENTIEEL GELEZEN WORDEN ALS EEN FORMATTED C FILE.
C
C MEN KAN TWEE BEWERKINGEN ONDERSCHEIDEN»
C BEWERKING ItPER RECORD CüPIEREN VAN EEN INPUTFILE NAAR EEN OUTPUTFILE C BEWERKING 2JCOPIEREN VAN MEERDERE RECORDS VAN EEN INPUTFILE OP EEN C RECORD VAN DE OUTPUTFILE,
C
C INSTRUCTIE» C
C KAARTKOLOM l VAN UE FRÉ.KAART EN DE STUURKAART MAtt NIET DE TEKENS C $ , # EN * BEVATTEN,
C STUURKAART.FILEKAART EN TITELKAART MOETEN MINSTENS EENMAAL GELEZEN C WORDEN.
C
C OE UNITNUMMERS»8 EN S 7IJN STANDAARD GERESERVEERD VOOR INPUT VIA DE C KAARTLEZER EN OUTPUT VIA DE REGELDRUKKER,
C
C * GEBRUIKIIAS DK1>-NAA**,?VOOR DE INPUTFILE C IA9 OK1J»NAAM»,?VUOR DE O U T P U T F R E C SRU DKtlCOPY.LOA
C • LEES DE STUURKAART MET! (4A1) C KAARTKOLOM 1 NIET BLANK VOOR LEES FILEKAART
C 2 LEES TITELKAART C 3 BEWERKING 1 C 4 BEWERKING 2
C 5 COPIEREN ASCII-FILE
C • LEES DE FILEKAART MET| C2(6A1,11,2155) . C FILENAAM,UNITNUMMER,AANTAL RECORDS EN AANTAL WOORDEN PER RECORD
C VAN RESP. DE INPUTFILE EN DE OUTPUTFILE,
C • LEES OE TITELKAART! (8«Ai) C l IN KOLOM 1 EN MAXIMAAL 79 TEKENS TEKST.
C * EN PER BEWERKING!
C . VOOR BEWERKING ü (SIS) C BEGINRECORO,EINORECORD.DE ABSOLUTE STAPGROOTTE IN AANTAL RECOROS
C BEGINWOORD EN EINDWOORD VAN OE INPUTFILE EN BEGINRECORO,BEGIN. C WOORD EN DE ABSOLUTE STAPGROOTTE IN AANTAL RECORDS VAN OE OUT« C PUTFILE,(STAPGROOTTE 0 OF »LANK GEEFT OE WAARDE *l OF -l) C DALENDE REEKSEN MOGEN WOROEN OPGEGEVEN.
C . VOOR BEWERKING 2! (715) C BEGINRECORO,EINDRECORD,HET AANTAL RECORDS VAN DE INPUTFILE DIE
C WORDEN SAMENGEVOEGO(BLANK OF 0 WORDT l),BEGINWOORD,EINDWOORD,EN C OE ABSOLUTE STAPGROOTTE IN AANTAL RECORDS VAN «E INPUTFILE EN
1.2
PORTRAN V09.0B 09130122 04-OCT-77 PAGE
0001 0002 0003 0004 0005 0006 0007 0008 0009 0010 0011 0012 0013 0014 0015 0016 0017 0016 0019 0020 0021 0022 0023 0024 0025 0026 0027 0026 0029 0030 0031 0032
«EGINRECORD,BEGINWOORD EN DE ABSOLUTE STAPGROOTTE IN AAMTAL RECORDS VAN DE OUTPUTFILE,
(DE STAPGROOTTE 0 Op BLANK GEEFT DE WAARDE *1 OF -1) DALENDE REEKSEN MOGEN NORDEN OPGEGEVEN.
* LEES NIEUWE STUURKAART UF iEOD VOOR STOP,
VERKLARING VAN DE STOPKODEl
1350 000000 SEOn IS GELEZEN IPV, DE STUURKAART 1350 8001001 SEOD IS GELEZEN IPV, DE FILEKAART 1350 «00002 SEOP IS GELEZEN IPV. OE TITFLKAART
1350 0000CT3 SEOO IS GELFZEN IPV, OE KAART VOOR BEWERKING 1 1350 000004 SEOD IS GELFZEN IPV, DE KAART VOOR BEWERKING 2
BYTE FILEK6),nATC9).FILE2C6),!GOTO(5),BLANK,TÏTELC80),CR,LF(A(2)
INTEGER UNIT1,UNIT2,UNITI,UNIT0,W0R01(1000Î.WORO2(1000),STEP 1,STEP *2,JREC,KREC,JwORn,KwnRO,MREC,MWORD#IX,LWORO,WRO2(lPta0) CALL SETERR(S,10) CALL DATE(OAT) C R » M 5 LF»"12 A(1)»CR A(2J»LF UNITI»B UNIT0«5 BLANK«1H C 100 F Q R M A T C 2 ( 6 A l , I ! , 2 I 5 n 101 FORMAT(80A1) 102 F 0 R M A T ( " * « 9 9 X , S A I , 6 X , 6 A 1 , 6 X , 9 A 1 ) 103 FORMAT(10I5) 104 F0RMATfA2)
200 FQRMAT(//,' VAN FILE» '6A1' IS GECOPIEERD VAN REC0R0!'I5' T/M '15 *• FN WnORDJ'15' T/M »15» MET STAPGROOTTE!'15,/,• NAAR FILE» '6A1,9 *X' MET BEGINRECOROI'15« EN MET BEGINWOORD!'15,1IX«MET STAPGROOTTE *»'I5)
201 FORMATC//,' VAN FILE»'6A1' RECORO!'I5' T/M '15' EN WOORQI'15' T/M *'I5' MET STAPGROOTTE!'15' WOROEN'13' RECOROS SAMENGEVOEGD,EN GECOP •IEERO»,/,' NAAR FILE» '6A1' MET BEGINRECORD»'15 • EN MET BEGINWOO *RD»'I5» MET STAPGRO0TTE»'I5)
C STUURKAART 1 READ(UNlTl,10t,fcND»999) IGOTO C FILEKAART 10 IF(IGOTO(n.EO.BLANK) GO TO U READ(UNlTl,100,END»9<>8) FILEI.UNIT1,NREC1,NWORD1,FILE2,UNIT2,NREC2 •.NW0R02
DEFINE FILE UNIT!(NREC1,NWORni,U»I VAR),UNIT2(NREC2,NW0R02,U,IVA)
C TITELKAART 11 IF(IG0T0(2).EQ.BLANK) GO TO 12 REAO(UNITI,10i,END«9O7) TIT.EL WRITE(I)NITO,101) TITEL WRITE(UNITO,102) FILEI,FILE2,0AT C BEWERKING 1 12 IF(IGOTOO).EU.BLANK) GO TO 13
READCUNITI,103,EN0"996) J R E C K R E C , STEP1, JWORO,KWORD,MREC,MWORD,STE *P2
TF(STtPi.EO,0)STEPl«t IF(ST£P2.EQ,0)STEP2»1 IF(JREC.LE.KREC) GO Tü 55 STEPl«-STEPl
1.3
FORTRAN V09.A0 P9J3«t22 M-OCT-77 PAGE
0033 0034 0035 0036 0037 0038 0039 0040 0041 0042 0043 0044 0045 0046 0047 0048 0049 0050 0051 0052 0053 0054 0055 0056 0057 0058 0059 0090 0061 0062 0063 0064 0065 0066 0067 0068 0069 0070 0071 0072 0073 0074 0075 0076 0077 0078 0079 0080 0081 0062 0083 0084 0085 0086 0087 JX«JREC-KRFC*1 55 LRFC«MR£C MX»1 Sam I»JREC 5» I « U S S»STEP1 IF(JREC.LE.KPEC) JXiKREC-JREC+1 READCUNITim (WORO»(J),J»l,NWORDl) PEADtUNlT2'LREC)(W0RO2(J),J»l,NW0R02) I F t I G 0 T 0 ( 5 l , E Q . B L A N K ) GO TO 52 0 E C 0 O E ( 2 , l * 4 , A ) WQR0S>(NM0RD2) 52 nu 51 M«JfcORD,KwnRr) JBMWORO+N-JWORO 51 WORD2(J3«WQR01fN) WRITE(UNIT2'LREC)(«0RQ8(N).N«i.NW0RD2) LREC»LREC*STEPP l. NX»NX*TAB5(ST£Pn TF(NX.LE.JX) GO TO 5«
WRITE (UN I TO, ?&>(») FILE1,JREC,KREC,J"0R0,KW0RD.STEP1,FI|.F2,MREC,>1W0R
• n , S T E P 2 BEMERKIMG 2 13 IF(IG0T0(4),EU.BLANK1 GO TO t REA0fUNITI,lPI3,EM0"995) JREC,KREC,IX,JWQRD,KWORD.STEPi,LREC,t.WORO, *STEP8 I F U X . F U . H ) IX«t INPUT I F ( S T E P l . E Q . * ) 9 T E P l i l I F ( S T E P 2 . E 0 , « ) 8 T E P 2 « 1 TF(JREC.LE.KREC) GO TO 56 S T E P U - S T E P l JX«jRtC»KREC*i 56 LW»1 M»0 MtLREC I«JHEC Si« NX»1 58 MiM+1 I»I*S SiSTEPl IF(JREC.Lt.KREC) JX.KRECJREC+1 IF(JREC,r»T,KREC.ANP,I,LT.KREC) GO TO 59 READ(UNITlil) rwOROlfJ),J»1,NWOROl) 00 54 KX«JWORD.KWOR0 WR02(IW)"WOR01(KX) 54 LW«LW*1 NX«NX*lA8S(ST£Pn IF(JREC.GT.KREr) GO To 55 IF(I.LT,KKEC.ANO.M,LT.IX) GO TO 58 GO TO 59 ' 53 IFtl.GT.KREC.AND.M.LT.IX) GO TO 58 59 READ(UNIT2»N)(WOR02(J),J«i,NWOR02) TF(IG0TU(5).FQ.BLAN|O GO TO 60
DEC00E(2,1M.A) «URO? (NwOR02) 60 LW»tW-l
00 57 J»l,lrt
57 vioR02(J+LhORO-1)»WR02(J)
WRITE(UN IT?'N)(W0Rn2(J),J«l,Nw0R02)
1.4
FORTRAN V09.H0 <"9IS*I?2 «4-OCT-77 PAGE 0088 0089 0090 0091 0092 0099 0094 0099 0096 0097 0098 0099 MB0 N « N * 8 T F P ? LW-l TFCNX.LE.JX) GO TO 5« WRITEC'iNtTO,201) FlLEl,JREC,KREC.JWüRD,KW0R0,STEPl,IX,PILE2,LRtCiL *«0R0iSTEP2 GO Tn t 995 STOP 4 996 STOP A 997 STOP 2 998 STOP 1 999 STOP END ROUTINES CALLEO: SETERR. OATE , U B S OPTIONS •/LI,/ON,/CK,/OP«l./GO BLOCK LENGTH MAIN. 4499 (021436)* ••COMPILER — — CORF*»
PHASE USED FRÇE DECLARATIVES 0B682 «1413 EXECUTABLES 01 183 0GÖ52 ASSEMBLY 01848 04876
BIJLAGE 2
Voorbeeld van een computerjob met programma COPY
2.1
VOORBEELD VAN IM TE VQEREN PONSKAARTEN OH EEN COMPUTERJOB TE LATEN DRAAIEN . — — M £ N BEGINT EEN COriPUTERJÛô ALTIJD EERST MET STUURKAARTEN——SJOB • -SRU IOENTI SR CMECKD #ICW «7 SKI SAS OKUVDBERG.i SAS 0KltBERÜl,2 SAS 0K1«BERG2,3 SRU DKliCOPY.LOA
— — — — — H I E R N A VOLGT INVOER VAM GEGEVENS OP PONSKAARTEN. ...TE GEBRUIKEN »IJ PROGRAMMA C O P Y — — —
-• -•-•
VDBERG1 20 10BERG1 2 30 1(1
i VAN INPUTFILE VQBERB COPIE«EN NAAr« OUTPUTFILE BERG!
15 6 1 1
V0BERG1 20 10BERG2 3 1«) 2ü
1 VAN INPUTFILE VOBERG COPIEREN NAAR OUTPUTFILE 8ERG2 ie i
VDBERGt
i« 1
20 IBVOBERGl 20 1»
1 VAN INPUTFILE VDBERG C0PTE»EN NAA4 OUTPUTFILE VQBERG
i
SEOO 112 1 1" 16 SFI
2.2 I o. U I m i <c cv a a u a x «M 19 X O I S u> o » o es c o OC o ce oc u u a. a. ae 3c 19 C9 a. a. o X CU > - o k- O o ac O 19 OC Q . a « c o ar ac o c o a Jt M 13 UI co o o IE cc o o u u o: at 2 >-i •« 3 > U UI UI u j £ CM CS CC CD Ui - 1 w u. 1 -o a. a X s o >. o h- m z « •-• i s u> m • • t -o ut ac £ a o z W UI z u : »* o c X X o o o e X s z z. »-ui o 3 — 9! 0! a o <-> u MJ ijJ CC JC o X • -UI b j UI z — a. o. o UJ *~ tr - • UI CS a er o U.' > 31 u. u. z .x Ui ü > • • • •• UI _J _l _1 -• z « » Z O o
2.3 OISK IN D M I OKI« FREE B U S ; 2852 $400 l -DAT£j-a6-SEf>-77 TIMÉ«-U!22:5ii *R lOtNTI I33C wm*9 SR CHeCKD SKI $AS OKl»VQB£R&,i SAS OKltBERGl,? SAS 0lsUB£Rli»,3 SRU DKUCÜPY.L.PA SEOP 1350 en»0f0B SFI T I M E » . , i i » 2 3 « 2 2 * » * ICH 97 ***
BIJLAGE 3
Voorbeeld van datafile's bewerkt met programma COPY
VOORBEELD INPUTPILE 3.1 M6ETPUNTI JAAR MAAND 1977 1977 1977 1977 1977 1977 1977 1977 1977 1977 1977 1977 »977 1977 1977 MINIMA 1977 MAXIMA 1977 AANTAL 19 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 DAG 1 2 3 4 9 0 7 8 9 10 11 18 13 14 19 1 19 1 929 793 986 69 892 921 230 923 986 29 986 892 92 949 692 29 892 BEKENDE GETALLEN 15 19 19 2 742 296 230 879 692 679 23 230 93 863 623 69 869 68 892 23 879 19 3 492 294 962 231 892 692 98 230 986 986 923 894 882 986 682 96 684 19 .4 293 694 692 932 923 692 920 290 89 89 894 69 94 96 89 94 894 19 9 936 997 962 932 630 201 93 863 290 294 298 93 201 928 89 93 997 19 6 296 99 210 892 210 302 983 29 23 36 230 »23 20» 222 969 23 969 »9 7 123 29» 942 999 203 920 293 29 29 99 29 292 299 29 299 29 999 19 20-3EP-77 •\ VDBERG
VOORBEELD OUTPUTFILE NA BEMERKING MET PROGRAMMA COPY (BEMERKING 1)
MEETPUNT! JAAR MAAND 1977 0 0 1977 0 0 1977 0 0 1977 0 0 1977 0 0 1977 0 0 1977 0 0 1977 0 0 0 MINIMA 0 MAXIMA 1977 AANTAL 29 9 0 0 9 0 0 9 0 0 9 0 0 9 0 0 9 0 0 9 0 0 9 0 0 0 0 9 DAG 1 0 0 3 0 0 5 0 0 7 0 0 9 0 0
u
0 0 13 0 0 19 0 0 0 0 19 1 925 0 0 586 0 0 892 0 0 230 H 0 586 0 0 586 0 0 52 0 0 652 0 0 0 0 652 8EKEN0E GETALLEN 29 29 25 2 742 0 0 230 » 0 652 0 0 23 0 0 53 0 0 823 0 0 869 0 0 852 0 0 0 0 669 25 3 452 0 0 962 0 0 692 0 0 58 0 0 586 0 0 523 0 0 582 0 0 882 0 0 0 0 852 29 4 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 29 9 0 0 0 0 0 0 0 0 0 0 0 0 0 0 ••0 0 0 0 0 0 0 0 0 0 0 0 0 29 6 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 29 7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0e
o
0 29 23"8EP>»77 8ER61ta cc 3.2 M » « • 9 9 S S S 1 9 9 • • s s s s s s s s » O I S S S i S S S S T S S ^ « s s s s s s s o s ao o a s s c s e a s & s s a 13 2 n « o i « i n s i o o o o i n M n « ) « i t u n v i n s « i n N « i n n n i n « i i n *« eu in «> eu in eu eucu eu I O S \ » S « 8 S S S « in m at iv s» in «« a > O k c B c u < a c u f > i n » < o & f O - « c u i n « o » « 4 » « « e 9 a o e u c u i o i o c u e 9 c v i e eu eu ao eu to in cu««cucuo> n m m eu <o x *> in M « « K . o i e u s - 4 r o i o e & ^ c o r o « 4 « i n n n e n n s n c i i n r o s N c » CM in in o eu » eu eu eu eu in S Q E i ^ l 9 l 9,S e 9 9 r a < 9 •> in eu eu to ^ c u c u i o c u e s e a i n i n ^ in ^ « » n m n n c u i n c u i n « « i n a o i n i n a o c u i o o n i n a i n c u oo n m — i s ^ s o e 9 & i 9 < & s e 3 9 to in eu eu e u w c u « 4 C u c u a o e & ( O i O f O « c u a > e u i ( i » c i i > r i o n n < i « N < i a x e ^ c u m c u e o i D eu in in in oc* m in si m m " « n s a i o i a i o s i o i o i o i n o K o c M *• r . i O N ß N O i n r i o n c i c c n rs. eu eu «o «o n eu ao co « co ev *. »• t- 19 2 « I» O i n i o i D O i c u * « e 9 f O ( o i n i o c u c u i n c u » M o o n e u m i n in co inco ~«euf»"vin«3r<fcaDCAea-4Cuio*rm o i « o > < j i a « o » c » t > i c n o i o i o i o > o » o i K K N K K K K K K N K N K K K c>oto>oic»o>o>c»ci>o»c»o>»a>cft Z N X K Z « *+ r± •* iv M »* a »— 3 o o i - eu CL • » r» CM in œ *> OD A S Cl 3 PO m S Ol 3 f ï m «s - * s PO cv ^ © *fl to s a s s *r o r* CD 'S1 s s & T " S . 3 *Ç •s-S i • T i S 'S S -Q ts s s w s ** z: •-* z s *c •a H « CM »O •ƒ> (M _ i _» H-ro uj « o « in S X Ol 4 s: *. » l U ao p -3 •< < •s v 5» • M i 'S» r * S
3.3 VOORBEELD INPUTfXLE
M E E T P U N T | JAAR MAAND DAG
1977 1977 1977 1977 1977 1977 1977 1977 1977 1977 1977 1977 1977 1977 1977 MINIMA 1977 MAXIMA 1977 AANTAL 19 9 1 9 a 9 3 9 4 9 9 9 0 9 7 9 8 9 9 9 10 9 H 9 ia 9 13 9 14 9 15 8 i 9 19 1 989 793 986 69 698 981 839 983 986 89 986 698 98 949 998 29 698 B E K E N D E GETALLEN 19 15 19 8 748 898 836 679 698 879 83 830 53 863 683 89 869 88 888 83 879 15 3 458 884 968 831 888 898 98 830 966 966 983 884 968 988 898 96 854 19 4 8 9 3 . 694 698 938 983 658 580 890 89 89 694 89 94 98 89 54 694 19 9 536 957 568 538 630 801 63 663 890 894 896 93 801 986 69 53 957 15 6 856 99 810 098 810 308 963 89 83 36 830 183 801 888 969 83 969 19 7 183 891 948 959 803 580 853 89 89 99 89 858 855 85 855 85 359 15 2 3 - S E P - 7 7 VQBERG
VOORBEELD INPUTPILE EN OljTPUTFXLE ZIJN GELIJK,
M E E T P U N T ! JAAR MAAND DAG
1977 1977 1977 1977 1977 1977 1977 1977 1977 1977 1977 1977 1977 1977 1977 1977 1977 1977 1977 1977 MINIMA 1977 MAXIMA 1977 AANTAL 80 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 1 8 3 4 5 6 7