Programmeren, de basis/Variabelen, constanten en hun gegevenstypen

Uit Wikibooks
Naar navigatie springen Naar zoeken springen

Variabelen[bewerken]

Soms heb je een bepaalde (berekende) waarde (value) doorheen de programmacode meer dan één keer nodig. In dat geval kun je – i.p.v. die waarde steeds opnieuw te berekenen – de waarde opslaan in een variabele en dan gewoon de naam van de variabele gebruiken. Bij een complexe berekening kan je d.m.v. variabelen deze berekening opsplitsen in tussenstappen, waarvan je elk tussenresultaat kan opslaan in een aparte variabele. Een variabele is dus een benoemde geheugenlocatie waar gegevens opgeslagen kunnen worden.

In het voorbeeld van 'Basisbewerkingen met twee getallen' heb je gemerkt dat we schreven som = getal1 + getal2. Het (tussen)resultaat stoppen we a.h.w. in 'som'. We noemen 'som' een variabele. Deze variabele is nodig omdat we ergens een plaats willen in het geheugen om het resultaat van 'getal1 + getal2' in op te slaan. Wij hoeven als programmeur niet te weten waar dat dan precies is, daar wij enkel de naam moeten onthouden. Dit is vaak erg handig voor een progammeur.

Datatypes of gegevenstypes[bewerken]

In een rekenblad (bv. Excel of Calc) of in een databank (bv. Access of MySQL) kan je per cel of veldnaam opgeven om welke soort gegevens het gaat. Zo heb je oa. de mogelijkheid voor getallen, tekst of valuta.

Voor de computer kan het belangrijk zijn van welk type het gegeven 'som' is, een computer is immers dom en weet niet of som datum, tekst of een getal is. En het zou zinloos zijn om een datum op te tellen bij een tekst. Bovendien is er een verschil tussen kleine en tussen grote getallen en tussen gehele en reële getallen. Vandaar eisen heel wat programmeertalen dat je niet alleen de naam van een variabele opgeeft, maar ook zijn gegevenstype. Wanneer de computer werkt met gegevens, dan is het belangrijk dat hij weet met welk soort gegevens hij werkt, tekst is immers niet hetzelfde als een getal, met tekst kan je bijvoorbeeld niet gaan rekenen. Elk gegevenstype neemt een bepaalde plaats in in het geheugen. De vaakst voorkomende gegevenstypen:

GegevenstypenSoorten.png

Hieronder vind je een overzicht van vaak voorkomende datatypes:

Pseudocode Excel/Calc Access VBA Java
Geheel getal Getal Numeriek Integer int
Reëel getal Getal Numeriek Single float
Tekst Tekst Tekst String String
Datum Datum Datum/tijd Date Date
Waar/Vals Ja/nee Boolean boolean

Bij sommige programmeertalen, zoals PHP en JavaScript, is het niet nodig om expliciet een datatype op te geven. Nochtans heeft het expliciet opgeven van een datatype voordelen: grotere snelheid, besparing van geheugen en het wordt eenvoudiger voor het opsporen van fouten.

Declaratie[bewerken]

Belangrijk bij het declareren van een variabele is het opgeven van een naam en het gegevenstype (alhoewel je niet bij alle programmeertalen een gegevenstype moet opgeven).

Vb. in VBA: Dim sngSom As Single

Vb. in Java: int nummer;

Initialisatie[bewerken]

Een variabele krijgt een waarde (value) door deze te initialiseren. Na het uitvoeren van onderstaande opdracht heeft de variabele een inhoud gekregen bepaald door de uitdrukking rechts. Het is natuurlijk belangrijk dat de uitdrukking aan de rechterkant van hetzelfde gegevenstype is dan wat verwacht wordt aan de linkerkant. Zo kan je geen tekst toekennen aan een variabele die een getal verwacht.

Vb. in VBA: sngSom = 3

Vb. in Java: nummer = 3;

Merk op dat als je tekst wilt voorstellen, dit in de meeste programmeertalen moet omgeven zijn door aanhalingstekens (“”).

Constanten[bewerken]

Bepaalde waarden blijven gedurende gans het programma – onafhankelijk van wanneer of hoe het uitgevoerd wordt – dezelfde. Zo is het getal π een constante, alsook de datum waarop Kerstmis valt. Als je in programmeren gebruikt maakt van een constante, dan kan je de waarde niet meer veranderen. Op die manier worden fouten vermeden en wordt het onderhoud van de programmacode eenvoudiger. Ook hier is vaak een gegevenstype van toepassing, dezelfde als bij variabelen.

Vb. in VBA: Const csngPi As Single = 3.14159265

Vb. in PHP: define ("PI", "3.14159265");

Naamgeving: Leszynski naamconventie (LNC)[bewerken]

Net zoals bij de besturingselementen via een voorvoegsel kan aangeven om welk soort besturingselement het gaat, kan je dat ook met variabelen. Ditmaal kan je via het voorvoegsel afleiden wat het gegevenstype is van die variabele.

Bij een constante wordt het voorvoegsel steeds voorafgegaan door de letter c.

Gegevenstype Data Type (en) Voorvoegsel bij variabele Voorvoegsel bij constante
geheel getal integer int cint
reëel getal single sng csng
tekst string str cstr
datum date dte cdte
waar/vals boolean bln cbln

Oefeningen[bewerken]

Taalrapport[bewerken]

De constanten[bewerken]

Eventueel zou je het maximum te behalen punten (nl. 100) en het aantal vakken (nl. 3) in constanten kunnen stoppen. Deze constanten zou je dan kunnen gebruiken in je formule voor het totaal: totaal = (nl + fr + en) / (nVakken * maxPtn).

De variabelen[bewerken]

LNC naam gegevenstype uitleg
int ptnNederlands geheel getal
int ptnFrans geheel getal
int ptnEngels geheel getal
sng ptnTotaal reëel getal

Tekstvak met kleur[bewerken]

In deze oefening zijn er geen constanten of variabelen.

Prijsofferte[bewerken]

Bij het lezen van de probleemstelling kunnen we al enkele variabelen en constanten afleiden, samen met hun gegevenstypen. Merk op dat niet alle informatie moet verwerkt worden (zo wordt de straatnaam enkel ingevuld, maar gebeurt er verder niets mee).

De constanten[bewerken]

Volgende waarden mogen doorheen het programma zeker niet van waarde wijzigen, hoeveel keer het programma ook wordt uitgevoerd.

LNC naam gegevenstype waarde uitleg
csng winst reëel getal 0,30 de gebruikte winst
csng uurloon reëel getal 42,14 het loon dat de loodgieter per uur rekent
cint drempelOudHuis geheel getal 20 welke leeftijd maakt een huis 'oud'
csng btwOudHuis geheel getal 0,06 het BTW-percentage dat van toepassing is op een huis ouder dan 20 jaar
csng btwNieuwHuis reëel getal 0,21 het BTW-percentage dat van toepassing is op een huis jonger dan 20 jaar
cint maxAantalTermijnen natuurlijk getal 12

Betreffende de verplaatsingskosten zijn er ook nog enkele constanten:

LNC naam gegevenstype waarde uitleg
csng kostNrWVl reëel getal 10
csng kostNrOVl reëel getal 0
csng kostNrAnt reëel getal 20
csng kostNrLi reëel getal 30

De variabelen[bewerken]

Uit de opgave kunnen we ook nog gegevens halen die afhankelijk zijn van wat er werd ingevoerd en dus dus kunnen variëren. Een lijst van variabelen:

LNC naam gegevenstype
str naamKlant tekst
str provincie tekst
sng prijsOnderdelen reëel getal
int ouderdomHuis geheel getal
sng verplaatsingskosten reëel getal
sng bedragExclBTW reëel getal
sng verplaatsingskosten reëel getal
sng BTWbedrag reëel getal
sng totaalBedrag reëel getal
sng termijnBedrag reëel getal
Informatie afkomstig van http://nl.wikibooks.org Wikibooks NL.
Wikibooks NL is onderdeel van de wikimediafoundation.