Sunteți pe pagina 1din 2

Ministerul Educa iei ✁i Cercet✂rii - Serviciul Na ional de Evaluare ✁i Examinare

EXAMENUL DE BACALAUREAT – 2007


Proba scris la INFORMATIC
PROBA E, limbajul C/C++
Varianta 63

♦ Toate subiectele sunt obligatorii. Se acord 10 puncte din oficiu.


♦ Timpul efectiv de lucru este de 3 ore.
♦ În programele cerute la subiectele II i III, identificatorii utiliza i trebuie s respecte
preciz rile din enun (bold), iar în lipsa unor preciz ri explicite, nota iile trebuie s
corespund cu semnifica iile asociate acestora (eventual în form prescurtat ).

SUBIECTUL I (40 de puncte)


Pentru fiecare din itemii de la 1 la 8, scrie i pe foaia de examen litera corespunz toare
r spunsului corect. Fiecare r spuns corect se noteaz cu 5 puncte.
1. Care dintre urm✂toarele afirma ii, if (a>10){b=7; c=8;} while (a > b)
referitoare la secven a de instruc iuni { b+=3; c++; printf(“%d”,c); /cout<<c; }
al✂turat✂, este adevarat✂?
a. Secven a con ine o structur✂ de decizie care este inclus✂ într-o structur✂ repetitiv✂.
b. Secven a con ine o structur✂ repetitiv✂ care este inclus✂ într-o structur✂ de decizie.
c. Secven a con ine o structur✂ de decizie, urmat✂ de o structur✂ repetitiv✂, urmat✂ de o instruc iune de
afi✁are.
d. Secven a con ine o structur✂ de decizie urmat✂ de o structur✂ repetitiv✂.
2. Se consider✂ algoritmul care genereaz✂ în ordine strict cresc✂toare, toate numerele formate cu 5 cifre
distincte, alese din mul imea {1,0,5,7,9}, în care cifra din mijloc este 0. Selecta i num✂rul care
precede ✁i num✂rul care urmeaz✂ secven ei de numere generate: 19075, 51079, 51097.
a. 19057, 57019 b. 15079, 71059 c. 19057, 59071 d. 15097, 71095
3. Într-un graf orientat G(X,V) cu 6 noduri numerotate cu numere distincte de la 1 la 6, exist✂ arc de la
nodul i la nodul j dac✂ ✁i numai dac✂ i<j ✁i j-i>1. Num✂rul de noduri din graf care au gradul
interior mai mare decât gradul exterior este:
a. 3 b. 0 c. 2 d. 1
4. Subprogramul med(a,b) returneaz✂ media aritmetic✂ a numerelor reale primite prin intermediul
parametrilor a ✁i b. Pentru x,y,z ✁i t, variabile de tip real, selecta i instruc iunea care atribuie
variabilei x suma dintre media aritmetic✂ a valorilor y ✁i z ✁i media aritmetic✂ a valorilor z ✁i t.
a. x=(y+z+t)/2; b. x=med(med(y,z),t);
c. x=med(z,y)+med(y,t); d. x=med(t,y)+z;
5. Se consider✂ subprogramul f al c✂rui antet este: for(i=0;i<n-1;i++)
void f(int a[100][100],int n,int m,int i,int j); for(j=i+1;j<n;j++)
Subprogramul realizeaz✂ interschimbarea elementelor liniilor i ✁i j ale if(a[i][3]>a[j][3])
tabloului transmis prin parametrul a, care are n linii ✁i m coloane. f(a,n,m,i,j);
Pentru a ordona cresc✂tor numerele de pe coloana a 3-a a tabloului a,
functia f se apeleaz✂ în timpul execut✂rii secven ei al✂turate de
instruc iuni:
a. de m ori b. de n ori
c. o dat✂ d. n(n - 1)
de cel mult ori
2
6. Matricea de adiacen ✂ asociat✂ unui arbore cu p noduri con ine:
a. p2-2p+2 elemente nule b. p elemente nule
c. p2-p elemente nule d. p-1 elemente nule
7. Fie trei secven e de numere:
i) 1,4,6,8,9 ii) 8,5,4,3,2,1 iii) 2,3,8,5,9
Algoritmul de c✂utare binar✂ se poate aplica direct, f✂r✂ alte prelucr✂ri prealabile:
a. numai secven ei i b. numai secven ei iii
c. numai secven ei ii d. atât secven ei i cât ✁i secven ei ii
8. Pentru variabilele întregi x,y,z ✁i t ce memoreaz✂ valorile x=3, y=5, z=3, t=1, preciza i care
dintre urm✂toarele expresii logice are valoarea adev✂rat:
a. (t!=0) && (x==z) || (y>=z) b. (x>y) && (t !=0)
c. (x==z) && (t==0) d. !(x !=0 && y !=0 && z !=0)

INFORMATIC✄ , limbajul C/C++ 1 Varianta 63


Ministerul Educa iei ✁i Cercet✂rii - Serviciul Na ional de Evaluare ✁i Examinare

SUBIECTUL II (20 de puncte)


cite te x ,m
Se consider programul pseudocod al turat: {x întreg, m natural}
S-a notat cu x%y restul împãr irii numerelor întregi x ✁i y ✁ i cu y 1
[z] partea întreag✂ a num✂rului real z. ┌ cât timp m>0 execută
│┌ dacă m%2 =0
1. Care este valoarea afi✁at✂ pentru x=-2 ✁i m=9? (5p.) ││ atunci
2. Scrie i o pereche de valori pentru x ✁i m astfel încât rezultatul ││ m [m/2]
afi✁at sã fie 1. (3p.) ││ x x*x
││ altfel
3. Scrie i programul C sau C++ corespunzãtor algoritmului dat. ││ m m-1
(7p.) ││ y y*x
│└■
4. Scrie i programul pseudocod care s✂ fie echivalent cu
└■
algoritmul dat ✁i care s✂ con in✂ o structurã repetitivã cu test
scrie y
final. (5p.)

SUBIECTUL III (30 de puncte)


1. Subprogramul sortare prime✁te prin intermediul parametrului a un tablou unidimensional de
numere reale cu 1000 de componente ✁i prin intermediul parametrilor i ✁i j dou✂ numere întregi,
1≤i<j≤1000. Subprogramul realizeaz✂ ordonarea cresc✂toare a elementelor ai,ai+1,…,aj.
a) Scrie i defini ia complet✂ a subprogramului sortare. (4p.)
b) Scrie i programul C/C++ care cite✁te de la tastatur✂ elementele unui vector x, cu 1000 de
numere reale, ✁i care ordoneaz✂ cresc✂tor, folosind apeluri ale subprogramului sortare, fiecare
secven ✂ ob inut✂ prin împ ✂r irea lui x în 10 p✂r i egale având fiecare câte 100 termeni afla i pe
pozi ii consecutive. Programul va afi✁a pe ecran noile valori ale vectorului x separate între ele prin
spa iu.
(6 p.)
Într-un sistem de coordonate carteziene se consider✂ punctele: A(x1,y1) i B(x2,y2) unde
2.
coordonatele întregi x1,y1,x2,y2 sunt, în aceast✂ ordine, urm✂torii termeni consecutivi ai ✁irului
Fibonacci: fn,fn+1,fn+2,fn+3 (n natural). Scrie i un program C/C++ care cite✁te de la tastatur✂ un
num✂r natural n(1<=n<=20), determin✂ ✁i afi✁eaz✂ pe ecran lungimea segmentului AB. Distan a
dintre dou✂ puncte A(x1,y1) ✁i B(x2,y2) este ( x1 − x 2 ) 2 + ( y1 − y 2 ) 2 . (10p.)

3. Într-o list✂ liniar✂ simplu înl✂n uit✂ alocat✂ dinamic, fiecare element re ine în câmpul info un num✂r
natural cu cel mult nou✂ cifre ✁i în câmpul adru adresa elementului urm✂tor din list✂.
Scrie i subprogramul divizor, care prin parametru p prime✁te adresa primului element al listei
descrise mai sus, prin parametrul x prime✁te un num✂r natural cu cel mult nou✂ cifre ✁i care afi✁eaz✂
pe ecran, câte unul pe linie numerele din list✂ care au exact un divizor comun cu x. Dac✂ în list✂ nu
exist✂ un astfel de element atunci se va afi✁a mesajul "problema nu are soluŃie”.
(10p.)

INFORMATIC✄ , limbajul C/C++ 2 Varianta 63

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