Bij dit blok willen we nog de volgende opmerkingen maken.
1. Het blok is geen volwaardig programma, daar de in- en
uitvoeropdrachten volledig ontbreken. De in- en uitvoer van de
gegevens (in dit geval resp. de roosters r en y) moet immers door
lees- en schrijfopdrachten gebeuren. Zo niet, dan wordt aan gebruik
te variabelen geen waarde toegekend, waardoor de berekening stokt.
2. In het blokhoofd treft men de verklaring van het getal pi
aan. Het getal pi is nodig omdat de driehoekssluittermen in radialen
worden berekend. Dit is noodzakelijk omdat de procedure a een
hoek in radialen levert. En dit is weer noodzakelijk omdat het
argument van de standaardfunctie sin in radialen is gedefinieerd.
3. Het blok zou nog kunnen worden ingekort door een procedure
te verklaren voor het berekenen van een sluitterm in een driehoek.
Hiervan is afgezien.
Nadere toelichting van het begrip procedure.
In het behandelde voorbeeld is gebruik gemaakt van een real
procedure, dat wil zeggen dat aan de naam van de procedure een
reëel getal als waarde wordt toegekend. ALGOL kent ook de
integer procedure en de boolean procedure, die resp. een
geheel getal en een logische waarde aan de naam van de procedure
toekent. Deze drie typen van procedures worden samengevat onder
de naam functie-procedures. Een functie-procedure kan alleen
maar in een uitdrukking worden aangegeven.
Er is in ALGOL echter nog een ander soort procedures gedefi
nieerd, soms wel aangeduid met de naam echte procedures. Deze
worden door een opdracht aangeroepen. Aan de naam van de proce
dures wordt dan geen waarde toegekend. Overigens heeft de echte
procedure dezelfde werking als de functie-procedure: aan para
meters, aan elementen van parameters van de procedure of aan
grootheden die in het geheel niet in de aanroep voorkomen worden
waarden toegekend.
Gesteld dat enige vectorvermenigvuldigingen moeten worden
uitgevoerd. Als voorbeeld kan genomen worden de volgende
formule uit de waarnemingsrekening, welke de vector van de
correcties levert bij toepassing van het eerste standaardvraagstuk:
Men kan dan nog de berekening van (2.23) in twee delen splitsen:
Tweemaal moet dus de vermenigvuldiging worden uitgevoerd van
een matrix met een vector.
De volgende correspondentie tussen de naamgeving uit de waar
nemingsrekening en de ALGOL-verklaringen wordt ingevoerd:
{-Y-) (grp) (-y)
(g*~) yT)
203
(si) (g-iT) (grp) ye)
(i 1, 2, m) (2.23)
(p, t 1, 2, b)
(2.24)
(2.25)