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

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 RandomDude
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.
Răspuns de daba
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

daba: Daca i++ nu este in while => raspuns corect a)
daba: daca i++ este in while =>raspunsuri corecte a) si d)
daba: aaa,da,am uitat sa iti zic: daca o intructiune de genul if,for,while,etc nu are paranteze va executa numai prima instructiune,fiind fix cea de sub acesta,daca pui paranteze ca astea {instructiuni} va executa toate instructiunile din paranteza
Alte întrebări interesante
Matematică, 9 ani în urmă