II.1 Model 2020 (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. | |
| a) | Scrieți valoarea afișată în urma executării algoritmului dacă se citesc, în această ordine, numerele 21, 38 și 4. (6p.) | |
| b) | Dacă pentru m şi x se citesc numerele 20, respectiv 2020, scrieți cea mai mică şi cea mai mare valoare care pot fi citite pentru variabila n, astfel încât, în urma executării algoritmului, pentru fiecare dintre acestea să se afişeze 2020. (6p.) | |
| c) | Scrieți programul C/C++ corespunzător algoritmului dat. (10p.) | |
| d) | Scrieți în pseudocod un algoritm, echivalent cu cel dat, înlocuind structura repetă…până când cu o structură de alt tip. (6p.) | |

Algoritmul calculează în variabila s, suma valorilor multiplu de x întâlnite în intervalul [m, n]. Pentru precizarea valorii 120 se acordă 6p.
Rezolvare pas cu pas
| m | n | x | s | pm | pn | Afișare |
| 21 | 38 | 4 | 0 | 1 | 1 | |
| 22 | 37 | |||||
| 23 | 36 | 36 | 4 | |||
| 24 | 32 | 60 | 4 | |||
| 28 | 28 | 92 | 4 | |||
| 32 | 24 | 120 | 4 | 120 |
Valoarea cea mai mică pe care o poate lua variabila n este 2020. Orice număr natural nenul mai mic decât această valoare, ar duce la oprirea algoritmului în momentul în care valoarea lui m depășește valoarea lui n, fără ca valoarea inițială a lui s să fie modificată.
Cea mai mare valoare este 4039 pentru că orice alt număr mai mare decât aceasta, ar adăuga la s cel puțin valoarea 4040. Se acordă câte 3p. pentru fiecare din cele douâ valori 2020, respective 4039.
| Pentru program corect se acordă 10 puncte astfel: | |
| – declarare variabile | 1 punct |
| – citire date | 1 punct |
| – afișare date | 1 punct |
| – instrucțiune repetitivă | 2 puncte |
| – instrucțiuni de decizie (Se acordă numai 2p. dacă doar una dintre instrucțiunile de decizie este conform cerinței.) | 3 puncte |
| – atribuiri | 1 punct |
| – corectitudine globală a programului | 1 punct |

