II.1 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 citește numărul 27102.     (6p.)
b)Scrieţi trei numere distincte din intervalul [10,9999] care pot fi citite, astfel încât în urma executării algoritmului, pentru fiecare dintre acestea, valoarea afişată să fie 11.                          (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 construiește un număr format din toate cifrele nenule ale lui n în ordine crescătoare. Răspuns corect: 1227

Rezolvare pas cu pas

nmxx≤9cpcp≠0cp%10=xAfişaj
2710201     
   da27102danu 
    2710danu 
 0*10+1=1  271dada 
    27danu 
    2danu 
    0nu  
 1*10+2=122da27102dada 
    2710danu 
    271danu 
    27danu 
 12*10+2=122  2dada 
    0nu  
  3da27102danu 
    2710danu 
    271danu 
    27danu 
    2danu 
  4 0nu  
   da27102danu 
    2710danu 
    271danu 
    27danu 
    2danu 
  5 0nu  
   da27102danu 
    2710danu 
    271danu 
    27danu 
    2danu 
  6 0nu  
   da27102danu 
    2710danu 
    271danu 
    27danu 
    2danu 
  7 0nu  
    27102danu 
    2710danu 
    271danu 
 122*10+7=1227  27dada 
    2danu 
    0nu  
  8da27102danu 
    2710danu 
    271danu 
    27danu 
    2danu 
    0nu  
  9da27102danu 
    2710danu 
    271danu 
    27danu 
    2danu 
    0nu  
  10nu   1227

Pentru răspuns correct se acordă câte 2p. pentru fiecare număr conform cerinței (oricare dintre numerele 11, 101, 110, 1001,1010, 1100). Afişarea numărlui 11 înseamnă că singurele cifre nenule sunt doi de 1.

Pentru program corect se acordă 10 puncte astfel:
-declarare variabile1 punct
-citire date1 punct
-afişare date1 punct
-instrucțiune de decizie3 puncte
-instrucţiuni repetitive (Se acordă numai 2p. dacă doar una dintre instrucțiunile repetitive este conform cerinței.)2 puncte
-atribuiri1 punct
-corectitudine globală a programului1 punct