Se consideră algoritmul alăturat, descris în pseudocod.
Scrieţi succesiunea de caractere pe care le va afişa
algoritmul dacă se citesc, în aceasta ordine, valorile 2,
respectiv 9.
citeşte x,y
(numere naturale)
┌dacă x
│ x=x-y
│ y=x+y
│ x=y-x
└■
┌cât timp x≥y execută
│ scrie ’A’
│ x=x-y
│ scrie ’B’
└■
-VREAU O EXPLICATIE CA SA INTELEG CUM SE REZOLVA!!!
Răspunsuri la întrebare
Răspuns:
In primul rand, trebuie sa stii ca pentru x se citeste valoarea 2, iar pentru y valoarea 9.
Mai departe, la structura alternativa daca, trebuie sa fim foarte atenti. Structura se va executa doar daca x va fi diferit de 0, ceea ce este adevarat.
Acum, x=x-y devine x=2-9, adica x=-7, o valoare negativa. Valoarea initiala a lui x, adica 2, este inlocuita cu valoarea -7, ceea ce inseamna ca prima valoare s-a pierdut.
y = x + y, deci y = 11. Din nou, valoarea 9 a lui y (valoarea initiala) s-a pierdut si a fost inlocuita cu 11, noua valoare a lui y.
x=y-x rezulta ca x = 11 - (-7), adica x = 18, iarasi s-a pierdut valoarea lui x si s-a inlocuit cu 18. Valoarea lui x este 18, iar a lui y este 11.
Structura repetitiva cat timp, se repeta atat timp cat 18 este mai mare sau egal decat 11.
1. Se evalueaza expresia si se observa ca e nenula.
2. Pe ecran se scrie 'A';
3. x devine 18 - 11, adica 7.
4. Pe ecran se scrie 'B',
1. Se reevalueaza expresia si se constata ca este nula, pentru ca 7 nu este mai mare sau egal cu 11, ceea ce inseamna ca expresia este falsa.
Pe ecran se afiseaza AB.