Sunteți pe pagina 1din 6

Varianta 2

Proba scrisa la INFORMATICA


PROBA E, limbajul C/C++
Specializarea Matematica-informatica intensiv informatica

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


♦ Timpul efectiv de lucru este de 3 ore.
♦ in rezolvarile cerute, identificatorii utilizati trebuie sa respecte precizarile din enunt
(bold), iar in lipsa unor precizari explicite, notatiile trebuie sa corespunda cu semnificatiile
asociate acestora (eventual in forma prescurtata).

Subiectul I (30 de puncte)

Pentru itemul 1, scrieti pe foaia de examen litera corespunzatoare raspunsului corect.


1. Care dintre urmatoarele expresii c/c++ are valoarea 1 daca numarul natural memorat de
variabila n este divizibil cu 12? (4p.)
a. (n%4 -- 0) 11 (n%3 == 0) b. (n/4 -- 0) && ! (n%3)
c. (n%4 ! = 0) && n%3 d. (n%4 -- 0) && (n%3 == 0)

Scrieti pe foaia de examen raspunsul pentru fiecare dintre cerintele urmatoare.


2. Se considera algoritmul alaturat, descris in citeljlte n (numar natural nenul)
pseudocod. rPentru i+l, 2*n-1 executa
a) Scrieti ce se va afi�a daca pentru n se b + o
rdaca n-i < 0 atunci
cite�te valoarea s. (6p.)
I j+i-n
b) Se inlocuie�te prima structura I altfel
daca•••atunci cu atribuirea j+4. I j+n-i
Modificati conditia logica din cadrul '-.-
rcat timp j � 0 executa
structurii cat timp ...executa astfel I scrie ,,*"
incat, pentru n=4, algoritmul sa afi�eze: I j+j-1
**** I b+l
*** '-.-
** rdaca b # 0 atunci
* (4p.) I salt la rand nou (sfar�it de rand)
c) Scrieti programul c/c++ corespunzator '-.-

algoritmului dat. (1 Op.)
d) Scrieti in pseudocod un algoritm echivalent cu eel dat in care sa se inlocuiasca prima
structura daca•••atunci cu o operatie de atribuire. (6p.)

BACALAUREAT 2009- INFORMATICA, limbajul CIC++ Subiectul I


Specializarea Matematica-informatica intensiv informatica
Varianta 2

Pentru fiecare dintre itemii 1 §i 2 scrieti pe foaia de examen litera care corespunde
raspunsului corect.
1. Fie un arborele cu radacina, cu 9 noduri, numerotate de la 1 la 9. Care este vectorul ,,de
taV al acestui arbore §tiind ca nodurile 1, 2, 3, 4 ,5, 6, 7, 8 au exact cate un descendent
direct (fiu)? {4p.)
a. (1,2,3,4,5,6,7,8) b. (1,2,3,4,5,6,7,8,9)
C. (0,1,2,3,4,5,6,7,8) d. (0,1,2,3,4,5,6,7,8,9)
2. in secven1a alaturata, fiecare dintre variabilele x §i s for(i=0; i<strlen(s); i++)
sunt de tipul §ir de caracter, iar i este de tip intreg. if(strcmp(x, s+i)<0)
Daca variabilele x §i s memoreaza initial §irul strcpy(x,s+i);
absolvent, ce se va memora in variabila x in urma
executarii secventei alaturate? {4p.)
a. nt b. absolvent c. solvent d. vent

Scrieti pe foaia de examen raspunsul pentru fiecare dintre cerintele urmatoare:


3. Se considera un graf neorientat cu 8 noduri, numerotate de la 1 la 8, §i muchiile: [1,41,
[1,81, [2,11, [2,31, [3,11, [4,51, [4,71, [5,71, [6,5]. Scrie1i cate componente
conexe are graful dat §i care este nodul ce trebuie eliminat astfel incat subgraful obtinut sa
aiba un numar maxim de componente conexe. {6p.)
4. Se considera lista simplu inlan1uita, alocata dinamic, ••••••••
in care fiecare nod memoreaza in campul info un
numar intreg, iar in campul urm adresa nodului
while (u 1 = NULL)
urmator sau NULL daca nu exista un nod urmator. in
lista sunt memorate, in aceasta ordine, numai { printf("%d ", u->info);
valorile 1, 2, 3. Daca variabila p retine adresa I cout<<u->info<<" ";
primului nod din lista, iar variabila u adresa ultimului u = u->urm;
nod din lista, scrie1i instruc1iunile care pot inlocui }
zona punctata din secven1a alaturata, astfel incat, in
urma executarii acesteia, sa se afi§eze 3 2 1. {6p.)
5. Scrie1i programul c/c++ care cite§te de la tastatura o valoare naturala n (2�n�24),
construie§te in memorie §i apoi afi§eaza pe ecran o matrice a, cu n linii §i n coloane,
simetrica fa1a de diagonala secundara. Elemente matricei situate deasupra diagonalei
n (n + 1>
secundare, inclusiv diagonala secundara, sunt toate numerele naturale de la 1 la .
2
Elementele fiecarei linii, de la stanga la dreapta §i ale fiecarei coloane, de 1 3 6 10
sus in jos, situate deasupra diagonalei secundare, inclusiv cele de pe 2 5 9 6
diagonala secundara, sunt in ordine strict crescatoare, ca in exemplu. 4 8 5 3
Matricea se va afi§a pe ecran, cate o linie a matricei pe o linie a ecranului,
elementele fiecarei linii fiind separate intre ele prin cate un spatiu. 7 4 2 1
Exemplu: pentru n = 4 se va afi§a matricea alaturata. {10p.)

BACALAUREAT 2009- INFORMATICA, limbajul CIC++ Subiectul II


Specializarea Matematica-informatica intensiv informatica
Varianta 2

Pentru itemul 1, scriefi pe foaia de examen litera corespunzatoare raspunsului corect.


1. Se genereazain ordine crescatoare toate numerele de 4 cifre, cu cifre distincte, astfelincat
diferen1a in valoare absoluta dintre prima §i ultima, respectiv a doua §i a treia cifra este
egala cu 2. Primele 11 solu1ii generate sunt, in ordine: 1023, 1203, 1243, 1423, 1463,
1573, 1643, 1683, 1753, 1793, 1863. Care dintre urmatoarele numere se va genera
imediatinaintea numarului 9317? (4p.)
a. 9247 b. 9357 c. 9207 d. 8976

Scriefi pe foaia de examen raspunsul pentru fiecare dintre cerinfele urmatoare.


2. Scrie1i ce se va afi§a in urma void F(int x)
executarii subprogramului alaturat, { if (x ! = o >
la apelulF(57);. (6p.) { F(x/2);
cout << x%2; printf ("%d", x%2);
}
}
3. a) Scrie1i defini1ia completa a subprogramului Ecuatie care prime§te prin parametrii a, b §i
c trei numereintregi, a:;t: o, de eel mult patru cifre fiecare, reprezentand coeficien1ii ecua1iei
de gradul al II-lea: ax 2 +bx+c=0. in func1ie de solu1iile ecua1iei subprogramul va returna:
• cea mai mare dintre solu1ii daca ecua1ia are doua solu1ii reale distincte, dintre care eel
pu1in una pozitiva.
• una dintre solu1ii daca ecua1ia are doua solu1ii egale §i pozitive.
• -32000in celelalte cazuri. {10p.)
b) Se considera §irul s: 1, 1, 2, 1, 2, 3, 1, 2, 3, 4, 1, 2, 3, 4, 5, 1, 2, 3, 4, 5, 6, 1, 2, ... .
Pentru un numar natural k, 0<k�10000, se cere sa se determine valoarea elementului ce
se afla pe pozi1ia k in §irul s.
Exemplu: pentru k=5 numarul cerut este 2.
Scrie1i un program c/c++ care cite§te de la tastatura valoarea numarului natural k §i, prin
apeluri utile ale func1iei Ecuatie, determina valoarea elementului ce se afla pe pozi1ia kin
§irul s, folosind un algoritm eficient din punctul de vedere al spa1iului de memorie alocat §i
al timpului de executare. Valoarea astfel determinata se va scrie in fi§ierul text sir. out.
(6p.)
c) Descrie1i succint, in limbaj natural, metoda de rezolvare folosita la punctul b, explicandin
ce consta eficien1a ei (3 - 4 randuri) (4p.)

BACALAUREAT 2009- INFORMATICA, limbajul CIC++ Subiectul Ill


Specializarea Matematica-informatica intensiv informatica
Varianta 3
Proba scrisa la INFORMATICA
PROBA E, limbajul C/C++
Specializarea Matematica-informatica intensiv informatica

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


♦ Timpul efectiv de lucru este de 3 ore.
♦ in rezolvarile cerute, identificatorii utilizati trebuie sa respecte precizarile din enunt
(bold), iar in lipsa unor precizari explicite, notatiile trebuie sa corespunda cu semnificatiile
asociate acestora (eventual in forma prescurtata).

Subiectul I (30 de puncte)

Pentru itemul 1, scrieti pe foaia de examen litera corespunzatoare raspunsului corect.


1. Variabilele numerics a, b l?i aux sunt de acelal?i tip. Care dintre urmatoarele secvente
interschimba corect valorile variabilelor a l?i b? (4p.)
a. aux = b; b = a; a = aux; b. aux = a; b = a; b = aux;
c. aux = b; aux = a; a = b; d. b = aux; aux = a; a = b;

Scrieti pe foaia de examen raspunsul pentru fiecare dintre cerintele urmatoare.


2. Se considera algoritmul alaturat, descris in c iteljlte a, b, p
pseudocod. (numere naturals nenule, a < b)
S-a notat cu x%y restul impartirii numarului nr+o
natural x la numarul natural nenul y, iar prin r pentru i+a,b executa.
[x/y] catul impartirii intregi a numarului natural Ix+ i
x la numarul natural nenul y. I rcat timp x¢0 ljli x%p¢0 executa.
11 x+ [x/10]
a) Scrieti ce se va afil?a daca se citesc
I�
pentru a valoarea 2 6 o, pentru b valoarea
288 l?i pentru p valoarea 9.
I rdaca. x ¢ 0 atunci
(6p.) 11 nr+nr+l
b) Daca a=llO, iar p=18, scrieti eel mai I�
mare numar care poate fi citit pentru b, scrie nr
astfel incat sa se afil?eze valoarea o.(4p.)
c) Scrieti programul c/c++ corespunzator algoritmului dat. (10p.)
d) Scrieti in pseudocod un algoritm echivalent cu eel dat, in care sa se inlocuiasca structura
cat timp... executa. cu o structura repetitiva de un alt tip. (6p.)

BACALAUREAT 2009- INFORMATICA, limbajul CIC++ Subiectul I


Specializarea Matematica-informatica intensiv informatica
Varianta 3

Pentru fiecare dintre itemii 1 §i 2 scrieti pe foaia de examen litera care corespunde
raspunsului corect.
1. Se considera arborele cu 12 noduri, numerotate de la 1 la 12, definit prin urmatorul vector
,,de taf: (4, 8, o, 3, 10, 1, 8, 3, 2, 4, 7, 10). Care dintre nodurile arborelui au exact un
descendent direct (fiu)? (4p.)
a. 6, 9, 11 b. 1, 2, 7
C. 5, 12, 6, 9, 11 d. 10, 1, 2, 7
2. Se considera declararile struct A struct B struct C
alaturate. Care este tipul { int x; { float x; { struct A x;
expresiei x . x . y ? (4p.) char y; long y; struct B y;
}; }; } x, y;.
a. long b. int c. char d. float

Scrieti pe foaia de examen raspunsul pentru fiecare dintre intrebarile urmatoare.


3. Se considera graful orientat cu 6 noduri, numerotate de la 1 la 6, §i arcele (1,2), (1,5),
(1,6), (2,3), (4,3), (4,5), (6,5). Care este numarul minim de arce ce trebuie
adaugate grafului astfel incat acesta sa contina eel putin un circuit elementar de lungime 4?
Pentru graful rezultat, dati un exemplu de astfel de circuit. (6p.)
4. Variabilele n, i, p §i q sunt de tip intreg, iar variabila a memoreaza un tablou bidimensional
cu n linii §i n coloane numerotate de la o la n-1 (0<n<50), cu elemente numere reale.
inlocuiti punctele de suspensie din secventa de program for (i = 0; i < n; i++)
alaturata cu instructiunile corespunzatoare, astfel incat, in
{ •••••••• }
urma executarii acesteia, sa se interschimbe elementele
liniei q cu elementele liniei p ale tabloului a (o��n-1,
0�p�n-1). Daca sunt necesare §i alte variabile, scrieti
declararile acestora. (6p.)
5. Scrieti un program c/c++ care cite§te de la tastatura un numar natural n (0<n<l0l) §i apoi
n propozitii. Fiecare propozitie este formata din maximum 255 de caractere care sunt numai
litere mici ale alfabetului englez §i spatii. �tiind ca fiecare propozitie se termina cu caracterul
Enter, sa se afi§eze pe ecran propozitia care are cele mai putine vocale (sunt considerate
vocale caracterele a, e, i, o, u). Daca doua sau mai multe propozitii au acela§i numar de
vocale, se va afi§a ultima propozitie, in ordinea citirii, care indepline§te conditia.
Exemplu: pentru n = 4 §i urmatoarele propozitii:
azi a plouat tare
a fost innorat peste tot
maine va fi soare
acum nu mai vreau sa ploua
se va afi§a: maine va fi soare (10p.)

BACALAUREAT 2009- INFORMATICA, limbajul CIC++ Subiectul II


Specializarea Matematica-informatica intensiv informatica
Varianta 3

Pentru itemul 1, scriefi pe foaia de examen litera corespunzatoare raspunsului corect.


1. Se genereaza in ordine crescatoare toate numerele de 4 cifre, cu cifre distincte, astfel incat
diferen1a in valoare absoluta dintre ultimele doua cifre ale fiecarui numar generat este egala
cu 2. Primele opt solu1ii generate sunt, in ordine: 1024, 1035, 1042, 1046, 1053, 1057,
1064, 1068. Care dintre urmatoarele numere se va genera imediat dupa numarul 8975?
(4p.)
a. 8979 b. 9013 C. 8957 d. 9024

Scriefi pe foaia de examen raspunsul pentru fiecare dintre cerinfele urmatoare.


2. Ce se va afi§a in urma executarii void F (int x)
subprogramului alaturat, la apelul { if (x)
F(56) ;? (6p.) { F(x/2);
cout << x%10; printf ("%d" ,x%10);
}
}
3. a) Scrie1i defini1ia completa a subprogramului cautare, cu trei parametri, n, x §i v, care
prime§te prin parametrul n un numar natural (1:S::n:s::1000), prin parametrul x un tablou
unidimensional format din n componente (numere intregi de eel mult patru cifre fiecare: x 1,
x2 , . . • , xn) memorate in ordine crescatoare §i prin parametrul v un numar intreg de eel mult
patru cifre, diferit de oricare dintre elementele tabloului unidimensional x.
Subprogramul va cauta, in mod eficient din punct de vedere al timpului de executare, pozi1ia
pe care ar trebui inserata valoarea v in §irul x astfel incat sa se ob1ina tot un §ir ordonat §i
returneaza aceasta pozi1ie. (6p.)
b) Descrie1i succint, in limbaj natural, metoda de rezolvare folosita, explicand in ce consta
eficien1a ei (3 - 4 randuri). (4p.)
c) Fi§ierul text sir. in con1ine eel mult 1000 numere naturale de maximum patru cifre
fiecare, numerele fiind diferite doua cate doua §i despar1ite prin cate un spa1iu.
Scrie1i un program C/C++ care cite§te numerele din fi§ierul sir. in §i, folosind apeluri utile
ale subprogramului cautare, construie§te in memorie un tablou unidimensional care va
con1ine toate numerele din fi§ierul sir. in ordonate crescator. Programul scrie in fi§ierul
text sir. out §irul ob1inut, cate 10 elemente pe un rand, elementele de pe acela§i rand
fiind despar1ite printr-un singur spa1iu.
Exemplu: daca fi§ierul sir. in con1ine numerele: 7 -5 635 -456 o 8 587 -98 65 3 -8
atunci dupa executarea programului fi§ierul sir. out va con1ine:
-456 -98 -8 -5 0 3 7 8 65 587
635 (10p.)

BACALAUREAT 2009- INFORMATICA, limbajul CIC++ Subiectul Ill


Specializarea Matematica-informatica intensiv informatica

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