Onderscheid en overeenkomst tussen programma en procedure. Zowel een programma als een procedure leggen een rekenproces vast in ALGOL. Daarom is het begrijpelijk dat beide begrippen nogal eens verwarring geven. Op het verschil tussen beide begrippen zal dan ook in het kort worden ingegaan. Een concreet probleem wordt steeds met behulp van een pro gramma berekend. In een programma kan wel, maar behoeft niet gebruik te worden gemaakt van procedures. Doen zich in een berekening deelberekeningen voor die sterke verwantschap ver tonen en alleen maar verschillen in een aantal parameters, dan doet men er zeker verstandig aan het rekenproces dat aan deze deelberekeningen ten grondslag ligt in een procedureverklaring vast te leggen. Elk van de deelberekeningen wordt dan in het programma opgenomen door middel van een aanroep van de procedure, waarbij dan aan de formele parameters van de procedure een actuele waarde wordt toegekend, die voor de betreffende deelberekening noodzakelijk is. Het kan echter ook zijn dat bij twee geheel verschillende bere keningen zich deelberekeningen voordoen die alleen in bepaalde parameters verschillen. Zo komen bijv. matrixinversies voor op totaal verschillende gebieden. Ook dan kan het desbetreffende rekenproces in een procedureverklaring worden vastgelegd. Deze procedureverklaring wordt dan eenvoudig in de verschillende programma's opgenomen, en wordt een- of meermalen in elk programma aangeroepen, op de wijze als noodzakelijk is voor de desbetreffende berekening. Een programma is dus steeds een zelfstandig geheel, terwijl een procedure slechts kan worden gebruikt als onderdeel van een programma. Een belangrijke maar niet altijd eenvoudig te beantwoorden vraag is, welke rekenprocessen men in procedurevorm vast moet leggen en welke rekenprocessen alleen in programmavorm. Maakt men geen gebruik van procedures, dan zal men bij het schrijven van een programma vaak in herhalingen vallen. Schrijft men bijv. een programma voor het vereffenen van een driehoeksnet, zonder daarbij van procedures gebruik te maken, dan zal men voor het vereffenen van een waterpasnet een vrijwel geheel nieuw programma moeten schrijven, hoewel toch een groot deel van beide reken processen sterke verwantschap zullen vertonen, omdat immers beide berekeningen gebaseerd zijn op de methode der kleinste kwadraten. Daarom verdient het overweging één of meer procedures te ontwerpen voor het rekenproces van de kleinste kwadraten. Anderzijds dient men er echter ook voor te waken de procedures al te algemeen van opzet te maken. Zeer algemene procedures zullen het berekenen van een zeer grote verscheidenheid van problemen mogelijk maken, maar onder al deze problemen zullen er dan gemakkelijk zijn, die zich praktisch weinig of misschien wel nooit voor zullen doen. In dergelijke gevallen wordt van sommig 205

Digitale Tijdschriftenarchief Stichting De Hollandse Cirkel en Geo Informatie Nederland

Tijdschrift voor Kadaster en Landmeetkunde (KenL) | 1966 | | pagina 31