Sunteți pe pagina 1din 1

Ministerul Educaiei, Cercetrii i Inovrii

Centrul Naional pentru Curriculum i Evaluare n nvmntul Preuniversitar

Subiectul III (30 de puncte) - Varianta 007

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


1. void f(long int n)
Se consider subprogramul f definit { if (n!=0)
alturat. Ce se va afia n urma {if (n%2 == 0)
apelului f(12345);? (4p.) cout<<n%10; | printf(%d,n%10);
f(n/10);
}
}
a. 513 b. 24 c. 42 d. 315

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


2. Folosind tehnica bactracking un elev a scris un program care genereaz toate numerele de
cte n cifre (0<n9), cifrele fiind n ordine strict cresctoare. Dac n este egal cu 5, scriei
n ordine cresctoare toate numerele avnd cifra unitilor 6, care vor fi generate de
program. (6p.)
3. Scriei un program C/C++ care citete de la tastatur un numr natural n (0<n100)i cele
3*n elemente ale tabloului unidimensional v, fiecare element fiind un numr natural cu cel
mult patru cifre fiecare. Tabloul este mprit n trei zone, cu cte n elemente: prima zon
conine primele n elemente din tablou, a doua zon conine urmtoarele n elemente din
tablou, restul elementelor fiind n zona a treia. Programul va interschimba primul element
par (dac exist) al zonei unu cu ultimul element impar (dac exist) al zonei trei i apoi va
scrie pe prima linie a fiierului text BAC.TXT toate elementele tabloului, separate prin cte
un spaiu. n cazul n care unul dintre aceste dou elemente, care urmeaz a fi
interschimbate, nu exist, programul nu va efectua nici o modificare asupra tabloului dat.
Exemplu: pentru n=3 i v=(1 2 3 4 5 6 7 8 9), fiierul BAC.TXT va conine:
1 9 3 4 5 6 7 8 2 (10p.)
4. Se consider irul definit de relaia de
recuren alturat:

a) Scriei definiia complet a unui subprogram sub, care primete prin intermediul
singurului su parametru n un numr natural de maximum 8 cifre, i care returneaz cel
mai mare termen al irului f care este mai mic sau cel mult egal cu n.
Exemplu: dac n=83 atunci subprogramul va returna valoarea 80. (4p.)
b) Scriei un program C/C++ care citete de la tastatur un numr natural s (s10000000)
i determin scrierea lui s ca sum de termeni distinci ai irului dat folosind apeluri utile ale
subprogramului sub. Numerele astfel determinate se vor scrie pe ecran, pe aceeai linie,
separate prin cte un spaiu. i
Exemplu: dac valoarea citit de la tastatur este 63, se va afia:
40 20 3 (6p.)ce const eficiena(4p.)

BACALAUREAT 2009 - INFORMATIC, limbajul C/C++ Subiectul III


Specializarea Matematic-informatic intensiv informatic