Informatică, întrebare adresată de Luis1513, 8 ani în urmă

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 de ionatanferariu
4

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.


Luis1513: Ok si daca expresia era adevarata ce se afisa?
ionatanferariu: Se repeta în continuare, până expresia devine nulă
ionatanferariu: Cam asta e rolul structurilor repetitive, să se repete până când expresia este falsă
ionatanferariu: De fapt se afișa ABAB în funcție de numărul de execuții
Luis1513: ok mersi
Alte întrebări interesante