Programmeren in COBOL/Sequentiële bestanden/Oefeningen (bewerken)
Versie van 21 okt 2007 19:35
, 16 jaar geleden+theorie vragen
kGeen bewerkingssamenvatting |
k +theorie vragen |
||
Regel 3:
==Opgaven==
===Theorie===
*Hoe benader je een sequentieel bestand in de ENVIRONMENT DIVISION?
*Hoe benader je een sequentieel bestand in de DATA DIVISION?
*Geef 3 manieren hoe je een bestand in de PROCEDURE DIVISION kunt openen.
*Hoe sluit je een bestand?
*Hoe lees je een record?
*Hoe schrijf je een record?
===Praktijk===
====Opgave 1: een
Maak een programma waarbij de gebruiker de gegevens van een persoon moet ingeven. De voor-, achternaam, het adres en de gemeente moeten apart opgeven worden en vervolgens weggeschreven in een .txt bestand. Het inlezen en wegschrijven moet gebeuren in een lus. Telkens wanneer er een persoon is weggeschreven wordt de gebruiker gevraagd of hij nog een persoon wilt toevoegen. Als hij 0 ingeeft betekent dat neen als hij iets anders ingeeft betekent dat ja.
====Opgave 2: een
Een .txt bestand bevat allerlei records. Ieder record bevat een getal van maximaal 2 tekens lang. Tel alle getallen op en bereken daarvan het gemiddelde. Let op! de eerste 5 tekens van ieder record bevat overbodige informatie dus daarmee hoef je niks te doen.
<pre>
Regel 16 ⟶ 22:
15
</pre>
====Opgave 3: een
Lees het volgende .txt bestand in die namen van wiki's bevat en laat de gebruiker een omschrijvingen geven per wiki. De namen en omschrijvingen moeten vervolgens weggeschreven worden in een ander bestand.
<pre>
Regel 33 ⟶ 39:
==Oplossingen==
===Theorie===
*Hoe benader je een sequentieel bestand in de ENVIRONMENT DIVISION?
::SELECT bestandnaam ASSIGN to "bestand.txt"
::LINE SEQUENTIAL.
*Hoe benader je een sequentieel bestand in de DATA DIVISION?
::FILE SECTION.
::FD naambestand.
::01 naamrecord.
:: 02 veld1 PIC X(10).
:: 02 veld2 PIC X(10).
*Geef 3 manieren hoe je een bestand in de PROCEDURE DIVISION kunt openen.
::OPEN INPUT, OPEN OUTPUT, OPEN EXTEND
*Hoe sluit je een bestand?
::CLOSE
*Hoe lees je een record?
::READ invoer AT END SET eof TO TRUE END-READ
*Hoe schrijf je een record?
::WRITE regel END-WRITE
===Praktijk===
====Opgave 1: een
{{code
|Taal = COBOL
Regel 84 ⟶ 107:
</pre>
}}
====Opgave 2: een
{{code
|Taal = COBOL
Regel 130 ⟶ 153:
}}
Normaal moet je dan als uitkomst 17 krijgen.
====Opgave 3: een
{{code
|Taal = COBOL
|