[Prog] lokale/globale/actuele/formele parameters?

Forum van 1ste Bachelor Informatica.

Moderator: Praesidium

User avatar
racekakje
WOZ
Posts: 740

[Prog] lokale/globale/actuele/formele parameters?

Post#1 » Tue Oct 23, 2007 9:01 am

Kan iemand mij nog is uitleggen wat het verschil is tss lokale/globale/actuele/formele parameters?

Thx,

User avatar
Robbe
WOZ
Posts: 2161
Contact:

Post#2 » Tue Oct 23, 2007 10:37 am

parameters zijn altijd lokaal t.o.v. de procedure. Globale parameters zouden niet mogen voorkomen als je je een beetje aan de stijl van prof. Arickx houdt. Dit zijn parameters die je niet aan je procedure meegeeft, maar die je wel kan gebruiken zonder ze eerst te declareren (d.m.v. CONST)

Formele en actuele parameters is iets anders. Formele parameters slaagt op je procedurehoofd en zijn dus wat de procedure verwacht. Placeholders if you will :)

Code: Select all

PROCEDURE vb (VAR frank: INTEGER; gerolf: REAL)
De parameters die je meegeeft met de procedure oproep zijn de actuele parameters, ze zijn op dat moment dus de echte parameters van de procedure

Maar dit stond 2 jaar geleden vrij goed in de cursus uitgelegd en vrij goed uitgelegd door prof Arickx. Is de cursus/manier van lesgeven zo hard veranderd dan?
"I'm not afraid of falling, I'm afraid of landing" -- Sam
How To Ask Questions The Smart Way

Zingen? UKA-n dat ook!

User avatar
racekakje
WOZ
Posts: 740

Post#3 » Tue Oct 23, 2007 10:52 am

Ik begreep verschil tss actuele en formele wel, maar globale en lokale kwam ik ineens tegen en kreeg er geen zicht op...

Bedankt!

User avatar
cG`
Posts: 75

Post#4 » Thu Oct 25, 2007 12:16 pm

Robbe wrote:Globale parameters zouden niet mogen voorkomen als je je een beetje aan de stijl van prof. Arickx houdt. Dit zijn parameters die je niet aan je procedure meegeeft, maar die je wel kan gebruiken zonder ze eerst te declareren (d.m.v. CONST)
Voor zover ik weet bestaan globale parameters niet, maar wel globale variabelen en dat kan maar hoeft geen CONST te zijn.

Code: Select all

MODULE Globaal

VAR
globaal: INTEGER;


PROCEDURE Test()

BEGIN
globaal = globaal + 1;
END Test;


PROCEDURE Do*()

VAR
i: INTEGER;

BEGIN
Test();
END Do;
De syntax klopt mss niet helemaal (Oberon staat niet meer op pc) maar het is maar om aan te tonen dat de procedure Test toegang heeft tot de variabele 'globaal'.
Ik weet niet of je al gezien hebt dat je procedures ook kan 'nesten' in Oberon, maar als je dat doet kan de geneste procedure ook aan alle variabelen van de procedure waarin ze genest werd. Dus die variabelen zijn ook globaal tov de geneste procedure.
Lokaal/globaal gaat altijd over hoe/waar je het bekijkt. De globale variabele uit mijn voorbeeld is globaal t.o.v. de procedures en lokaal t.o.v. de module.
[i]"Everything should be made as simple as possible, but not simpler."[/i] - Albert Einstein

Return to “1ste Bachelor”

Who is online

Users browsing this forum: No registered users and 5 guests

cron