197
Ook deze formule kan slechts op één wijze worden opgevat, doordat
duidelijk staat aangegeven dat het cijfer volgend op alleen maar
als index kan worden gezien.
Elke dubbelzinnigheid wordt dus vermeden door aan elk symbool
een nauwkeurig omschreven betekenis toe te kennen. Dit heeft
voor de menselijke communicatie voordelen, doordat misverstanden
worden voorkomen. Maar voor de communicatie van de mens met
zijn rekenautomaat is een dergelijke eenduidigheid bittere nood
zaak. Immers een rekentuig kan niets „uit het verband opmaken",
tenzij het de regels voor dit „uit het verband opmaken" ter be
schikking heeft, maar dat betekent juist weer het uitsluiten van
alle dubbelzinnigheden.
Elk symbool heeft dus zijn eigen, nauwkeurig gedefinieerde bete
kenis. Daarom kan men ook niet in ALGOL zonder meer het
teken in zijn gebruikelijke betekenis opvatten. Wanneer er
immers geschreven staat
z x y, (2.5)
dan kan deze uitdrukking twee verschillende betekenissen hebben.
Er kan bedoeld zijn: de variabelen x, y en z hebben een bepaalde
waarde. Tel de waarden van x en y op en vergelijk de verkregen
uitkomst met de waarde van z. Er zijn dan slechts twee mogelijke
uitkomsten. Het kan zijn dat de waarde van z inderdaad gelijk is
aan de som van de waarden van en y. Dan heeft de vergelijking
als uitkomst: waar (ALGOL-symbooltrue). In het tegenover
gestelde geval heeft de vergelijking als uitkomst false. Als verge
lijking opgevat heeft dus de uitdrukking als uitkomst een logische
waarde (boolean).
De andere betekenis van de uitdrukking is: tel de waarden van
x en y op, en ken de verkregen uitkomst toe aan z.
In de eerste betekenis is de uitdrukking dus een vergelijking.
In ALGOL gebruikt men dan het teken:
z x y (2.6)
In de tweede betekenis is de uitdrukking een rekenvoorschrift.
Men gebruikt dan in ALGOL het (spreek: wordt-) teken:
2:= x y; (2.7)
In onderstaande opdracht worden beide tekens gebruikt, waar
door hun onderscheid duidelijk tot uiting komt:
if x y then x:= y; (2.8)
Dit wil zeggen: vergelijk de waarden van x en y. Indien beide
waarden aan elkaar gelijk zijn, ken dan de van teken veranderde
waarde van y toe aan x.
Men spreekt in dit geval van een voorwaardelijke opdracht,
omdat de opdracht slechts wordt uitgevoerd, indien aan een bepaal
de voorwaarde (in dit geval x y) is voldaan.