a algemeen
In een waterrijke omgeving exploiteert een bedrijf een aantal luxueus ingerichte
boten. Deze boten worden verhuurd voor presentaties, feestjes, bedrijfsuitstapjes
en dergelijke. In een relatief bestand op schijf zijn per boot onder meer
de naam en het maximale aantal personen opgeslagen. De huurprijs van een
boot is afhankelijk van het maximale aantal personen dat kan worden toegelaten
op die boot. Het computerprogramma botenverhuur moet een prijslijst
samenstellen waarop van elke boot de prijs exclusief en inclusief BTW is
vermeld.
b btw
Het programma begint met het opvragen van het geldende BTW-percentage.
Die invoer moet plaatsvinden met twee cijfers vóór en twee
cijfers na de komma. De invoer zou bijvoorbeeld 18,50 kunnen zijn. In
plaats van de komma mag ook een punt worden getoetst: 18.50 is dus ook goed.
De invoer vindt plaats vanaf het standaardinvoermedium.
illustratie: Geert Nijmolen
c ketting
De records van het bestand boten zijn via een enkelvoudige ketting
met elkaar verbonden. Dat wil zeggen dat elk record een verwijzing bevat naar
het recordnummer van het logisch erop volgende record. Op deze manier kan
een alfabetische volgorde op bootnaam worden gerealiseerd zonder dat de records
fysiek in alfabetische volgorde behoeven te zijn opgeslagen.
Het eerste record van het bestand is een afwijkend record. Het bevat geen
gegevens over een boot, maar het startpunt van de ketting. Stel dat het eerste
record 05 bevat. Dat betekent dat het eerste 'echte' record zich bevindt op
recordplaats 5. Het record op recordplaats 5 bevat dan bij voorbeeld een verwijzing
naar recordplaats 07. Daar bevindt zich het volgende record. Enzovoort. Het
aantal recordplaatsen in het bestand bedraagt minder dan 100. Een verwijzing
00 betekent dat het einde van de ketting is bereikt.
d tabellen
Voor het bepalen van de basisprijs per dag (dat is de prijs exclusief BTW)
wordt gebruik gemaakt van twee tabellen: max-personen en basisprijs, beide
van elf elementen.
max-personen basisprijs 10 75,00 15 125,00 20 132,50 25 147,50 30 175,00 50 205,25 75 225,00 100 312,50 150 329,75 200 457,50 400 of hoger 527,25
Uitgaande van het aantal personen dat op een boot terecht kan, wordt
de bijbehorende prijs opgezocht. Ligt het aantal personen tussen twee tabelelementen
in, dan geldt de hoogste waarde. Voor een boot van 45 personen maximaal,
geldt dus dezelfde prijs als voor een boot van 50 personen: 205.25.
e bestand BOTEN
f uitvoer
medium: papier (implementor-mame is PRINTER)
Kopregel: NR BOOTNAAM
MAX EXCL. INCL.
Na de kopregel volgt een blanco regel
Detailregel: Z9 XXXXXXXXXXXX ZZ9 ZZZ9.99 ZZZ9.99
g declaratives
Als zich met het bestand boten een leesprobleem voordoet, dan moet
op het standaarduitvoermedium een boodschap verschijnen, waarna het programma
wordt gestopt. De boodschap luidt: I/O-probleem bij botenbestand. Record
99.
Op de plaats van 99 moet het nummer staan van de recordplaats waar zich het
leesprobleem voordeed.
h programmastructuurdiagrammen
De werking van het programma is neergelegd in schema's.