10.2 Punten als afsluiter

In de programma's van dit boek kwamen afsluitende punten alleen voor als ze verplicht waren. In de procedure division kwam je punten tegen na een paragraafnaam en na het laatste statement van elke paragraaf.

In COBOL is de afsluitende punt na elk statement toegestaan. In een gewoon rijtje statements kan de punt niet veel kwaad. Hieronder staat een volledige paragraaf. Elke opdracht heeft een punt als afsluiter.

gewenste-maand.
    display "Afdrukken beschikbare dagdelen.".
    display "Geef jaar en maand in de vorm JJMM".
    accept gewenste-maand.
  

De punt na de naam van de paragraaf is verplicht. De punt na accept gewenste-maand eveneens omdat het de laatste opdracht van de paragraaf is. De twee punten achter de display-opdrachten zijn toegestaan. Ze zijn volstrekt overbodig, want het programma doet precies hetzelfde of ze er nu wel of niet staan.

Heel gevaarlijk is het gebruik van de afsluitende punt bij een statement waarin andere opdrachten kunnen zijn opgenomen. Dat zijn opdrachten waarbij we in dit boek afsluiters zoals end-if, end-read, end-string gebruiken. In plaats van die speciale afsluiters, kan ook de punt een statement afsluiten.

onthoud

Een punt sluit alle voorgaande
nog niet afgesloten opdrachten af.

perform with test after until ander > 100
   if een > ander then
      add 12 to ander
      display ander.
  

De punt achter display ander sluit zowel de if-opdracht als de perform-opdracht af. Na punt mag vooral niet end-if of end-perform staan, want de computer zou niet begrijpen wat deze opdrachten afsluiten. Voor de computer zijn er na de punt geen openstaande opdrachten meer.

Je kunt begrijpen dat zo'n punt veel problemen kan opleveren. Het is daarom aan te raden om de punt alleen maar te gebruiken als hij verplicht is. Voor het afsluiten van statements zijn de afsluiters die met end- beginnen veel duidelijker. Deze afsluiters beëindigen het bereik van een statement. In het Engels heten ze scope terminators. De programma's in dit boek gebruiken deze afsluiters bij elke opdracht waarin een rijtje statements is opgenomen.

omslag leerboek

Serie: leerboeken informatica

Titel: Tijd voor COBOL 1

Auteur: Andree Hollander

naamlogo