Documente Academic
Documente Profesional
Documente Cultură
VARIANTA NR. 1
Toate subiectele sunt obligatorii. Se acord 10 puncte din oficiu.
Timpul efectiv de lucru este de 3 ore.
n rezolvrile cerute, identificatorii utilizai trebuie s respecte
precizrile din enun (bold), iar n lipsa unor precizri explicite,
notaiile trebuie s corespund cu semnificaiile asociate acestora
(eventual n form prescurtat).
n programele cerute, datele de intrare se consider corecte,
validarea acestora nefiind necesar.
SUBIECTUL I
(30 de puncte)
Limbajul Pascal
x*x-25<0
25-x*x>=0
(5<=x)and(x<=-5)
(x-5)*(x+5)>=0
Limbajul C/C++
x*x-25<0
25-x*x>=0
(5<=x)&&(x<=-5)
(x-5)*(x+5)>=0
scrie z
a)
b)
Scriei toate numere naturale, distincte, fiecare avnd exact dou cifre, care
pot fi citite pentru variabila n astfel nct s se afieze valoarea 7.
(4p.)
c)
d)
(6p.)
(10p.)
Bacalaureat la INFORMATIC
SUBIECTUL II
(30 de puncte)
elementele cu valorile 1 i 2:
. Se noteaz cu AD(x) operaia prin
care se adaug elementul cu valoarea x n coad i cu EL operaia prin care
se elimin un element din coad. Cte elemente va conine coada n urma
executrii secvenei de operaii: AD(3);EL;EL;EL;AD(2);EL;AD(1)?
(4p.)
a. 1
2.
b. 2
c. 3
d. 4
b. 120
c. 210
d. 410
5.
Limbajul C/C++
struct punct
{
float x,y;
} A,B;
Prin nlimea unui arbore cu rdcin nelegem numrul de muchii ale celui
mai lung lan format din noduri distincte care are una dintre extremiti n
rdcina arborelui.
Scriei care este rdcina i care este nlimea arborelui descris prin
urmtorul vector de tai: (0,1,1,1,4,4,6,7).
(6p.)
S se construiasc o matrice cu n linii i m coloane care conine pe prima
coloan, de sus n jos, toate numerele naturale de la 1 la n, n ordine
cresctoare, pe coloana a doua, de sus n jos, toate numerele naturale de la 2
la n+1, n ordine cresctoare, pe a treia coloan, de sus n jos, toate numerele
naturale de la 3 la n+2, n ordine cresctoare, pe a patra coloan, de sus n
jos, toate numerele naturale de la 4 la n+3, n ordine cresctoare i aa mai
departe pn la coloana m. Scriei programul care citete de la tastatur dou
valori naturale n i m (2<n<25, 2<m<25), construiete matricea conform
cerinei i o afieaz pe ecran, pe linii, cu spaii ntre elementele de pe fiecare
VARIANTA NR.
linie.
De exemplu, dac se citete de la tastatur n=3 i m=5, se va construi i se
va afia pe ecran matricea:
1 2 3 4 5
2 3 4 5 6
3 4 5 6 7
(10p.)
SUBIECTUL III
(30 de puncte)
b. 12
c. 15
d. 19
Limbajul Pascal
procedure ex( x:longint);
begin
if x>3 then begin
write(x mod 10);
ex(x div 10)
end
else write(*)
end;
Limbajul C/C++
void ex(int x)
{if(x>3) {
printf("%d",x%10);
/ cout<<x%10;
ex(x/10);
}
else printf("*");
/ cout<<"*";
}
(3p.)
b) Scriei toate valorile numere naturale pe care le poate avea o variabil n, astfel
nct pentru apelul ex(n) s se afieze doar caracterul *.
(3p.)
Bacalaureat la INFORMATIC
3.
4.
VARIANTA NR.
REZOLVARE VARIANTA 1
SUBIECTUL I
1.
2.
(30 de puncte)
a)
Din numrul citit sunt eliminate toate cifrele impare iar fiecare cifr par
din numr este mrit cu 1.
Pentru precizarea valorii 1355 se acord 6p.
b)
c)
Bacalaureat la INFORMATIC
6
d)
SUBIECTUL II
(30 de puncte)
1.
Coada conine iniial dou elemente si mai sunt adugate inc trei. n total
au fost introduse n coad cinci elemente. Sunt eliminate patru elemente
din coad. Astfel rmne un singur element n coad.
Pentru precizarea rspunsului a) se acord 4p.
2.
3.
2C 2
n
n ( n 1)
2
).
A.x*A.x+A.y*A.y == B.x*B.x+B.y*B.y
VARIANTA NR.
5.
SUBIECTUL III
1.
2.
(30 de puncte)
a)
ex(2543)
ex(254)
ex(25)
ex(2)
b)
Bacalaureat la INFORMATIC
3.
VARIANTA NR.
parametrilor n i v nc 1p.).
Pentru declararea variabilelor locale nc 1p., iar pentru respectarea
structurii subprogramului i a sintaxei limbajului se acord nc 1p.
Pentru determinarea numrului de apariii ale cifrei a n scrierea unui
numr din tabloului 1p. Pentru determinarea numrului de apariii ale cifrei
b n scrierea unui numr din tabloului 1p. Pentru determinarea elementelor
tabloului cu proprietatea cerut 1p. Pentru tergerea din tablou a tuturor
elementelor ce memoreaz numerele cu proprietatea cerut 1p. Pentru
corectitudinea global a programului 1p.
n total 10p.
4.
b)
a)
Limbajul Pascal
var f:text;
nr,lgmax,lg:longint;
begin
assign(f,'bac.in');reset(f);
while not(eof(f)) do begin
read(f,nr);
if nr mod 2=0 then inc(lg)
else begin
if lgmax<lg then lgmax:=lg;
lg:=0
end;
end;
if lgmax<lg then lgmax:=lg;
close(f);
write(lgmax)
end.
Limbajul C/C++
#include <iostream>
#include <fstream>
using namespace std;
ifstream f("bac.in");
int main()
{
int lgmax,lg,nr;
10
Bacalaureat la INFORMATIC
lg=lgmax=0;
while(f>>nr)
if(nr%2==0) lg++;
else {
if(lgmax<lg) lgmax=lg;
lg=0;
}
if(lgmax<lg) lgmax=lg;
cout<<lgmax;
f.close();
}
Se acord 1p. pentru operaiile cu fiiere (declarare, nume corect i
deschidere pentru citire), nc 1p. pentru citirea tuturor numerelor din
fiier, 1p. pentru un algoritm principial corect, nc 1p. pentru determinarea
valorii cerute, 1p. pentru afiarea ei, 1p. pentru corectitudinea formal
(declararea variabilelor, structura programului, sintaxa instruciunilor etc.).
Se acord 1p. pentru alegerea unui algoritm eficient ca timp de executare
(O(n)) i 1p. pentru utilizarea eficent a memoriei. n total 8p.