Sunteți pe pagina 1din 1

Ministerul Educaiei, Cercetrii i Tineretului

Centrul Naional pentru Curriculum i Evaluare n nvmntul Preuniversitar

Subiectul III (30 de puncte) - Varianta 006


Pentru itemul 1, scriei pe foaia de examen litera corespunztoare rspunsului corect.
1.

Se consider subprogramul cu definiia


alturat. Ce valoare se va afia n urma
executrii instruciuni de mai jos?
cout<<f(12); |
printf(%d,f(12));
(4p.)

a. 11002

b. 20011

int f (int n){


int c;
if (n!=0)
{if (n%2==1)
c=1+f(n/2);
else c=f(n/2);
cout<<n%2; | printf(%d,n%2);
return c;
}
else return 0;
}
c. 10102
d. 00112

Scriei pe foaia de examen rspunsul pentru fiecare dintre cerinele urmtoare.


2.

Utiliznd metoda backtracking sunt generate numerele de 3 cifre, avnd toate cifrele
distincte i cu proprietatea c cifrele aflate pe poziii consecutive sunt de paritate diferit.
tiind c primele ase soluii generate, sunt n aceast ordine, 103, 105, 107, 109, 123,
125 care este a noua soluie generat?
(6p.)

3.

Se consider definite urmtoarele subprograme:


- s1, cu doi parametri: a, b dou numere ntregi cu cel mult 4 cifre fiecare; subprogramul
interschimb valorile a dou variabile transmise prin intermediul parametrilor a i b.
- s2, cu trei parametri: a, un tablou unidimensional cu exact 100 de elemente, numere
ntregi cu cel mult 4 cifre fiecare, p, un numr natural (p100), q, un numr natural
(q100). Subprogramul caut primul element divizibil cu 5 n secvena ap,ap+1, ..., aq,
i returneaz poziia acestuia, dac exist un astfel de element, sau valoarea -1 n caz
contrar.
a) Scriei numai antetul subprogramului s1.
(4p.)
b) Scriei definiia complet a subprogramului s2.

(6p.)

c) Scriei programul C/C++ care citete de la tastatur o valoare natural n (0<n<100) i


apoi un tablou unidimensional a, cu n elemente, numere ntregi cu cel mult 4 cifre fiecare.
Programul determin, folosind apeluri utile ale subprogramului s2, primul element divizibil
cu 5 (dac exist) i ultimul element divizibil cu 5 (dac exist) al tabloului a, interschimb
valorile elementelor gsite, folosind apelul subprogramului s1, i apoi scrie pe prima linie a
fiierului text BAC.TXT elementele tabloului a, astfel transformat, separate prin cte un
spaiu, sau valoarea 0 dac tabloul nu conine 2 elemente divizibile cu 5.
Exemplu: pentru n=7 i tabloul a=(6,10,4,15,2,5,8), programul va scrie n fiier:
6 5 4 15 2 10 8

BACALAUREAT 2008 - INFORMATIC, limbajul C/C++


Specializarea Matematic-informatic

(10p.)

Subiectul III

S-ar putea să vă placă și