problemen een ander systeem van opbergen en terugzoeken van
de richtingen worden gebruikt, een systeem dat een meer efficiënt
gebruik maakt van de geheugenruimte.
Ook voor de sluittermen kan een plaats in een rooster worden
gereserveerd. De verklaring luidt
array y[i 15](2.15) x)
Beschouwen wij eerst de berekening van y5, dan blijkt het
formuleren van de desbetreffende toekenningsopdracht niet bijzon
der moeilijk te zijn
y[5] 1 sin((r[i,3]—r[i,2])/63.6620)/
sin((r[2,i] r[2,3])/63.662o) X
sin ((r [4,3] z[4.i])/63.6620)/
sin((r[i,4]r[i,3])/63.6Ó2o) X
sin((r[5,3] r[5,4])/63.6620)/
sin((z[4,5] r[4,3])/63.6620) X
sin((r[2,3] r[2,5])/63.662o)/
sin((r[5,2] r[5,3])/63-662o)(2.16)2)
Wat opvalt bij de beschouwing van deze opdracht is de grote
overeenkomst tussen de verschillende elementen van de reken
kundige uitdrukking. Elke lengteverhouding wordt op dezelfde
wijze via hoeken uit richtingen berekend. Alleen de indices van de
richtingen zijn telkens verschillend.
Nu dient ALGOL mede voor het automatiseren van program
meringswerkzaamheden die een routinekarakter dragen. De vraag
komt dan ook op of het niet mogelijk is dergelijke routinewerk
zaamheden met behulp van ALGOL te automatiseren. Inderdaad
is dat het geval. Met behulp van een procedure (een zeer belangrijk
ALGOL-begrip) is het mogelijk (2.16) sterk verkort weer te geven.
Een procedure is een werkwijze, een algoritme, die éénmaal
wordt vastgelegd in de vorm van een procedureverklaring, en steeds
op dezelfde wijze wordt gebruikt door middel van een procedure-
aanroep. Hoogstens is er alleen verschil in de parameters die bij
de aanroep worden aangegeven.
Zoals de roosterverklaring (bijv. array r[i :5, 1:5]) de eigen
schappen van het rooster vastlegt: de naam, de indexgrenzen en
het aantal dimensies door middel van het aantal grensparen,
zo moet ook de procedureverklaring de eigenschappen van de
procedure vastleggen.
Een procedure ver klaring is aanzienlijk ingewikkelder dan een
roosterverklaring, omdat niet alleen het karakter van grootheden
moet worden vastgelegd, maar een geheel rekenproces.
Wij zullen nu de procedure ontwikkelen voor het berekenen van
200
x) De naam van het rooster is niet van min-teken voorzien, omdat in
ALGOL een naam met een letter dient te beginnen.
2) Deling door 63.6620 is nodig, omdat de sin-functie met radialen rekent.