Dau coroană. Care atribuie x=n^2 ? Explicatie de ce nu cealalta.
a) x=1 ;
for (i=1; i<=2 ; i++) x*=n;
d) x=1 ; i=0;
while (i<2) x*=n; i++;
daba:
i++ e in while ???
Răspunsuri la întrebare
Răspuns de
0
a) este cea corecta deoarece dupa for se executa o singura instructiune, ceea ce e corect (adica nu mai e nevoie de { } ).
d) e gresita deoarece while-ul nu contine {} astfel intra intr-o bucla infinita deoarece niciodata contorul i nu se va mari in interiorul buclei while, in momentul intrarii i =0 iar while (i<2) este mereu adevarata, si se executa la nesfarsit x*=n;
Ar afisa raspunsul corect daca era scris in felul urmator : x=1 ; i=0;
while (i<2){ x*=n; i++;} astfel introducem si i-ul in bucla while ducand la un rezultat final.
d) e gresita deoarece while-ul nu contine {} astfel intra intr-o bucla infinita deoarece niciodata contorul i nu se va mari in interiorul buclei while, in momentul intrarii i =0 iar while (i<2) este mereu adevarata, si se executa la nesfarsit x*=n;
Ar afisa raspunsul corect daca era scris in felul urmator : x=1 ; i=0;
while (i<2){ x*=n; i++;} astfel introducem si i-ul in bucla while ducand la un rezultat final.
Răspuns de
0
a) x=1
Acum vine for-ul:
1) i=1
x*=n (asta inseamna x=x*n;orice numar inmultit cu 1 e acelasi numar,exceptand 0)
x=x*n=>x=1*n=>x=n
2) i=2
x*=n
x=x*n=>x=n*n=>x=n^2 (x si-a pastrat valoare de la 1,aceea fiind modificata in n)
a) este corect
d) Acesta poate fi gresit sau corect,deoarece nu stiu daca i++ intra in while
Daca nu intra i++ in while:
x=1;i=0;
1)0<2 (True)
x*=n =>x=n (deoarece x este 1 initial si ai inteles ideea de la a) )
2)0<2(True)
x*=n =>x=n*n=>x=n^2
3)0<2(True)
x*=n =>x=n^2*n=>x=n^3
Si tot asa la infinit,deoarece i-ul nu creste niciodata si nu va atinge vreodata valoarea 2,pentru a iesi din while
Daca i++ e in while:
x=1;i=0;
1)0<2(True)
x*=n
x=n;
i=i+1(i++ inseamna i=i+1 si i-- inseamna i=i-1) =>i=0+1 =>i=1
2)1<2(True)
x*=n
x=n*n
x=n^2
i=i+1 =>i=1+1=>i=2
3)2<2 (False,deoarece 2 nu este mai mic ca 2,daca era 2<=2,insemnand 2 mai mic SAU EGAL ca 2 ar fi fost adevarat)
while s-a terminat si a ramas x=n^2
Acum vine for-ul:
1) i=1
x*=n (asta inseamna x=x*n;orice numar inmultit cu 1 e acelasi numar,exceptand 0)
x=x*n=>x=1*n=>x=n
2) i=2
x*=n
x=x*n=>x=n*n=>x=n^2 (x si-a pastrat valoare de la 1,aceea fiind modificata in n)
a) este corect
d) Acesta poate fi gresit sau corect,deoarece nu stiu daca i++ intra in while
Daca nu intra i++ in while:
x=1;i=0;
1)0<2 (True)
x*=n =>x=n (deoarece x este 1 initial si ai inteles ideea de la a) )
2)0<2(True)
x*=n =>x=n*n=>x=n^2
3)0<2(True)
x*=n =>x=n^2*n=>x=n^3
Si tot asa la infinit,deoarece i-ul nu creste niciodata si nu va atinge vreodata valoarea 2,pentru a iesi din while
Daca i++ e in while:
x=1;i=0;
1)0<2(True)
x*=n
x=n;
i=i+1(i++ inseamna i=i+1 si i-- inseamna i=i-1) =>i=0+1 =>i=1
2)1<2(True)
x*=n
x=n*n
x=n^2
i=i+1 =>i=1+1=>i=2
3)2<2 (False,deoarece 2 nu este mai mic ca 2,daca era 2<=2,insemnand 2 mai mic SAU EGAL ca 2 ar fi fost adevarat)
while s-a terminat si a ramas x=n^2
Alte întrebări interesante
Limba română,
8 ani în urmă
Matematică,
9 ani în urmă
Matematică,
9 ani în urmă
Matematică,
9 ani în urmă