De variabele en de toekenning

In dit onderdeel bespreken we de manier waarop waarden aan variabelen worden toegekend.

Een variabele is als een doos ...

Net als in de wiskunde maken we in de informatica gebruik van variabelen. Een variabele is als een doos die voldoende groot is om er een zekere waarde in te stoppen.
Deze vergelijking met een doos leunt trouwens dicht tegen de werkelijkheid aan. Een variabele is immers niet meer dan een gereserveerde plaats in het geheugen (het dozenmagazijn), een plaats waarnaar je kan verwijzen om de waarde van die variabele op te vragen.

Hoe houden we de dozen uit elkaar? Labels!

Om de verschillende dozen uit elkaar te houden, kleven we er namen op: labels.

  • De doos met het label voornaam kan bijvoorbeeld het woord "Sven" of "Sanne" bevatten.
  • De doos met het label uur kan het getal 1, 14 of 3201 bevatten.

Hoewel dit niet verplicht is, kleven we best duidelijke labels op onze dozen, zodat we precies kunnen achterhalen wat in welke doos zit.
Een doos met label uur maar met waarde "Sven" zaait enkel verwarring en een doos met label x leert ons helemaal niets over haar waarde.

Een voldoende grote doos labelen: declareren

Van de vijf talen die we hier behandelen, bepalen vier ervan automatisch het type. Enkel Pascal verlangt een declaratie vooraf, zoals bvb.:

VAR uur: INTEGER;

Hier hebben we net een variabele uur gedeclareerd. De doos is van het type INTEGER, wat betekent dat de doos op maat gemaakt is om een geheel getal in onder te brengen. De doos kan in het magazijn onder het label uur worden teruggevonden.

Een waarde in de doos stoppen: toekennen

We zullen nu een waarde aan de variabele toekennen. Kennen we voor de eerste maal een waarde toe aan een variabele, dan spreken we over initialiseren.
We kennen het getal 12 toe aan de variabele met label uur. In Python wordt dit:

uur = 12
  • Pascal: uur := 12;
  • PHP: $uur = 12;
  • Scheme: (set! uur 12) of ook (define uur 12)
  • SmallTalk: uur := 12. of ook uur _ 12.

Een waarde weer uit de doos halen

We willen het aantal uur dat in de variabele uur zit, omzetten in minuten.

Een uur bevat 60 minuten, om het totaal aantal minuten te bekomen, moeten we bijgevolg het aantal uur vermenigvuldigen met 60.

In de informatica wordt de x vervangen door een * als symbool voor de vermenigvuldiging

minuten = uur * 60
  • Pascal: minuten := uur * 60; (mits declaratie VAR minuten : INTEGER;)
  • PHP: $minuten = $uur * 60;
  • Scheme: (set! minuten (* uur 60))
  • SmallTalk: minuten := uur * 60.
  1. We zochten de waarde in de doos met label uur op
  2. We haalden er de waarde 12 uit
  3. We voerden de bewerking 12 x 60 uit
  4. We kenden het resultaat van de bewerking toe aan de variabele minuten

De variabele minuten bevat nu waarde 720.
De waarde van de variabele uur werd hier niet gewijzigd en is dus nog steeds 12.

We willen de waarde van variabele uur wijzigen. Er komt een uur bij.

We moeten dus de waarde van onze variabele uur met 1 verhogen.

uur = uur + 1
  • Pascal: uur := uur + 1;
  • PHP: $uur = $uur + 1;
  • Scheme: (set! uur (+ uur 1))
  • SmallTalk: uur := uur + 1.
  1. We zochten de waarde in de doos met label uur op
  2. We haalden er de waarde 12 uit
  3. We voerden de bewerking 12 + 1 uit
  4. We kenden het resultaat van de bewerking toe aan de variabele uur

De waarde van variabele uur werd nu tot 13 verhoogd. De waarde van minuten wijzigt niet en is nog steeds 720.

Shorthands

In PHP en Python kun je de laatste opdracht ook shorthands gebruiken.
In Python komen uur = uur + 1 en uur += 1 overeen.
In PHP komen $uur = $uur + 1; en $uur += 1; overeen.