Loading presentation...

Present Remotely

Send the link below via email or IM

Copy

Present to your audience

Start remote presentation

  • Invited audience members will follow you as you navigate and present
  • People invited to a presentation do not need a Prezi account
  • This link expires 10 minutes after you close the presentation
  • A maximum of 30 users can follow your presentation
  • Learn more about this feature in our knowledge base article

Do you really want to delete this prezi?

Neither you, nor the coeditors you shared it with will be able to recover it again.

DeleteCancel

Make your likes visible on Facebook?

Connect your Facebook account to Prezi and let your likes appear on your timeline.
You can change this under Settings & Account at any time.

No, thanks

Efecte colaterale !

No description
by

Cristina Bîrladeanu

on 7 November 2013

Comments (0)

Please log in to add your comment.

Report abuse

Transcript of Efecte colaterale !

Efecte colaterale !
Definitie si proprietati !
Prin efect colateral noi intelegem o atribuire , localizata in corpul functiei, care apartine unei valori la o variabila globala sau la un parametru formal variabila.
Efectele colaterale, insa, pot liber influenta executia unui program si de asemenea, sa complice procesul de depanare.
In cazul procedurilor, atribuirile asupra variabilelor globale produc efecte colaterale similare celor discutate pentru astfel de atribuiri la functii.
Efectele colaterale introduc abateri de la procesul-standart de comunicare, prin care variabilele participante sind desemnate explicit ca parametri formali in declaratie si parametri actuali in apel. Consecintele efectelor colaterale se pot propaga in domeniul de vizibilitate al declaratiilor globale si pot interfera cu cele similare, produse la executia altor proceduri si functii. In astfel de conditii, utilizarea variabilelor globale devine riscanta. Prin urmare, la elaborarea programelor complexe se vor aplica urmatoarele recomandari:


Exemple
Program

Soare;
{efect colateral - atribuire la o variabila globala}
var
a : integer;
{variabila globala}
function

F ( x : integer ) : integer

;
begin
F:=a*x;
a:=a+1;
{atribuire defectuoasa}
end;

{F}
begin
a:=1;
writeln (F(1));
{se afiseaza 1 }
writeln (F(1));
{se afiseaza 2 }
writeln (F(1));
{se afiseaza 3 }
readln;
end.







In programul Soare functia F returneaza valoarea expresiei a*x. Pe linga aceasta insa, atribuirea a:=a+1 altereaza valoarea variabilei globale a. Astfel, pentru una si aceeasi valoare 1 a argumentului x functia returneaza rezultate diferite in cele 3 cazuri, fapt ce nu se incadreaza in conceptul uzual de functie.
Comunicarea functiilor cu mediul de chemare se va face prin transmiterea de date spre functie prin parametri formali valoare si intoarcerea unui singur rezultat prin numele ei;
Comunicarea procedurilor cu mediul de chemare se va face prin transmiterea de date prin parametri formali valoare sau variabila si intoarcerea rezultatelor prin parametri formali variabila;
Variabilele globale pot fi folosite pentru transmiterea datelor in subprograme, insa valorile lor nu trebuie sa fie schimbate de acestea.
Full transcript