Sunteți pe pagina 1din 2

Ministerul Educa iei i Cercetrii - Serviciul Na ional de Evaluare i Examinare

EXAMENUL DE BACALAUREAT 2007


Proba scris la INFORMATIC

PROBA E, limbajul C/C++


Varianta 42
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.

a.
2.

a.
3.

a.
4.
a.

char a[20]="informatica", b[20]="";


strncat(b,a,strlen(strchr(a,'t')));
cout<<b;
|
printf(%s,b);
tica
b. form
c. rmatica
d. info
0 0 0 0 1 0
Fie G un graf orientat cu 6 vrfuri dat prin matricea de adiacen 
1 0 0 1 0 1
alturat. Preciza i cte dintre vrfurile grafului au gradul intern egal
0 0 0 0 0 0
cu gradul extern?
1 0 0 0 1 0
0 1 0 0 0 0
0 0 0 0 1 0
2
b. 1
c. 4
d. 3
Ce se va afia dup executarea secven ei de
program alturate?

int numar(int n)
{
if (n<=0) return 0;
else return 2*n+numar(n-1);
}
c. 10
d. 20

Se consider subprogramul numar avnd defini ia


alturat. Care este valoarea returnat  de func ie
pentru apelul numar(5)?
15

b.

30

Cte muchii trebuie s eliminm dintr-un graf neorientat conex cu 12 vrfuri i 21 de muchii astfel nct
acesta s devin arbore?
9
b. 12
c. 10
d. 11

5.
a.

Preciza i valoarea expresiei: 8/4/2*2*4*8 .


64
b. 1

6.

Preciza i valoarea afiat de algoritmul pseudocod alturat, dac


s-a notat cu x%y restul mpr irii lui x la y, iar cu [x] partea
ntreag  a numrului real x.

c.

d.

16

a
12345
s
0

ct timp a>0 execut 

s
s+a%2

a
[a/10]



scrie s
a.
7.

a.
8.

a.

b.

c.

15

d.

Utiliznd metoda backtracking se genereaz toate numerele formate doar din 3 cifre astfel nct fiecare
numr s aib cifrele distincte. Cifrele fiecrui numr sunt din mul imea {1, 2, 3, 4} . Acest
algoritm genereaz numerele, n aceast ordine: 123,124,132,134,142,143,213,214,231,234,
241,243,312,314,321,324,341,342,412,413,421,423,431,432. Dac utilizm acelai
algoritm pentru a genera toate numerele de 4 cifre, fiecare numr fiind format din cifre distincte din
mul imea {1, 2, 3, 4 ,5}, preciza i care este numrul generat imediat dup 4325.
4351
b. 5123
c. 4521
d. 4321
Se consider o list  circular dublu nln uit ale crei noduri re in n cmpul st adresa nodului
anterior iar n cmpul dr adresa nodului urmtor din list. Lista are cel pu in dou elemente. tiind c p
re ine adresa unui nod din list, care este numrul de noduri din list, astfel nct rela ia
p->st->st == p->dr s fie adevrat?
5
b. 3
c. 2
d. 4
INFORMATIC , limbajul C/C++

Varianta 42

Ministerul Educa iei i Cercetrii - Serviciul Na ional de Evaluare i Examinare

SUBIECTUL II (20 de puncte)


Se consider programul pseudocod al turat:
S-a notat cu x%y restul mpr irii numerelor ntregi x
[x] partea ntreag a numrului real x.

i y

i cu

1.

Care este valoarea afiat pentru a=30

2.

b=39, determina i cea mai mare valoare de


tiind c 
maximum 2 cifre a variabilei a astfel nct rezultatul afiat
(3p.)
s fie 1.

3.

4.

i b=42?

(2p.)

Scrie i un algoritm pseudocod, echivalent cu cel dat, care


s utilizeze o structur repetitiv cu test ini ial n locul
structurii repetitive folosite n acest algoritm.
(5p.)

cite te a,b (numere naturale)


c
0

pentru i=1,a execut 


dac  b%i=0 atunci


dac 
a%i=0
atunci

c

i








dac  c>0 atunci scrie c

Scrie i programul C/C++ corespunztor algoritmului dat.


(10p.)

SUBIECTUL III (30 de puncte)


1.

2.

Se citesc de la tastatur dou numere naturale n i m (1<m<10, 1<n<10) i o matrice a cu n linii


i m coloane format din numere ntregi de cel mult 4 cifre fiecare. Scrie i programul C/C++ ce
sorteaz descresctor elementele fiecrei linii. Matricea sortat se va afia pe ecran, fiecare linie a
matricei pe cte o linie a ecranului, elementele unei linii fiind separate prin spa ii.
Exemplu: Pentru n=3 i m=5 matricea:
6 2 9 1 2
9 6 2 2 1
-3

se va afia

0 -3

(10p)

Fiierul numere.in con ine pe prima linie un numr natural n (0<n<100000), iar pe a doua linie n
numere reale separate prin cte un spa iu. Fiecare numr real este format din cel mult 10 cifre,
inclusiv partea zecimal. Scrie i programul C/C++ ce determin cifrele ce nu apar n scrierea nici unui
numr real din fiier. Cifrele se vor afia pe ecran n ordine cresctoare, separate prin cte un spa iu.
n cazul n care toate cifrele nenule sunt utilizate n scrierea numerelor din fiier se va afia pe ecran
mesajul NICI UNA.
Exemplu: Dac fiierul con ine pe prima linie numrul 4 i pe a doua linie numerele: -1.23 36
22.57 208 atunci se va afia 4 9.
(10p)

3.

Se numete numr perfect un numr natural care este egal cu suma tuturor divizorilor si, cu
excep ia numrului nsui (exemplu: 6 este numr perfect pentru c 6=1+2+3).
a) Scrie i defini ia complet a subprogramului nr_perfect ce are un singur parametru, un numr
natural x (0<x<10000), i returneaz cel mai mare numr perfect, mai mic sau egal cu x. Dac nu
exist un astfel de numr subprogramul va returna 0.
(6p.)
b) Scrie i programul C/C++ ce citete dou numere naturale a i b (0<a<b<10000) i afieaz
mesajul NUMAR PERFECT dac n intervalul [a, b] exist cel pu in un numr perfect i mesajul NU
n caz contrar. Programul va utiliza subprogramul nr_perfect.
(4p.)
Exemplu: Dac a=2 i b=30 se va afia NUMAR PERFECT.

INFORMATIC , limbajul C/C++

Varianta 42

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