II sesiune specială 2019 (S.N.)
Subiectul al II-lea
| 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]. Pentru precizarea valorii 4 se acordă 6 puncte.
Rezolvare pas cu pas
| n | k | p | i | i≤n | x | x%k=0 |
| 10 | 3 | 0 | 1 | |||
| 1->2 | da | 1 | nu | |||
| 2->3 | da | 2 | nu | |||
| da | 3 | da | ||||
| 1 | 3->4 | 1 | nu | |||
| 4->5 | da | 4 | nu | |||
| 5->6 | da | 5 | nu | |||
| da | 6 | da | ||||
| 2 | 6->7 | 2 | nu | |||
| 7->8 | da | 7 | nu | |||
| 8->9 | da | 8 | nu | |||
| da | 9 | da | ||||
| 3 | 3 | da | ||||
| 4 | 9->10 | da | 1 | nu | ||
| 10->11 | nu | 10 | nu |
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 oricare trei valori din intervalul [45, 50) se acordă 3×2 puncte=6 puncte.
| 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 |

