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ăspuns :

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.