Werken met getallen

Tot nu toe hebben we in variabelen alleen woorden gestopt. Maar je kunt zeker ook met getallen werken. Als voorbeeld gaan we de computer laten rekenen.

program optellen;var  getal1: Integer;  getal2: Integer;  uitkomst: Integer;begin  writeln('Geef getal 1:');  readln(getal1);  writeln('Geef getal 2:');  readln(getal2);  uitkomst:=getal1+getal2;  writeln(getal1,'+',getal2,'=',uitkomst);  writeln('Knap he, dat ik dat zo kan uitrekenen?');  readln;end.

Eigenlijk gebeurt er niet eens zoveel nieuws in dit programma. Het belangrijkste is een nieuw type variabele, namelijk de integer. Pascal kent een aantal typen variabelen:

Er zijn er nog meer, maar die komen nog wel ;-)

Zoals je ziet maakt de computer onderscheidt tussen verschillende soorten getallen; met en zonder komma. Bovendien kun je niet in elk type even grote getallen opslaan. Waarom zou dat zo zijn?

Dit heeft te maken met het geheugen van de computur: verschillende typen nemen een verschillende hoeveelheid geheugen in. een byte, bjivoobeeld, neemt, wel, een byte in beslag. Een real neemt wel 4 bytes in beslag!
Dat lijkt niet zo heel belangrijk. Maar vergis je niet: als je straks grote programma's maakt en je probeert misschien wel een miljoen getallen in het geheugen van de computer te stoppen, dan snap je misschien dat het wel heel belangrijk dat er per getal 1 byte of 4 gebruikt worden! (Daar komt nog bij dat het voor een computer relatief moeilijk is om met komma's te rekenen. Het rekenen met een real kost veel meer tijd dan met een byte!)

 En er zit nog iets nieuws in: het maken van een berekening:   uitkomst:=getal1+getal2;

Een ding is hier opvallend. Waarom staat er := in plaats van gewoon alleen =?.

Computertaal is, zoals al eerder gezegd, heel precies.  Een woord of een teken kan maar een ding betekenen...! En voor de computer betekent = alleen dat hij twee variabelen moet vergelijken! (Weet je nog van de vorige les? if woord='spruitjes' then?) Mensen snappen wel dat we dat hier niet bedoelen - maar de computer weet dat niet! Dus moest er een ander tekenen verzonnen worden. In PASCAl is dat := geworden. En dat betekent dus voor de computer: maak gelijk aan. (en niet: is dat gelijk aan [als vraag]!).

Opdracht: Verander het programma zo dat het niet alleen de getallen optelt, maar ook van elkaar aftrekt, vermenigvuldigd - en deelt.

(let op: delen is een instinker... kun je bedenken waarom?)