Informatică, întrebare adresată de baluteltania, 9 ani în urmă

fie functia:
function secret (x;integer):integer
var i,j : integer
begin i:=2*x;
if i>10 then j:=x mod 2 else j:=x div3;
secret:=j-2*x;
end.
Ce va afisa acest fragment de program pentru x=10 la adresarea Writeln (secret(x))?
Demonstrati.

Răspunsuri la întrebare

Răspuns de blindseeker90
1
i:=2*x; inseamna ca i devine 20 pentru x=10

if i>10 then j:=x mod 2 else j:=x div3; se pune conditia daca i>10
Daca este mai mare ca 10, atunci j primeste restul impartirii lui x la 2(asta inseamna mod) Daca nu este mai mare ca 10, atunci primeste catul impartirii lui x la 3
. In cazul tau, i=20>10, atunci j este restul impartirii lui 10 la 2 adica 0(se imparte fix).
secret:=j-2*x; j=0 si x=10 atunci secret=0-2*10=-20
Deci functia va da valoarea -20.


baluteltania: multumesc
Alte întrebări interesante