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

nkixpAfișare
103110 
  22  
  331 
   1  
  44  
  55  
  662 
   2  
  77  
  88  
  993 
   34 
   1  
  1010 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 variabile1 punct
-citire date1 punct
-afişare date1 punct
-instrucţiuni repetitive (Se acordă numai 2p. dacă doar una dintre instrucțiunile repetitive este conform cerinței.)4 puncte
-atribuiri2 puncte
-corectitudine globală a programului1 punct