TEST 1

 

Subiectul I

1.                  Care din următoarele declaraţii reprezintă declararea corectă a unui tablou de maxim 20 de elemente numere naturale?

a)   int x[2][10];

b)   char x[20];

c)   int x[19];

d)   unsigned int x[2][5][2];

e)   int x[21];

f)   long x[1][20];

 

2.                  Se consideră următorul algoritm descris în pseudocod:

citeste y

citeşte x

nr¬0

repetă

     dacă x=2*y atunci

nr¬nr+1

           sfârşit dacă

           y¬x

           citeste x

     până când x=0

     scrie nr

a)      Deduceţi ce se va afişa, dacă valorile citite ale lui x sunt, în ordine, 2, -3, -6, 4, 8, 16, 0;

b)      Formulaţi un enunţ pentru problema dată;

c)      Rescrieţi secvenţa folosind o structură repetitivă cu test iniţial.

 

3.                  Pentru funcţia recursivă de mai jos, deduceţi ce se afişează în urma apelului cout<<f(5,21), apoi precizaţi ce returnează funcţia pe caz general.

int f(int x,int y)

{if (x>y) return 0;

          else return 1+f(x,y-x)

}

 

Subiectul II

1.       Scrieţi un program pentru calculul sumei:

 

 

 


2.       Scrieţi un subprogram recursiv care returnează maximul dintre elementele pare ale unui şir de numere întregi. Şirul, împreună cu numărul său de elemente, se transmit ca parametri subprogramului.

 

Subiectul III

Fie două fişiere f1.txt şi f2.txt, care conţin pe primul rând un număr natural n iar pe următorul rând, n numere întregi. Să se genereze un al treilea fişier f3.txt care să conţină numerele din primele două fişiere, în ordine crescătoare. Să se afişeze conţinutul fişierului f3.txt.

f1.txt

10

6  7  1  0  1   3   6  4  4  21

 

 
Ex:

 

 

 

f2.txt

6

5  8  5  14  16 9

 

 
 

 

 

 

 

f3.txt

0 1 1 3 4 4 5 5 6 6 7 8 9 14 16 21

 

 
 

 

 

 

 


Subiectul IV

La un concurs sportiv s-au înscris n concurenţi, având numerele de concurs 1, 2, ... ,n. În prima zi a competiţiei vor intra în concurs p concurenţi. Afişaţi toate posibilităţile de a stabili ordinea intrării în concurs a celor p concurenţi, ştiind că:

a)      nu pot intra unul după altul sportivi cu numere de concurs consecutive;

b)      trebuie respectată ordinea crescătoare a numerelor de concurs ale sportivilor.

Ex:  Pentru n=7, p=3, se va afa :

1 3 5, 1 3 6, 1 3 7, 1 4 6, 1 4 7, 1 5 7, 2 4 6, 2 4 7, 2 5 7, 3 5 7,