anonim_4396
| anonim_4396 a întrebat:

2. Se consideră algoritmul alăturat, descris în
pseudocod.
S-a notat cu x%y restul împărţirii numărului natural x la
numărul natural nenul y, iar cu [z] partea întreagă a
numărului real z.
a) Scrieţi valorile care se afişează dacă se citeşte
numărul x=1628. (6p.)
b) Scrieţi o valoare cu minimum 3 cifre ce poate fi citită
pentru x, astfel încât toate numerele afişate să fie
egale între ele. (4p.)
c) Scrieţi programul C/C++ corespunzător algoritmului
dat. (10p.)
d) Scrieţi în pseudocod un algoritm echivalent cu cel
dat în care structura cât timp... execută să fie
înlocuită cu o structură repetitivă cu test final. (6p.)
citeşte x
(număr natural)
aux? x
t? 1
┌cât timp >aux9 execută
│ aux? aux/10
│ t? t*10
└■
aux? x
┌repetă
│ c? x%10
│ x?[x/10]
│ x? c*t+x
│ scrie x
└până când x=aux
ma ajutati si pe mine la a si b va rog frumos? daca nu intelegeti ceva, e varianta 62 bac 2009, subiectul 1 exercitiul 2

1 răspuns:
| TheCrusader a răspuns:

La bac o sa iti ceara pentru punctul a) ori sa scrii rezultatul fiecarei linii de cod ori sa scrii in mare ce face programul si ce returneaza. Asadar se observa ca primul loop afla magnitudinea lui x (adica daca ai x = 123 atunci t = 100; daca ai x = 12345 atunci ai t = 10000). Urmatorul loop stocheaza ultima cifra a lui x in c; scoate complet cifra; si o pute in fata. E ca un fel de ruleta: daca ai x = 123; programul o sa scrie 312 dupa 231 dupa 123. Prin urmare: pentru x = 1628, programul afiseaza valorile : 8162, 2816, 6281 si 1628.
La punctul b) vrea sa ii dai un numar x de forma abc, unde a, b, c sunt cifre de la 0 la 9 astfel incat cab = bca = abc;