Informatică, întrebare adresată de anetp, 8 ani în urmă

Vaa rog mult am nevoie de raspunsul la intrebarea data:
-Care este cauza efectelor colaterale ? C e consecinte pot avea aceste efecte?

Răspunsuri la întrebare

Răspuns de boiustef
3

Răspuns:

Explicație:

Prin efect colateral se înţelege o atribuire (în corpul funcţiei) a unei valori la o variabilă  globală sau la un parametru formal variabilă. Efectele colaterale pot influenţa  în mod neaşteptat execuţia unui program şi complică procesele de depanare.

Prezentăm în continuare exemple defectuoase de programare, care folosesc funcţii

cu efecte colaterale.

Program P110;

{Efect colateral - atribuire la o variabilă globală}

var a : integer; { variabilă globală }

function F(x : integer) : integer;

begin

F:=a*x;

a:=a+1; {atribuire defectuoasă }

end; { F }

Program P111;

{Efect colateral - atribuire la un parametru formal}

var a : integer;

function F(var x : integer) : integer;

begin

F:=2*x;

x:=x+1; { atribuire defectuoasă }

end; { F }

Prin urmare, la elaborarea programelor complexe se

vor aplica următoarele recomandări:

1. Comunicarea funcţiilor cu mediul de chemare se va face prin transmiterea de  date spre funcţie prin parametri formali valoare şi întoarcerea unui singur rezultat  prin numele ei.

2. Comunicarea procedurilor cu mediul de chemare se va face prin transmiterea  de date prin parametri formali valoare sau variabilă şi întoarcerea rezultatelor prin  parametri formali variabilă.

3. Variabilele globale pot fi folosite pentru transmiterea datelor în subprograme,  însă valorile lor nu trebuie să fi e schimbate de acestea.

Alte întrebări interesante