II.1 august 2019
Sesiunea Iulie 2019
Subiectul al III-lea – Exerciţiul 2
| 1. | Algoritmul alăturat este reprezentat în pseudocod. S-a notat cu a%b restul împărţirii numărului natural a la numărul natural nenul b şi cu [c] partea întreagă a numărului real c. | |
| a) | Scrieţi valoarea afişată dacă se citesc, în această ordine, numerele 10 și 3. (6p.) | |
| b) | Dacă pentru k se citeşte numărul 5, scrieţi trei numere care pot fi citite pentru n astfel încât, în urma executării algoritmului, pentru fiecare dintre acestea valoarea afişată să fie 10. (6p.) | |
| c) | Scrieți programul C/C++ corespunzător algoritmului dat. (10p.) | |
| d) | Scrieţi în pseudocod un algoritm, echivalent cu cel dat, înlocuind prima structură cât timp…execută cu o structură de tip pentru…execută. (6p.) | |

Algoritmul calculează în variabila p suma exponenților factorului prim k din descompunerea fiecărei valori naturale din intervalul [1, n].
Rezolvare pas cu pas
| n | k | i | x | p | Afișare |
| 10 | 3 | 1 | 1 | 0 | |
| 2 | 2 | ||||
| 3 | 3 | 1 | |||
| 1 | |||||
| 4 | 4 | ||||
| 5 | 5 | ||||
| 6 | 6 | 2 | |||
| 2 | |||||
| 7 | 7 | ||||
| 8 | 8 | ||||
| 9 | 9 | 3 | |||
| 3 | 4 | ||||
| 1 | |||||
| 10 | 10 | 4 |
Valorile care aduc modificări variabilei p trebuie să fie valori nenule, multiplu de 5. A zecea valoare de acest tip este 50, dar cum valoarea 25 determină mărirea valorii variabilei p cu două unități, ne vom opri la valoarea 45. Pentru orice valoare naturală din intervalul [45, 50) se acordă 6p.
| Pentru program corect se acordă 10 puncte astfel: | |
| -declarare variabile | 1 punct |
| -citire date | 1 punct |
| -afişare date | 1 punct |
| -instrucţiuni repetitive (Se acordă numai 2p. dacă doar una dintre instrucțiunile repetitive este conform cerinței.) | 4 puncte |
| -atribuiri | 2 puncte |
| -corectitudine globală a programului | 1 punct |

