Sunteți pe pagina 1din 172

UNIVERSITATEA TITU MAIORESCU

FACULTATEA DE INFORMATIC

MODELE NTREBRI EXAMEN LICEN

MODULUL 1
Limbaje i tehnici de programare

UNIVERSITATEA TITU MAIORESCU


FACULTATEA DE INFORMATIC

MODELE NTREBRI EXAMEN LICEN


Disciplina Programare procedurala

PROGRAMARE PROCEDURALA

1. n care dintre variantele de mai jos se declar un tablou unidimensional (vector)


pot memora cel mult
de numere reale?
a)
b)
c)
d)

n care se

x=float[100];
double x[100];
float x[100];
real x(100);

2. Care dintre urmtoarele expresii logice este adevrat (are o valoare nenul) dac i numai
dac numrul real memorat n variabila nu aparine intervalului
?
a)
b)
c)
d)

(x<=0)||(x>5)
(x<=0)&&(x>5)
(x<0)||(x>=5)
(x<=0)&&(x>=5)

3. Care dintre urmtoarele expresii este adevrat (are o valoare nenul) dac i numai dac
numrul ntreg memorat n variabila aparine intervalului
?
a)
b)
c)
d)

(x>=1)||(x<6)
(x>1)||(x<=6)
(x>1)&&(x<6)
(x>1)&&(x<=6)

4. Dup executarea instruciunii float x = 27/5*2/3*7; ce valoare va fi memorat n


variabila ?
a)
b)
c)
d)

25.2
21.0
6.3
7.0

5. Dup executarea instruciunii float x = 55/17*5/8+48/5/8*15; ce valoare va fi


memorat n variabila ?
a)
b)
c)
d)

17.022058
17.0
16.0
21.219914

6. Se consider urmtoarea secven de instruciuni:


int t=0,a=1234,b=10;
while(a>=b)
{
a=a-b;
t++;

PROGRAMARE PROCEDURALA
}
printf("%d %d",t,a);

Ce valori vor fi afiate pe ecran dup executarea secvenei de mai sus?


a)
b)
c)
d)

124
123
123
124

4
4
5
3

7. Care dintre urmtoarele secvene de instruciuni afieaz valoarea


dou variabile de tip ntreg?

, tiind c

, tiind c

i sunt

sunt

a) s=0;
for(i=0;i<=654;i++) s++;
printf("%d",s);
b) s=651;
while(s<=654) s++;
printf("%d",s);
c) for(i=1;i<=3;i++) printf("%d",7-i);
d) s=7;
while(s>=1) printf("%d",s-1);

8. Care dintre urmtoarele secvene de instruciuni afieaz valoarea


dou variabile de tip ntreg?
a) s=0;
for(i=0;i<=5432;i++) s++;
printf("%d",s);
b) s=5421;
while(s<=5432) s++;
printf("%d",s);
c) for(i=1;i<4;i++) printf("%d",6-i);
d) s=6;
while(s>=3) printf("%d",--s);

9. Considerm urmtoarea secven de instruciuni:


int s=0;
while(n>0)
{
if(n%10>s) s=n%10;
else s=10;

PROGRAMARE PROCEDURALA
n=n/10;
}
printf("%d",s);

tiind c variabilele
de mai sus pentru
a)
b)
c)
d)

sunt de tip ntreg, ce valoare se va afia dup executarea secvenei


?

9
10
15
1

10. Care dintre urmtoarele secvene de instruciuni afieaz ctul i restul mpririi numrului
natural la numrul natural nenul ?
a) int t=0;
while(a>=b)
{
a=a-b;
t++;
}
printf("%d %d",t,a);
b) int t=0;
do
{
a=a-b;
t++;
}while(a>=b);
printf("%d %d",t,a);
c) int t=0;
while(a!=b)
{
a=a-b;
t++;
}
printf("%d %d",t,b);
d) int t=0;
while(a%b==0)
{
a=a-b;
t++;
}
printf("%d %d",t,a);

11. Considerm urmtorul program:


#include <stdio.h>

PROGRAMARE PROCEDURALA
void sch(int a, int *b)
{
int aux;
aux = a;
a = *b;
*b = aux;
}
int main()
{
int x = 1,y = 2;
sch(x,&y);
printf("%d",x+y);
return 0;
}

Ce valoare se va afia pe ecran dup executarea programului de mai sus?


a)
b)
c)
d)

2
1
4
3

12. Considerm urmtorul program:


#include <stdio.h>
void sch(char a, char *b)
{
char aux;
aux = a;
a = *b;
*b = aux;
}
int main()
{
char x = '1',y = '2';
sch(x,&y);
printf("%c,%c",x,y);
return 0;
}

Ce valori se vor afia pe ecran dup executarea programului de mai sus?


a)
b)
c)
d)

1,2
2,1
1,1
2,2

13. Considerm urmtorul program:

PROGRAMARE PROCEDURALA
#include <stdio.h>
void sch(int *a, int b)
{
int aux;
aux = *a;
*a = b;
b = aux;
}
int main()
{
int x = 1,y = 2;
sch(&x,y);
printf("%d",x*y);
return 0;
}

Ce valoare se va afia pe ecran dup executarea programului de mai sus?


a)
b)
c)
d)

3
2
4
1

14. Considerm urmtorul program:


#include<stdio.h>
void f(int a,int *b)
{
a++;
*b=a;
(*b)++;
}
void g(int *a,int b)
{
b++;
*a=b;
(*a)++;
}
int main()
{
int x=4, y=-2;
f(x,&y);
g(&x,y);
printf("%d %d",x,y);
return 0;
}

Ce valori se vor afia pe ecran dup executarea programului de mai sus?

PROGRAMARE PROCEDURALA

a)
b)
c)
d)

4
8
8
6

8
8
6
6

15. Care dintre urmtoarele secvene de instruciuni atribuie variabilei de tip ntreg
mare valoare din tabloul , format din numere ntregi?

cea mai

a) max=0;
for(i=0;i<n;i++)
if(a[i]>max) max=a[i];
b) max=a[0];
for(i=0;i<n-1;i++)
if(a[i]>a[i+1]) max=a[i];
c) max=a[0];
for(i=0;i<n;i++)
if(a[i]>max) max=a[i];
d) max=0;
for(i=0;i<n-1;i++)
if(a[i]<a[i+1]) max=a[i+1];

16. Considerm urmtoarea secven de instruciuni:


int np=0;
for(i=0;i<n;i++)
if( ) np++;
printf("%d",np);

Cu ce expresie dintre cele de mai jos trebuie nlocuite spaiile punctate din secven de
instruciuni dat astfel nct aceasta s afieze cte valori strict pozitive i pare sunt n tabloul
, format din numere ntregi?
a)
b)
c)
d)

(a[i]>0)&&(a[i]%2!=0)
(a[i]>0)&&(a[i]%2==0)
(a[i]>0)||(a[i]%2!=0)
(a[i]>=0)||(a[i]%2==0)

17. Care este valoarea expresiei strlen("programare")+strcmp("test","test")?


a)
b)
c)
d)

10
14
18
"programaretesttest"

18. Considerm urmtoarea secven de instruciuni:

PROGRAMARE PROCEDURALA

char s[100];
strcpy(s,"");
strcat(s,"abcdefgh");
strcpy(s+2,s+4);
printf("%s %d" ,s,strlen(s));

Ce se va afia pe ecran dup executarea secvenei date?


a)
b)
c)
d)

adefgh 6
abefgh 6
abfgh 5
abefgh 8

19. Care din urmtoarele expresii de tip logic este adevrat (are o valoare nenul) dac i numai
dac irul de caractere , de lungime
, este obinut prin concatenarea a dou iruri
identice?
a)
b)
c)
d)

strcmp(s,s+5)==0
s==strstr(s,s+5)
s==s+5
strcmp(s,strcat(s,s+5))==0

20. Considerm urmtoarea secven de instruciuni:


char s[]="abcdabcd",c = 'c';
char *p = strchr(s,c);
printf("%d",p - s);

Ce se va afia pe ecran dup executarea secvenei date?


a)
b)
c)
d)

cdabcd
6
cd
2

21. Considerm urmtoarea secven de instruciuni:


char s[20];
strcpy(s,"abcdabcd");
strncat(s,s+2,3);
strcpy(s,s+4);
printf("%d",strlen(s));

Ce se va afia pe ecran dup executarea secvenei date?


a) 6
b) 10

PROGRAMARE PROCEDURALA
c) 9
d) 7

22. Considerm urmtoarea secven de instruciuni:


char s[20];
strncpy(s,"abcdabcd",6);
s[6]='\0';
strcat(s,s+4);
strcpy(s+3,s+6);
printf("%s",s);

Ce se va afia pe ecran dup executarea secvenei date?


a)
b)
c)
d)

abcabab
abcdab
abcab
abcdabd

23. Considerm urmtoarele structuri:


typedef struct
{
int zi,luna,an;
}Data;
typedef struct
{
char nume[30];
Data data_nasterii;
float media;
}Student;

tiind c variabila
este de tip Student, indicai instruciunea de mai jos prin care luna
naterii studentului respectiv primete valoarea :
a)
b)
c)
d)

st->data_nasterii->luna=12;
st.data_nasterii.luna=12;
data_nasterii.luna=12;
st.luna=12;

24. Considerm urmtoarele structuri:


typedef struct
{
int zi,luna,an;
}Data;
typedef struct

PROGRAMARE PROCEDURALA
{
char nume[30];
Data data_nasterii;
float media;
}Student;

tiind c variabila
este de tip Student, indicai instruciunea de mai jos prin care anul
naterii studentului respectiv primete valoarea
:
a)
b)
c)
d)

st->data_nasterii->an=1990;
st.data_nasterii.an=1990;
data_nasterii.an=1990;
st.an=1990;

25. Considerm urmtoarele structuri:


typedef struct
{
double x,y;
}Punct_2D;
typedef struct
{
Punct_2D p;
double z;
}Punct_3D;

tiind c variabila este de tip Punct_3D, fiind folosit pentru a stoca coordonatele unui
punct n spaiu, indicai instruciunea de mai jos prin care toate cele
coordonate ale
punctului a se iniializeaz cu valoarea 0:
a)
b)
c)
d)

a.p.x
a.p.x
a.x =
a.p =

= a.p.y = a.p.z = 0.0;


= a.p.y = a.z = 0.0;
a.y = a.z = 0.0;
a.z = 0.0;

26. Considerm tipul de date Punct, capabil s memoreze abscisa i ordonata unui punct din
plan, i tipul de date Segment, capabil s memoreze dou puncte reprezentnd extremitile
unui segment din plan, definite astfel:
typedef struct
{
double x,y;
}Punct;
typedef struct
{
Punct A,B;
}Segment;

PROGRAMARE PROCEDURALA

Care dintre urmtoarele expresii are o valoare nenul dac i numai dac variabila de tip
Segment memoreaz informaii despre un segment vertical (aflat pe axa Oy sau paralel cu
axa Oy)?
a)
b)
c)
d)

s.A == s.B
s.x == s.y
A.x == B.x
s.A.x == s.B.x

27. Considerm tipul de date Punct, capabil s memoreze abscisa i ordonata unui punct din
plan, i tipul de date Segment, capabil s memoreze dou puncte reprezentnd extremitile
unui segment din plan, definite astfel:
typedef struct
{
float x,y;
}Punct;
typedef struct
{
Punct A,B;
}Segment;

Care dintre urmtoarele funcii returneaz lungimea segmentului transmis prin intermediul
parametrului de tip Segment?
a) double f(Segment s)
{
return pow(s.A.xs.B.x,2)+pow(s.A.ys.B.y,2);
}
b) double f(Segment s)
{
return sqrt((s.A.xs.B.x)+(s.A.ys.B.y));
}
c) double f(Segment s)
{
return s.B-s.A;
}
d) double f(Segment s)
{
return sqrt(pow(s.A.xs.B.x,2)+pow(s.A.ys.B.y,2));
}

28. Considerm funcia int suma(int x,int y) care returneaz suma numerelor ntregi i
, precum i funcia int prod(int x,int y) care returneaz produsul numerelor ntregi

PROGRAMARE PROCEDURALA

i . tiind c , i sunt variabile de tip ntreg, care dintre expresiile de mai jos
atribuie variabilei de tip ntreg valoarea expresiei (a+b)*(a+c)+b*c?
a)
b)
c)
d)

t
t
t
t

=
=
=
=

prod(suma(a,b),suma(a,c),prod(b,c));
suma(prod(suma(a,b),suma(a,c)),suma(b,c));
prod(suma(a,b),suma(a,c)+suma(b,c));
suma(prod(suma(a,b),suma(a,c)),prod(b,c));

29. Considerm funcia int suma(int x,int y) care returneaz suma numerelor ntregi x i
y, precum i funcia int prod(int x,int y) care returneaz produsul numerelor ntregi
x i y. tiind c a, b i c sunt variabile de tip ntreg, care dintre expresiile de mai jos
atribuie variabilei t de tip ntreg valoarea expresiei a*b+a*b*c?
a)
b)
c)
d)

t
t
t
t

=
=
=
=

suma(prod(a,b),prod(a,b+c));
suma(prod(a,b),prod(a,b,c));
suma(prod(a,b),prod(prod(a,b),c));
prod(prod(a,b),suma(1,c));

30. Care dintre urmtoarele funcii returneaz suma cifrelor numrului natural n?
a) int f(int n)
{
int s=0;
while(n!=0)
{
s=s+n%10;
n=n/10;
}
return s;
}
b) int f(int n)
{
int s=0;
while(n!=0)
{
s=s+n/10;
n=n%10;
}
return s;
}
c) int f(int n)
{
int s=0;
while(n!=0)
{
s=s + n%10;
n=n/10;

PROGRAMARE PROCEDURALA
}
}
d) int f(int n)
{
int s=0;
while(n!=0)
{
s=n%10;
n=n/10;
}
return s;
}

31. Care dintre urmtoarele funcii poate fi folosit ntr-un program pentru a citi de la tastatur
un tablou unidimensional format din numere ntregi?
a) void citire(int v[],int n)
{
scanf("%d",&n);
for(int i=0;i<n;i++) scanf("%d",&v[i]);
}
b) void citire(int v[],int *n)
{
scanf("%d",n);
for(int i=0;i<*n;i++) scanf("%d",&v[i]);
}
c) void citire(int *v[],int *n)
{
scanf("%d",&n);
for(int i=0;i<n;i++) scanf("%d",&v[i]);
}
d) void citire(int *v,int *n)
{
scanf("%d",n);
for(int i=0;i<*n;i++) scanf("%d",v+i);
}

32. Care dintre urmtoarele funcii returneaz suma elementelor tabloului unidimensional de
numere ntregi transmis ca parametru?
a) int suma(int v[],int n)
{
int s=0,k=0;
while(k<n) s+=v[k++];
return s;
}

PROGRAMARE PROCEDURALA

b) int suma(int v[],int n)


{
int s=0,k=0;
while(k++<n) s+=v[k];
return s;
}
c) int suma(int v[],int n)
{
int s,k;
for(k=s=0;k<n;s+=v[k++]);
return s;
}
d) int suma(int v[],int n)
{
int s=0;
for(int k=n-1;k>=0;k--) s+=v[n-k-1];
return s;
}

33. Funcia minmax primete prin parametrul de intrare un tablou unidimensional format din
numere ntregi, iar prin parametrul de intrare primete numrul de elemente ale tabloului v.
Funcia trebuie s ntoarc prin doi parametri de ieire,
i
, valoarea minim i,
respectiv, valoarea maxim din tabloul . Care dintre urmtoarele variante reprezint un
antet corect al funciei minmax?
a)
b)
c)
d)

void minmax(int v[],int n,int min,int max)


int minmax(int v[],int n,int min,int max)
void minmax(int v[],int n,int *min,int *max)
void minmax(int *v[],int *n,int *min,int *max)

34. Fie un tablou unidimensional format din


de numere reale de tip double i numrul
natural cuprins ntre i . Care dintre urmtoarele expresii afieaz adresa elementului
?
a)
b)
c)
d)

printf("%p",v+k);
printf("%p",*(v+k));
printf("%p",v+k*sizeof(double));
printf("%p",&v[k]);

35. Fie
un tablou unidimensional format din
de numere reale de tip double i
o
variabil de tip pointer ctre double n care este memorat adresa ultimului element al
tabloului (double *p=&v[99];). Care dintre urmtoarele expresii afieaz numrul de
octei pe care i ocup tabloul n memorie?
a) printf("%d",(p-v+1)*sizeof(double));

PROGRAMARE PROCEDURALA
b) printf("%d",100*sizeof(double));
c) printf("%d",p-v);
d) printf("%d",sizeof(v));

36. Care dintre urmtoarele secvene de cod poate fi utilizat pentru a aloca dinamic un tablou
unidimensional format din
de numere ntregi?
a)
b)
c)
d)

int
int
int
int

*a
*a
*a
*a

=
=
=
=

(int
(int
(int
(int

*)calloc(100*sizeof(int));
*)malloc(100*sizeof(int));
*)malloc(100);
*)calloc(100,sizeof(int));

37. Care dintre urmtoarele secvene de cod poate fi utilizat pentru a aloca dinamic un tablou
bidimensional format din
de linii i
de coloane de numere ntregi?
a) int **a = (int **)malloc(10*sizeof(int *));
for(int i=0;i<10;i++)
a[i]=(int *)malloc(20*sizeof(int));
b) int **a = (int **)calloc(10*sizeof(int *),20*sizeof(int));
c) int *a = (int *)malloc(20*sizeof(int *));
for(int i=0;i<20;i++)
a[i]=(int *)malloc(10*sizeof(int));
d) int **a = (int **)calloc(10,sizeof(int*));
for(int i=0;i<10;i++)
a[i]=(int *)calloc(20,sizeof(int));

38. Fie un tabloul bidimensional ptratic de dimensiune . Care dintre urmtoarele secvene de
cod afieaz elementele aflate pe diagonala principal a matricei ?
a) for(int i=0;i<n;i++)
for(int j=0;j<n;j++)
if(i==j) printf("%d ",a[i][j]);
b) for(int i=0;i<n;i++) printf("%d ",a[i][i]);
c) for(int i=0;i<n;i++)
for(int j=0;j<n;j++)
if(i+j==n-1) printf("%d ",a[i][j]);
d) for(int i=0;i<n;i++) printf("%d ",a[i][n-i-1]);

39. Fie un tabloul bidimensional ptratic de dimensiune . Care dintre urmtoarele secvene de
cod afieaz elementele aflate pe diagonala secundar a matricei ?
a) for(int i=0;i<n;i++)
for(int j=0;j<n;j++)

PROGRAMARE PROCEDURALA
if(i==j) printf("%d ",a[i][j]);
b) for(int i=0;i<n;i++) printf("%d ",a[i][i]);
c) for(int i=0;i<n;i++)
for(int j=0;j<n;j++)
if(i+j==n-1) printf("%d ",a[i][j]);
d) for(int i=0;i<n;i++) printf("%d ",a[i][n-i-1]);

40. Fie un tabloul bidimensional ptratic de dimensiune . Care dintre urmtoarele secvene de
cod afieaz elementele triunghiului delimitat de prima coloan, diagonala principal i
ultima linie din matricea ?
a) for(int i=0;i<n;i++)
for(int j=0;j<n;j++)
if(i>=j) printf("%d ",a[i][j]);
b) for(int i=0;i<n;i++)
for(int j=0;j<n;j++)
if(i<=j) printf("%d ",a[i][j]);
c) for(int i=0;i<n;i++)
for(int j=0;j<=i;j++) printf("%d ",a[i][j]);
d) for(int i=0;i<n;i++)
for(int j=i;j<n;j++) printf("%d ",a[i][j]);

41. Fie un tabloul bidimensional ptratic de dimensiune . Care dintre urmtoarele secvene de
cod afieaz elementele triunghiului delimitat de diagonala principal, ultima coloan i
prima linie din matricea ?
a) for(int i=0;i<n;i++)
for(int j=0;j<n;j++)
if(i>=j) printf("%d ",a[i][j]);
b) for(int i=0;i<n;i++)
for(int j=0;j<n;j++)
if(i<=j) printf("%d ",a[i][j]);
c) for(int i=0;i<n;i++)
for(int j=0;j<=i;j++) printf("%d ",a[i][j]);
d) for(int i=0;i<n;i++)
for(int j=i;j<n;j++) printf("%d ",a[i][j]);

42. Fie un tabloul bidimensional ptratic de dimensiune . Care dintre urmtoarele secvene de
cod afieaz suma elementelor de pe fiecare linie a matricei ?

PROGRAMARE PROCEDURALA
a) for(int i=0;i<n;i++)
{
int s=0;
for(int j=0;j<n;j++)
{
s=s+a[i][j];
printf("%d ",s);
}
}
b) int s=0;
for(int i=0;i<n;i++)
{
for(int j=0;j<n;j++)
{
s=s+a[i][j];
printf("%d ",s);
}
}
c) int s=0;
for(int i=0;i<n;i++)
{
for(int j=0;j<n;j++) s=s+a[i][j];
printf("%d ",s);
}
d) for(int i=0;i<n;i++)
{
int s=0;
for(int j=0;j<n;j++) s=s+a[i][j];
printf("%d ",s);
}

43. Care dintre urmtoarele funcii returneaz dimensiunea n octei a unui fiier text a crui cale
este transmis prin parametrul de intrare ?
a) int nb(char *nf)
{
FILE *f=fopen(nf,"r");
fseek(f,0,SEEK_END);
int n=ftell(f);
fclose(f);
return n;
}
b) int nb(char *nf)
{
char c;
FILE *f=fopen(nf,"r");
int n=0;

PROGRAMARE PROCEDURALA
while(!feof(f))
{
fscanf(f,"%c",&c);
n++;
}
fclose(f);
return n+1;
}
c) int nb(char *nf)
{
FILE *f=fopen(nf,"r");
int n=sizeof(f);
fclose(f);
return n;
}
d) int nb(char *nf)
{
char s[1001];
FILE *f=fopen(nf,"r");
int n=0;
while(fgets(s,1000,f))
n++;
fclose(f);
return n;
}

44. Care dintre urmtoarele funcii returneaz numrul de linii dintr-un fiier text a crui cale
este transmis prin parametrul de intrare
(se presupune c fiierul nu conine linii vide)?
a) int nl(char *nf)
{
char s[1001];
FILE *f=fopen(nf,"r");
int n=0;
while(fscanf(f,"%s",s)==1)
n++;
fclose(f);
return n;
}
b) int nl(char *nf)
{
char c;
FILE *f=fopen(nf,"r");
int n=0;
while(fscanf(f,"%c",&c)==1)
if(c=='\n') n++;
fclose(f);
return n;

PROGRAMARE PROCEDURALA
}
c) int nl(char *nf)
{
FILE *f=fopen(nf,"r");
int n=sizeof(f);
fclose (f);
return n/sizeof(char *);
}
d) int nl(char *nf)
{
char s[1001];
FILE *f=fopen(nf,"r");
int n=0;
while(fgets(s,1000,f))
n++;
fclose (f);
return n;
}

45. Considerm urmtorul program:


#include<stdio.h>
#include<string.h>
int main()
{
FILE *f=fopen("test.txt","r");
char s[101],t[101];
while(fgets(s,100,f))
strcpy(t,s);
printf("%s",t);
fclose(f);
return 0;
}

tiind ca lungimea maxim a unei linii din fiierul text test.txt este de 100 de caractere, ce se
va afia dup executarea programului de mai sus?
a)
b)
c)
d)

fiecare linie din fiier;


penultima linie din fiier;
ultimul caracter din fiier;
ultima linie din fiier.

46. Considerm urmtorul program:


#include<stdio.h>
#include<string.h>

PROGRAMARE PROCEDURALA
int main()
{
char s[21],aux[11];
strcpy(s,"");
for(int i=1;i<=5;i++)
{
printf("Sirul %d: ",i);
gets(aux);

}
printf("%s",s);
return 0;
}

Presupunnd c fiecare dintre cele 5 iruri care vor fi citite de la tastatur vor fi formate din
minim dou caractere i maxim 10, stabilii cu care dintre instruciunile de mai jos trebuie
nlocuite spaiile punctate din program astfel nct acesta s afieze irul format din ultimele
dou caractere din fiecare dintre cele 5 iruri citite:
a)
b)
c)
d)

strcat(s,aux+9);
strcat(s,aux[strlen(aux)-1]);
strncat(s,aux,strlen(aux)-1);
strcat(s,aux+strlen(aux)-2);

47. Care dintre urmtoarele secvene de cod afieaz pe ecran irul de numere 1 2 2 3 3 3 4
4 4 4 5 5 5 5 5?
a) for(int i=1;i<=5;i++)
for(int j=1;j<=5;j++)
printf("%d",i);
b) for(int i=1;i<=5;i++)
for(int j=1;j<=i;j++)
printf("%d",i);
c) for(int i=1;i<=5;i++)
for(int j=1;j<=i;j++)
printf("%d",j);
d) for(int i=1;i<=4;i++)
for(int j=i+1;j<=5;j++)
printf("%d",i);

48. Stabilii care dintre urmtoarele funcii ntorc poziia primei valori strict pozitive din tabloul
format din numere ntregi sau -1 dac tabloul nu conine nici un numr pozitiv:
a) int p(int v[],int n)
{
int i,x=-1;

PROGRAMARE PROCEDURALA
for(i=0;i<n;i++)
if(v[i]>0) x=i;
return x;
}
b) int p(int v[],int n)
{
int x=0;
while(v[x]<=0) x++;
return x-1;
}
c) int p(int v[],int n)
{
int i,x=-1;
for(i=0;i<n;i++)
if((v[i]>0)&&(x<0)) x=i;
return x;
}
d) int p(int v[],int n)
{
int i;
for(int i=0;i<n;i++)
if (v[i]>0) return i;
return -1;
}

49. Considerm urmtoarea secven de cod:


int i=0,j;
while (i+j<=10)
{
i++;
j=j-2;
}

Valoarea minim posibil pentru variabila astfel nct instruciunea repetitiv de mai sus s
nu fie o ciclare infinit este:
a) 8
b) 10
c) 12
d) 17
50. Considerm urmtorul program:

PROGRAMARE PROCEDURALA

#include<stdio.h>
void p(int v[],int *n)
{
int i,j,g;
do
{
g=0;
for(i=0;i<*n;i++)
if(v[i]<0)
{
for(j=i;j<*n-1;j++) v[j]=v[j+1];
(*n)--;
g=1;
}
}
while(g);
}
int main()
{
int i,v[]={-1,2,-3,-4,5},n=5;
p(v,&n);
for(i=0;i<n;i++)
printf("%d ",v[i]);
return 0;
}

Ce valori vor fi afiate pe ecran dup executarea programului de mai sus?


a)
b)
c)
d)

1 -3 -4
2 5
1 2 -3 -4
2 -3 -4 5

UNIVERSITATEA TITU MAIORESCU


FACULTATEA DE INFORMATIC

MODELE NTREBRI EXAMEN LICEN


Disciplina Programare orientata pe obiecte (C++)

PROGRAMARE IN C++

1. )LHVHFYHQD
class cls{
public:
cls(){ cout<<"constructor";}
cls(cls &c){cout<<"constructor de copiere";}
};
int f(cls c){ return 1;}
int main(){
cls c;
f(c);
return 0;
}

QPRPHQWXOH[HFXWULLSURJUDPXOXLGHPDLVXV
a)
b)
c)
d)
e)

FRQVWUXFWRUXOGHFODVVHDSHOHD]RGDWLDUFHOGHFRSLHUHQXVHDSHOHD]
FRQVWUXFWRUXOGHFODVLFHOGHFRSLHUHVHDSHOHD]ILHFDUHFkWHRGDW
FRQVWUXFWRUXOGHFRSLHUHVHDSHOHD]RGDWLDUFHOGHFODVQXVHDSHOHD]
FRQVWUXFWRUXOGHFODVVHDSHOHD]GHGRXRULLDUFHOGHFRSLHUHQLFLRGDW
FRQVWUXFWRUXOGHFODVLFHOGHFRSLHUHVHDSHOHD]ILHFDUHGHFkWHGRXRUL

2. )LHVHFYHQD
class cls{
public:
cls(){ cout<<"constructor";}
cls(cls &c){cout<<"constructor de copiere";}
};
int f(cls &c){ return 1;}
int main(){
cls c;
f(c);
return 0;
}

QPRPHQWXOH[HFXWULLSURJUDPXOXLGHPDLVXV
a)
b)
c)
d)
e)

FRQVWUXFWRUXOFODVHLVHDSHOHD]RGDWLDUFHOGHFRSLHUHQXVHDSHOHD]QLFLRGDW
FRQVWUXFWRUXOGHFODVLFHOGHFRSLHUHVHDSHOHD]ILHFDUHFkWHRGDW
constructorul de FRSLHUHVHDSHOHD]RGDWLDUFHOGHFODVQXVHDSHOHD]
FRQVWUXFWRUXOFODVHLVHDSHOHD]GHGRXRULLDUFHOGHFRSLHUHQLFLRGDW
FRQVWUXFWRUXOGHFODVLFHOGHFRSLHUHVHDSHOHD]ILHFDUHGHFkWHGRXRUL

3. )LHVHFYHQD
class C{
int a;
public:
virtual void metoda1()=0;
virtual void metoda2()=0;
};

PROGRAMARE IN C++

int main(){
C *pob;
C ob;
C *vpob[5];
C vob[5];
return 0;
}

GHFODUDLD
GHFODUDLD
GHFODUDLD
GHFODUDLD

'HFODUDLLOHDGPLVHvQDFHVWFD]VXQW
a)
b)
c)
d)
e)

'HFODUDLLOH1 i 2;
'HFODUDLD1;
'HFODUDLLOH2 i 4;
'HFODUDLD3;
'HFODUDLLOH1, 2 i 3.

4. Fie clasa :
class c
int a,
public
c

{
b ;
:
(int , int ) ;
int det_a ( ) {return a ;}
~c () ;

};

Semnul ~ are rolul :


a)
b)
c)
d)
e)

de a nega pe bii rezultatul returnat de metoda c( );


GHDSUHFL]DH[LVWHQa destructorului;
de a nega logic rezultatul returnat de metoda c( );
GHDVXSUDvncarca constructorul clasei;
GHDVXSUDvncarca operatorul ~

5. 6HFYHQDXUPWRDUH:
class c1{
public:
int a;
c1(int y){ a=y;cout<<"constructor 1";}
~c1(){cout<<"destructor 2";}
};
class c2:public c1{
public:
int b;
c2(int y, int x):c1(y) { b=x; cout<<"constructor 2";}
~c2(){cout<<"destructor 2";}
};
int main(){
c1 ob1(2);
c2 ob2(2,3);
return 0;

PROGRAMARE IN C++

DILHD]:
a) constructor 1 constructor 2 destructor 2 destructor 1
b) constructor 1 constructor 1 constructor 2 destructor 2 destructor 1 destructor 1
c) constructor 1 constructor 2 constructor 1 destructor 1 destructor 2 destructor 1
d) constructor 1 constructor 1 constructor 2 destructor 2 destructor 1
6. )LHXUPWRUXOSURJUDP&
#include <iostream.h>
class B{
public:
B(){cout<<"B()"<<endl;}
~B(){cout<<"~B()"<<endl;}
};
class D: public B{
public:
D(){cout<<"D()"<<endl;}
~D(){cout<<"~D()"<<endl;}
};
int main(){
B *b=new B();
delete b;
b=new D();
delete b;
return 0;
}

3URJUDPXODILHD]
a)
b)
c)
d)

B() ~B() B() D() ~D()


B() ~B() B() D() ~B()
B() ~B() B() ~B()
B() ~B() D() ~B()

7. Fie programul:
#include <iostream.h>
class B{
public:
B(){cout<<"B()"<<endl;}
B(B &b){cout<<"B(B &b)"<<endl;}
};
class D: public B{
public:
D(){cout<<"D()"<<endl;}
D(D &d){cout<<"D(D &d)"<<endl;}
};
int main(){
B b;

PROGRAMARE IN C++

B b1(b);
D d;
D d1(d);
return 0;
}

Programul DILHD]:
a)
b)
c)
d)

B() B(B&b) B() D() B(B &b) D(D &d)


B() B() B(B&b) B() D() B(B &b) D() B(B &b)
B() B(B&b) D() B(B &b) D() B(B &b)
B() B(B&b) B() D() B() D(D &d)

8. Fie clasa :
class c {
int a,b;
public:
float c (int, int)
int get_a {return a;}
c ();
};

'HFODUDLDfloat c(int, int) ar putea corespunde unui constructor al clasei?


a)
b)
c)
d)

GDILLQGRVXSUDvQFDUFDUHDFHOXLH[LVWHQW
QXGHRDUHFHFUHD]DPELJXLWDWH
nu, deoarece constructorul nu are tip returnat;
nu, deoarece nu este de tip friend.

9. Fie sHFYHQDXUPWRDUH:
class persoana{
int varsta;
public:
persoana(int v=18){varsta=v;}
persoana& operator++(int){varsta++; return *this;}
int get_varsta(){return varsta;}
};
int main(){
persoana p(20);
cout<<p++.get_varsta();
return 0;
}

6HFYHQDDfiHD]
e)
f)
g)
h)

21
20
18
19
4

PROGRAMARE IN C++

10. O IXQFLH declarat friend vn clasa de baz:


a)
b)
c)
d)
e)

UPkQH friend vn clasa derivat, pentru partea motenit;


are acces pe toat clasa derivat
nu are acces pe zonele private i protected ale clasei derivate;
nu are acces pe zona private a clasei derivate;
are acces pe zonele public i protected ale clasei derivate.

11. Se consider XUPWRDUHDsecven de program:


class B{
private:
int x,y;
public:
B(int a,int b){ x=a;y=b; }
B(const B &a){ x=a.x; y=a.y;}
};

n care dintre XUPWRDUHOH VLWXDLL se UHDOL]HD]FRSLHUHDXQXLRELHFWvntr-altul:


a)
b)
c)
d)
e)

B c1(4,5);
B c2(0.0, 0,0);
B c1, c3=c1;
B c4(1);
B c1, c5(c1).

12. )LHXUPWRUXOSURJUDP
#include<iostream.h>
class cls {
static int i;
int j;
public:
cls(int x=7) { j=x; }
static int imp(int k){ cls a; return i+k+a.j; } };
int cls::i;
int main()
{ int k=5;
cout<<cls::imp(k);
return 0;
}

,QGLFDLFHVHYDDILDSHHFUDQvQXUPDH[HFXWULLSURJUDPXOXL
a)
b)
c)
d)

11
13
12
14

13. )LHXUPWRUXOSURJUDP
#include <iostream.h>
class B{

PROGRAMARE IN C++

public:
virtual void f() { cout<<"B::f() ";}
void g() { cout<<"B::g() ";}
};
class D: public B{
public:
void f() { cout<<"D::f() ";}
void g() { cout<<"D::g() ";}
};
int main(){
int i;
B *a=new B();
B *b=new D();
a->f(); b->f();
a->g(); b->g();
return 0;
}

,QGLFDLFHVHYDDILDSHHFUDQvQXUPDH[HFXWULLSURJUDPXOXL
a)
b)
c)
d)

D::f() B::f() B::g() B::g() B::g()


B::f() D::f() B::g() B::g()
B::f() D::f() B::g() D::g()
B::f() B::g() D::f() D::g()

14. )LHXUPWRUXOSURJUDP:
#include <iostream.h>
class B{
public:
virtual void f() { cout<<"B::f() ";}
void g() { cout<<"B::g() ";}
};
class D1: public B{
public:
void f() { cout<<"D1::f() ";}
void g() { cout<<"D1::g() ";}
};
class D2: public B{
public:
void g() { cout<<"D2::g() ";}
};
int main(){
int i;
B *a=new B();
B *b=new D1();
B *c=new D2();
a->f(); b->f(); c->f();
a->g(); b->g(); c->g();
return 0;
}

PROGRAMARE IN C++

,QGLFDLFHVHYDDILDSHHFUDQvQXUPDH[HFXWULLSURJUDPXOXL
e)
f)
g)
h)
i)

B::f() D1::f() B::f() B::g() B::g() B::g()


D2::f() D1::f() B::f() B::g() B::g() B::g()
B::f() D1::f() D::f() B::g() D1::g() D2::g()
B::f() D1::f() B::f() B::g() D1::g() D2::g()
B::f() B::f() D2::f() B::g() B::g() D2::g()

15. )LHXUPWRUXOSrogram:
#include<iostream.h>
class salariat{
int varsta;
public:
salariat (int v=20) {varsta =v;}
operator int() { return varsta;}
salariat& operator++(){varsta++; return *this;}
salariat operator++ (int) { varsta++; return *this;}
};
int main(){
salariat s(21);
int a=s++, b=++s;
cout<<a<<"
"<<b<<endl;
return 0;
}

3URJUDPXODILHD]:
a)
b)
c)
d)
e)

20
21
22
20
21

21
22
23
22
23

16. Fie XUPWRUXOprogram:


#include <iostream.h>
class Cerc{
public:
float raza;
Cerc(float r){raza=r;}
float get_raza(){return raza;}
Cerc operator++(){raza++; return *this;}
Cerc operator--(){raza--; return *this;}
};
int main(){
Cerc c(3.5);
cout<<(++(++c)).get_raza()<<" ";
cout<<c.get_raza()<<" ";
cout<<(--(--c)).get_raza()<<" ";
cout<<c.get_raza()<<" ";
return 0;

PROGRAMARE IN C++

Programul DILHD]
a)
b)
c)
d)
e)

3.5
5.5
2.5
5.5
4.5

4.5
4.5
5.5
4.5
2.5

2.5
2.5
4.5
2.5
3.5

3.5
2.5
3.5
3.5
5.5

17. O metod static a unui obiect se FDUDFWHUL]HD]SULQIDSWXOF:


a)
b)
c)
d)
e)

nu SULPHWH pointerul la obiect this;


IRORVHWH numai datele publice;
se poate apela prin numele clasei;
nu poate fi definita GHFkW inline;
daca SUHOXFUHD] obiecte, SULPHWH obiectele ca parametrii H[SOLFLL

18. Fie secvena de program:


#include <iostream.h>
class C{
public:
static int s;
};
int C::s=0;
int main(){
int a=7; C::s=a;
cout<<C::s;
return 0;
}

QVHFYHQDGHPDLVXVLQLializarea lui s este:


a)
b)
c)
d)
e)

ilegal, deoarece nu exist niciun obiect creat;


ilegal, deoarece s este LQLLDOL]DWvn afara clasei;
ilegal, deoarece s este dublu definit, vn clas Lvn afara ei;
ilegal, deoarece datele statice pot fi doar private;
corect, deoarece membri statici exist vnainte de a se crea obiecte din clas

19. Fie VHFYHQD:


class complex{
double re;
double im;
public:
complex(double x=1.0,double y=6.80){re=x; im=y;}
complex( const complex &u){re=u.re;im=u.im;}
};

3UHFL]DLvQce VLWXDLHVHXWLOL]HD]FRQVWUXFWRUXOGHFRSLHUH
8

PROGRAMARE IN C++

a)
b)
c)
d)
e)

complex z1(5.2, 3.6);


complex z1(5.2, 3.6), z2=z1;
complex z3(0.1,1.0);
complex z1(5.2, 3.6), z4(z1);
complex z5(-0.1,28.7).

20. Fie secvena :


class A1{
public:
A1(){cout << "A1 ";}
};
class A2{
public:
A2(){cout << "A2 ";}
};
class AA1 : public A1, virtual public A2{
public:
AA1(){cout << "AA1 ";}
};
class AA2 : public A1, virtual A2{
public:
AA2(){cout << "AA2 ";}
};
class B : public AA1, virtual public AA2{
public:
B(){cout << "B ";}
};
int main(){
B ob1;
return 0;
}

6HFYHQDDfieaz:
a)
b)
c)
d)
e)

A1 A2 AA2 A1 AA1 B
A2 A2 AA2 AA1 A1 B
A1 A2 AA2 A1 B AA1
A2 A1 AA2 A1 AA1 B
A2 A1 A2 AA1 A1 B

21. Care dintre DILUPDLLOH urmtoare sunt adevrate?


a)
b)
c)
d)

precedena unui operator poate fi modificat prin redefinire;


aritatea unui operator nu poate fi modificat prin redefinire;
asociativitatea unui operator poate fi modificat prin redefinire;
semnificaLDPRGXOXLvQ FDUHOXFUHD] un operator asupra obiectelor de tipuri predefinite nu
poate fi schimbat prin redefinire.

22. Care dintre DILUPDLLOHXUPtoare sunt adevrate?


9

PROGRAMARE IN C++

a)
b)
c)
d)

IXQFLLOH inline nu pot fi IXQFLLYLUWXDOH


constructorii pot fi funcii virtuale;
orice funcie membru static este funcie virtual
destructorul poate fi funcie virtual

23. Fie programul:


#include <iostream.h>
class Cerc{
float raza;
public:
Cerc(float r){raza=r;}
float get_raza(){return raza;}
void operator++(){raza++;}
};
class Cilindru : public Cerc{
float inaltime;
public:
Cilindru(float raza, float i):Cerc(raza){inaltime=i;}
void operator++(){inaltime++;}
float get_inaltime(){return inaltime;}
};
int main(){
Cerc *pc;
Cilindru c(2,6);
pc=&c;
++ *pc;
cout<<pc->get_raza()<<" "<<c.get_inaltime()<<endl;
return 0;
}

Programul DILHD]:
a)
b)
c)
d)

2
2
3
2

5
6
6
5

24. Care dintre DILUPDLLOH urmtoare sunt false?


a)
b)
c)
d)

obiectele unei clase derivate au acces la membrii SULYDL ai clasei sale de ED]
relaia de motenire este tranzitiv
funciile friend ale clasei de baz se motenesc de ctre clasa derivat
constructorul i destructorul clasei de baz se moWHQHVFvQFODVDGHULYDW.

25. Fie urmtorul program:


#include<ostream.h>
class persoana{
int varsta, salariul;
friend ostream & operator<<(ostream &out,persoana p){
out<<p.varsta<<" "<<p.salariul; return out;
}

10

PROGRAMARE IN C++

public:
persoana(int v){varsta=v;salariul=0;}
persoana(){varsta=0;salariul=0;}
};
int main(){
persoana p(1);cout<<p;
return 0;
}

Programul afiHD]
a)
b)
c)
d)

1
0
1
0

0
0
1
1

26. 6XSUDvQFUFDUHDXQRURSHUDWRUL VHSRDWHUHDOL]DSULQIXQFLL RSHUDWRUVDX prin IXQFLL IULHQG


'LIHUHQDGLQWUHDFHVWHGRXSRVLELOLWLFRQVWvQ
a)
b)
c)
d)

lista de parametri;
obiectul returnat;
precedena operatorilor;
aritatea operatorului.

27. Fie programul:


class c{
int a;
public:
c(){};
c(const c&){};
void operator=(c&){};
};
int main(){
c a;
c b=a;
}

Linia de cod c b=a; determin:


a)
b)
c)
d)
e)

executarea constructorului de copiere;


executarea metodei prin care se VXSUDvQFUF operatorul =;
executarea atkt a constructorului de copierHFkWi a metodei operator =;
o eroare, deoarece nu este permiV comELQDUHDDWULEXLULLFXRGHFODUDLH
executarea constructorului implicit.

28. Fie urmtorul program:


#include<iostream.h>
class cls{
public:
~cls(){cout<<"\n Destructor";}

11

PROGRAMARE IN C++

};
int main(){
cls *po=new cls[3];
delete []po;
}

Destructorul clasei:
a)
b)
c)
d)

nu se apeleazQLFLRGDW;
se DSHOHD]RGDW;
se DSHOHD] de trei ori;
se DSHOHD] de patru ori.

29. O IXQFLH independent declarat friend vn domeniul public dintr-o clas i care primete ca
parametru o UHIHULQ la un obiect al clasei respective are acces:
a)
b)
c)
d)

doar la membrii GHFODUDL public;


la WRL membrii;
la membrii public i la cei protected;
la membrii protected.

30. )LHXUPWRUXO program:


#include<iostream.h>
class A{
int a[3];
public:
A(int i, int j, int k){a[0]=i; a[1]=j; a[2]=k;}
int& operator[](int i){return a[i];}
};
int main(){
A ob(1,2,3); cout<<ob[1];
ob[1]=25; cout<<ob[1];
return 0;
}

Ce se poate afirma despre operator[]()?


a)
b)
c)
d)
e)

SURGXFHVXSUDvQFUFDUHDXQHLIXQFLL
produce VXSUDvQFUFDUHDunui operator unar;
VXSUDvQFDUF operatorul [];
HVWHRIXQFLHPHPEUXRDUHFDUHDFODVHL$, care nu produce VXSUDvQFUFDUHDunui operator;
UHSUH]LQWXQRSHUDWRr ternar.

31. &RQVLGHUPXUPWRUXOSURJUDP:
#include<iostream.h>
class C{
public:
int x;
C(int v) { x=v;}
double operator+(C &c, double d){return c.x+d;}

12

PROGRAMARE IN C++

double operator+(double d, C &c){return c.x+d;}


};
int main() {
C c(5);
cout<<2+c+3;
return 0;
}

6WDELOLLFDUHGLQWUHXUPWRDUHOHDILUPDLLVXQWDGHYUDWH
a)
b)
c)
d)

VXSUDvQFUFULOH RSHUDWRU WUHEXLHVILHIULHQG


VXSUDvQFUFULOH RSHUDWRU QXVHMXVWLILFGHRDUHFHDXDFHODL cod;
programul DILHD] 10;
VXSUDvQFUFULOH RSHUDWRU WUHEXLHVUHWXUQH]HUHIHULQH

32. Fie programul:


#include<iostream.h>
class c1{ int a;};
class c2:public c1{
public:
int b;
void scrie_a( ) { cout<<a; }
};
int main(){
c2 ob; ob.scrie_a();
return 0;
}

6HOHFWDLDILUPDLDFRUHFW
a)
b)
c)
d)

IXQFLD scrie_a( ) nu are acces asupra unui membru privat;


programul DILHD] valoarea lui a ;
GHULYDUHDSXEOLFHVWHLQFRUHFWUHDOL]DW
SULQGHULYDUHSXEOLFDFFHVXOODPHPEULLPRWHQLLGHYLQHSXEOLF.

33. )LHSURJUDPXOXUPWRU
#include<iostream.h>
class B{
int x;
public:
B(int i=10) { x=i;}
int get_x() { return x; }
};
class D: public B{
public:
D(int i):B(i){}
D operator+(const D& a) {return x+a.x; }
};
int main(){
D ob1(7), ob2(-12);
cout<<(ob1+ob2).get_x();
return 0;

13

PROGRAMARE IN C++

3URJUDPXODILHD]
a)
b)
c)
d)

eroare, clasa B nu poate fi PRWHQLW de clasa D;


eroare, metoda operator nu are acces la un membru privat al clasei de baz
programul afieaz valoarea -5;
eroare, operatorul + nu se poate aplica pentru tipuri abstracte de date.

34. )LHXUPWRUXOSURJUDP
#include<iostream.h>
class B1{int x;};
class B2{int y;};
class B3{int z;};
class B4{int t;};
class D: public B1, private B2, protected B3,B4 {public : int m;};
int main(){
D d;
cout<<d.m;
//varianta 1
cout<<d.x;
//varianta 2
cout<<d.y;
//varianta 3
return 0;
}

Variantele care permit accesul la variabile pentru DILDUH sunt:


a)
b)
c)
d)

1+3;
1+2;
1+2+3;
1

35. &RQVLGHUPXUPWRUXOSURJUDP
class vector{
int * pe, nr_c;
public:
operator int (){return nr_c;}
vector(int);
};
vector::vector(int n){
pe=new int[n]; nr_c=n;
while(n--) pe[n]=n;
}
void f(int i){cout<<i<<endl;}
int main(){
vector x(10);
f(x);
return 0;
}

Programul afieaz:
14

PROGRAMARE IN C++

a)
b)
c)
d)

9
10
numerele de la 1 la 10
numerele de la 0 la 9

36. &RQVLGHUPXUPWRUXOSURJUDP
class c{
int a;
public:
virtual void metoda1()=0;
virtual void metoda2(int)=0;
};
int main{
c *pob;
GHFODUDia 1
c ob;
//declaraia 2
c *vpob[3];
//declaraia 3
c vob[3];
//declaraia 4
return 0;
}

'HFODUDiile admise:
a)
b)
c)
d)

1+2;
1+2+3+4
nici una
1+3;

37. Fie data urmatoarea ierarhie:


FODVV%^`
FODVV'%^`
FODVV'%^`
FODVV0'SXEOLF'^`
FODVV0YLUWXDO'YLUWXDO'^`

&RQVLGHUPXUPWRDUHOHDILUPDii:
1. clasa M1 va moteni un obiect de tip B;
2. clasa M1 va moteni dou obiecte de tip B;
3. clasa M2 va YDPRWHQLXQRELHFWGe tip B;
4. clasa M2 va moWHQLGRXRELHFWHGHWLS%
3UHFL]DLFDUHGLQWUHDILUPDLLOHGHPDLVXVVXQWFRUHFWH
a)
b)
c)
d)

2+3
1+2
1+3
2+4

38. )LHXUPWRUXOSURJUDP:
15

PROGRAMARE IN C++

#include<iostream.h>
class B{
public:
int x;
B(int i=16) { x=i; }
B f(B ob) { return x+ob.x; }
};
class D: public B{
public:
D(int i=25) { x=i; }
B f(B ob) { return x+ob.x+1; }
void afisare(){ cout<<x; }
};
int main(){
B *p1=new D, *p2=new B, *p3=new B(p1->f(*p2));
cout<<p3->x;
return 0;
}

Programul DILHD]
a) 41
b) eroare, nu se poate inVWDQia un obiect al unei clase derivate printr-un pointer la un obiect de
tip clasa de baz;
c) 44
d) 45
39. )LHXUPWRUXOSURJUDP
#include<iostream.h>
class B{
int i;
public:
static int x;
B() { x++; i=1; }
~B() { x--; }
static int get_x() { return x; }
int get_i() { return i; }
};
int B::x;
class D: public B{
public:
D() { x++; }
~D() { x--; }
};
int f(B *q){ return (q->get_i())+1;}
int main(){
B *p=new B;
cout<<f(p);
delete p;
p=new D;
cout<<f(p);
delete p;
cout<<D::get_x();
return 0;
}

16

PROGRAMARE IN C++

3URJUDPXODILHD]
a)
b)
c)
d)

eroare, data membr static x QXHVWHLQLializat


eroare, metoda get_x() nu poate fi declarat static;
programul afieaz valoarea 221;
SURJUDPXODILeazYDORDUHD

40. )LHXUPWRUXOSURJUDP
#include <iostream.h>
template<class T, class E>
float f(T x, E y){ return x+y;}
float g(int x, float y){ return x-y;}
int main(){
int a=5;
float b=8.6;
cout<<g(a,b);
return 0;
}

3URJUDPXODILHD]
a)
b)
c)
d)

3
HURDUHSDUDPHWUL]DUHDFODVHL7HVWHLQFRUUHFWUHDOL]DW
13.6
-3.6

41. )LHXUPWRUXOSURJUDP
#include <iostream.h>
template<class T>
int f(T x, T y){ return x+y;}
int f(int x, int y){ return x-y;}
int main(){
int a=5;
float b=8.6;
cout<<f(a,b);
return 0;
}

3URJUDPXODILHD]
e)
f)
g)
h)

-3
eroare, parametrizarea clasei T este incorrect realizat
13.6
3.6

42. )LHXUPWRUXOSURJUDP
#include<iostream.h>
class B{
int x;
public:

17

PROGRAMARE IN C++

B(int i=10) { x=i; }


int get_x() { return x; }};
class D: public B{
public:
D(int i):B(i) {}
D operator+(const D& a) {return x+a.x; }};
int main()
{ D ob1(7), ob2(-12);
cout<<(ob1+ob2).get_x();
return 0;
}

,QGLFDLFHVHYDDILDSHHFUDQvQXUPDH[HFXWULLSURJUDPXOXL
a)
b)
c)
d)

-5
-4
eroare, vQFODVDGHULYDW'QXVHSRDWHDFFHVDGDWDPHPEUSULYDW x a clasei B
-3

43. )LHXUPWRUXOSURJUDP
#include<iostream.h>
class B{
public:
int x;
B(int i=16) { x=i; }
B f(B ob) { return x+ob.x; } };
class D: public B{
public:
D(int i=25) { x=i; }
B f(B ob) { return x+ob.x+1; }
void afisare(){ cout<<x; } };
int main()
{
B *p1=new D, *p2=new B, *p3=new B(p1->f(*p2));
cout<<p3->x;
return 0;
}

3URJUDPXODILHD]
a)
b)
c)
d)

41
HURDUHvQFODVDGHULYDW'QXVHSRDWHDFFHVDGDWDPHPEU[DFODVHL%
16
25

44. )LHXUPWRUXOSURJUDP
#include<iostream.h>
class cls1{
public:
int a;
cls1() { a=7; }
};
class cls2{
public:

18

PROGRAMARE IN C++

int b;
cls2(int i) { b=i; }
cls2(cls1& x) { b=x.a; }
};
int main(){
cls1 x;
cout<<x.a;
cls2 y(x);
cout<<y.b;
return 0;
}

3URJUDPXODILHD]
e)
f)
g)
h)

77
eroare, constructorul de copiere nu este corect definit
eroare, constructorul de copiere nu poate accesa o dat public a clasei cls1
78

45. O funcie friend difer de o metod obinuit a unei clase prin faptul c:
a)
b)
c)
d)
e)

nu se poate defini inline;


QXSULPHWHSRLQWHUXOLPplicit la obiect this;
QXSRDWHDFFHVDGHFkWSDUWHDSXEOLF a obiectului;
se folosete doar pentru supravncrcarea operatorilor;
nu poate returna valori.

46. 2IXQFie independent declarat friend vn domeniul private dintr-o clas i care primeWHFD
SDUDPHWUXRUHIHULQ la un obiect al clasei respective are acces:
a)
b)
c)
d)
e)

doar la membrii publici;


la toti membrii;
la membrii public i protected;
la membrii private;
la toti membrii, dar vl poate doar consulta, nu i modifica.

47. 2IXQFLHLQGHSHQGHQWGHFODUDWfriend vn domeniul public dintr-RFODVLFDUHSULPHWHFD


SDUDPHWUXRUHIHULQODXQRELHFWDOFODVHLUHVSHFWLYHDUHDFFHV
a) doar la membrii publici;
b) la toti membrii;
c) ODPHPEULLSXEOLFLSURWHFWHG
d) la membrii private;
e) ODWRWLPHPEULLGDUvOSRDWHGRDUFRQVXOWDQXLmodifica.
48. )LHXUPWRUXOSURJUDP:
#include <iostream>
using namespace std;
class c{
int a;

19

PROGRAMARE IN C++

public :
c() {}
c(const c&);
c& operator =(c&);};
c& c::operator=(c &c){ cout << endl << "copiere cu egal"; return c;}
c::c(const c &c) { cout << endl << "Constructor de copiere"; }
int main()
{
c x,y=x;
c b=x; x=y;
};

Programul:
a) apeleaza de doua ori operator=(), o data constructorul de copiere si o data constructorul
implicit;
b) apeleaza de trei ori constructorul de copiere, o data constructorul implicit;
c) apeleaza de trei ori supraincarcarea operatorului =;
d) apeleaza de doua ori constructorul de copiere si de trei ori operator=();
e) apeleaza de doua ori constructorul de copiere, o data operator=() si o data constructorul
implicit;
49. 'HFkWHRULHVWHDSHODWGHVWUXFWRUXOFODVHL3HUVRDQDvQSURJUDPXOXUPmWRU"
#include <iostream>
using namespace std;
class Persoana{
public:
Persoana() {cout<<"Constructor"<<endl;}
~Persoana() {cout<<"Destructor"<<endl;}};
int main(){
Persoana** ppp;
ppp = new Persoana*[5];
for(int i=0; i<5; i++)
ppp[i] = new Persoana();
for(int i=0; i<5; i++)
delete ppp[i];
}

5spuns:
a. 10;
b. 6;
c. 7;
d. 5;
HQLFLXQXOGLQUspunsurile anterioare.
50. QSURJUDPXOXUPmWRU
#include <iostream>
using namespace std;
class Persoana{
int varsta;

20

PROGRAMARE IN C++

char* nume;
public:
Persoana(int v=0, char* n="Oarecare"):varsta(v){
this->nume = new char[strlen(n)+1];
strcpy(this->nume,n);
cout<<"Constructor"<<endl;}
Persoana(Persoana& p){
this->varsta = p.varsta;
this->nume = new char[strlen(p.nume)+1];
strcpy(this->nume, p.nume);
cout<<"Constructor de copiere"<<endl;}
void operator=(Persoana& p){
this->varsta = p.varsta;
delete[] this->nume;
this->nume = new char[strlen(p.nume)+1];
strcpy(this->nume, p.nume);
cout<<"Operator="<<endl;}
~Persoana(){ cout<<"Destructor"<<endl;}};
int main()
{
Persoana p1, p2(20, "Gigel");
Persoana p3 = p1;
p3 = p2;
Persoana p4 = p1;
}

SXQWDSHODWHXUPmWRDUHOH
a. constructor de patru ori, constructor de copiere RGDWmGHVWUXFWRU de patru ori;
b. constructor de trei ori, constructor de copiere - GHGRXmRULGHVWUXFWRUGHFLQFLRUL
c. constructor GHGRXmRULFRQVWUXFWRUGHFRSLHUH GHGRXmRULRSHUDWRU - RGDWm
destructor de patru ori;
d. constructor GHGRXmRULFRQVWUXFWRUGHFRSLHUH RGDWmRSHUDWRU - GHGRXmRUL
destructor GHGRXmRUL
e. constructor GHGRXmRri, constructor de copiere RGDWmRSHUDWRU - GHGRXmRUL
destructor de patru ori.

21

UNIVERSITATEA TITU MAIORESCU


FACULTATEA DE INFORMATIC

MODELE NTREBRI EXAMEN LICEN


Disciplina Programare in Java

PROGRAMARE IN JAVA

1. )LHXUPWRDUHDFODV-DYD
class C
{
int a;
float x;
boolean b;
}

6WDELOLLFDUHGLQWUHXUPWRDUHOHLQVWUXFLXQLHVWHFRUHFW:
a)
b)
c)
d)

C
C
C
C

ob
ob
ob
ob

=
=
=
=

new
new
new
new

C(1);
C(1,1.0);
C();
C(1,1.0,true);

2. )LHXUPWRUXOSURJUDP-DYD
class C
{
public static int a=1;
}
public class test
{
public static void main(String[] args)
{
C ob=new C();
C.a++;
ob.a++;
System.out.println(C.a);
}
}

'XSH[HFXWDUHDSURJUDPXOXLYDILDILDWYDORDUHD
a)
b)
c)
d)

3;
2;
1;
nicio YDORDUHGHRDUHFHSURJUDPXOHVWHLQFRUHFWVLQWDFWLFLQXYDSXWHDILH[HFXWDW

3. )LHXUPWRUXOSURJUDP-DYD
class C { public static int a=1; }
public class teste_grila
{
public static void main(String[] args)
{
C ob1=new C();
C ob2=new C();
ob1.a++;
System.out.println(ob2.a);
}

PROGRAMARE IN JAVA

'XSH[HFXWDUHDSURJUDPXOXLYDILDILDWYDORDUHD
a)
b)
c)
d)

0;
2;
1;
QLFLRYDORDUHGHRDUHFHSURJUDPXOHVWHLQFRUHFWVLQWDFWLFLQXYDSXWHDILH[HFXWDW

4. 8QSURJUDP7HVWVFULVvQOLPEDMXO-DYD poate fi compilat folosind comanda:


a)
b)
c)
d)

javac Test
java Test.java
javac Test.class
javac Test.java

5. 8QSURJUDP7HVWVFULVvQOLPEDMXO-DYDLFRPSLODWSRDWHILUXODWIRORVLQGFRPDQGD
a)
b)
c)
d)

javac Test.java
java Test
java Test.class
java Test.java

6. Q-DYDRFODVSRDWHH[WLQGH
a)
b)
c)
d)

FHOPXOWRLQWHUID
RULFkWHFODVH
FHOPXOWRFODV
RULFkWHLQWHUIHH

7. Q-DYDRLQWHUIDSRDWHH[WLQGH
a)
b)
c)
d)

FHOPXOWRLQWHUIDW
RULFkWHLQWHUIHH
FHOPXOWRFODV
RULFkWHFODVH

8. Q-DYDRFODVSRDWHLPSOHPHQWD
a)
b)
c)
d)

RFODV
RULFkWHclase
RLQWHUID
RULFkWHLQWHUIHH

9. )LHXUPWRUXOSURJUDP-DYD
class A
{
public A() { System.out.print("A"); }
}
class B extends A
{

PROGRAMARE IN JAVA

public B() { System.out.print("B"); }


}
class C extends B
{
public C() { System.out.println("C"); }
}
public class test
{
public static void main(String[] args)
{
C ob=new C();
}
}

'XSH[HFXWDUHDSURJUDPXOXLVHYDDILD
a)
b)
c)
d)

ABC
A
CBA
C

10. )LHXUPWRUXOSURJUDP-DYD
class A
{
public int x=1;
public A() { x++; }
}
class B extends A
{
public B() { x++; }
}
class C extends B
{
public int x=1;
public C() { x++; }
}
public class test
{
public static void main(String[] args)
{
B b=new B();
C c=new C();
System.out.println(b.x+" "+c.x);
}
}

'XSH[HFXWDUHDSURJUDPXOXLVHYDDILD
a) 3 4
b) 3 2
3

PROGRAMARE IN JAVA

c) 2 2
d) 3 3
11. )LHXUPWRUXOSURJUDP-DYD
class A
{
int x=0;
public A(int n) { x=n; }
}
class B extends A
{
int x=1;
public B(int n) { super(n); }
}
public class test
{
public static void main(String[] args)
{
A a=new A(5);
B b=new B(7);
System.out.println(a.x+" "+b.x);
}
}

'XSH[HFXWDUHDSURJUDPXOXLVHYDDILD
a)
b)
c)
d)

0
5
5
0

5
1
7
1

12. )LHXUPWRUXOSURJUDP-DYD
interface Student { public void afisare(); }
class Student_1 implements Student
{
String nume;
int grupa;
public Student_1(String n, int g) { nume=n; grupa=g; }
public void afisare() { System.out.print(nume+" "+grupa+" "); }
}
class Student_2 extends Student_1 implements Student
{
String curs;
int nota;
public Student_2(String ns, int g, String c, int n)
{
super(ns,g);

PROGRAMARE IN JAVA

curs=c;
nota=n;
}
public void afisare()
{
..................................
System.out.println(curs+" "+nota);
}
}
public class test
{
public static void main(String[] args)
{
Student_2 s=new Student_2("Popescu",314,"Java",10);
s.afisare();
}
}

DXSexecutarea programului, pentru a se afisa Popescu 314 Java 10VSDLLOHSXQFWDWH


din metoda afisare a clasei Student_2 WUHEXLHvQORFXLWHFX
a)
b)
c)
d)

afisare();
Student_1.afisare();
super.afisare();

QLPLFGHRDUHFHVHDSHOHD]DXWRPDWPHWRGDafisare a clasei Student_1.

13. )LHXUPWRUXOSURJUDP-DYD
interface Student { public void afisare(); }
class Student_1 implements Student
{
String nume;
int grupa;
public Student_1(String n, int g) { nume=n; grupa=g; }
public void afisare() { System.out.print(nume+" "+grupa+" "); }
}
class Student_2 extends Student_1 implements Student
{
String curs;
int nota;
public Student_2(String ns, int g, String c, int n)
{
.......
curs=c;
nota=n;
}
public void afisare()
{

PROGRAMARE IN JAVA

super.afisare();
System.out.println(curs+" "+nota);
}
}
public class test
{
public static void main(String[] args)
{
Student_2 s=new Student_2("Popescu",314,"Java",10);
s.afisare();
}
}

DXSH[HFXWDUHDSURJUDPXOXL, pentru a se DILa Popescu 314 Java 10VSDLLOHSXQFWDWH


din constructorul Student_2 al clasei Student_2 trebuie:
a) VILHvQORFXLWHFXLQVWUXFLXQHD super(ns,g);
b) VILHvQORFXLWHFXLQVWUXFLXQLOH nume=ns; grupa=g;
c) QXWUHEXLHvQORFXLWHFXQLPLFGHRDUHFHVHDSHOHD]DXWRPDWconstructorul Student_1 al
clasei Student_1;
d) QX SRW IL vQORFXLWH Fu nimic, deoarece programul fiimd incorect pentru ca metoda
afisare DLQWHUIHHL Student HVWHLPSOHPHQWDWvQGRXFODVHGLIHULWH Student_1 L
Student_2.

14. )LHXUPWRDUHOHGHFODUDLLvQ-DYD
interface Patrat
{
public float aria();
public float perimetru();
}
class Patrat_1 implements Patrat
{
float L;
public Patrat_1(float x) { L = x; }
public float aria() { return L*L; }
}
class Patrat_2 extends Patrat_1 implements Patrat
{
public Patrat_2(float L) { this.L = L; }
public float perimetru() { return 4*L; }
}

6WDELOLLFDUHGLQWUHXUPWRDUHOHSURSR]LLLVXQWDGHYUDWH:
a) GHILQLLD FODVHL Patrat_1 HVWH LQFRUHFW GHRDUHFH QX LPSOHPHQWH] PHWRGD SHULPHWUX D
LQWHUIHHLPatrat;
b) constructorul clasei 3WUDWB este incorect deoarece nu are acces la pointerul this;
c) constructorul clasei 3WUDWB HVWH LQFRUHFW GHRDUHFH QX DUH DSHOHD] FRQVWUXFWRUXO
superclasei Patrat_1;
6

PROGRAMARE IN JAVA

d) GHILQLLD FODVHL Patrat_2 HVWH LQFRUHFW GHRDUHFH QX LPSOHPHQWH] PHWRGD DULD D
LQWHUIHHLPatrat.
15. )LHXUPWRUXOSURJUDP-DYD
interface Patrat
{
float L = 0;
public float aria();
public float perimetru();
}
class Patrat_1 implements Patrat
{
float L = 5;
public Patrat_1(float x) { L = x; }
public float aria() { return L*L; }
public float perimetru() { return 4*L; }
}
public class teste_grila
{
public static void main(String[] args)
{
Patrat p = new Patrat_1(10);
System.out.println(p.aria() + p.perimetru());
}
}

6WDELOLLFDUHGLQWUHXUPWRDUHOHSURSR]LLLVXQWDGHYUDWH
a) SURJUDPXOHVWHLQFRUHFWGHRDUHFHvQIXQFLDmain VHLQVWDQLD]RLQWHUIDFLQXRFODV;
b) SURJUDPXOHVWHFRUHFWLGXSUXODUHYDDILD;
c) SURJUDPXO HVWH LQFRUHFW GHRDUHFH vQ FODVD Patrat_1 VH UHGHILQHWH FD L GDWD PHPEUX
constanta L GLQLQWHUIDDPatrat;
d) SURJUDPXOHVWHFRUHFWLGXSUXODUHYDDILD100.0 40.0.
16. )LHXUPWRUXOSURJUDP-DYD
interface Patrat
{
public float A();
public float P();
}
interface Dreptunghi
{
public float A();
public float P();
}
class Patrulater_1 implements Patrat,Dreptunghi
{
float L;

PROGRAMARE IN JAVA

public Patrulater_1(float x) { L=x; }


public float A() { return L*L; }
public float P() { return 4*L; }
}
class Patrulater_2 implements Patrat, Dreptunghi
{
float L,l;
public Patrulater_2(float x, float y) { L=x; l=y; }
public float A() { return L*l; }
public float P() { return 2*(L+l); }
}
public class teste_grila
{
public static void main(String[] args)
{
Dreptunghi d = new Patrulater_1(10);
Patrat p = new Patrulater_2(10,20);
System.out.println(d.A()+" "+d.P()+" "+p.A()+" "+p.P());
}
}

6WDELOLLFDUHGLQWUHXUPWRDUHOHSURSR]LLLVXQWDGHYUDWH
a) programul este incorect deoarece apare un conflict de nume pentru ca vQ LQWHUIHHOH
Patrat L Dreptunghi sunt definite metode cu aceiasi signatura, iar clasele
Patrulater_1 LPatrulater_2 LPSOHPHQWHD]ILHFDUHDPEHOHLQWHUIHH;
b) SURJUDPXO HVWH LQFRUHFW GHRDUHFH vQ LQWHUIHHOH Patrat L Dreptunghi sunt definite
metodele A L P cu aceiasi signatura, iar clasele Patrulater_1 L Patrulater_2
LPSOHPHQWHD]ILHFDUHvQPRGGLIHULWFHOHGRXPHWRGH;
c) SURJUDPXOHVWHFRUHFWLGXSUXODUHYDDILD100.0 40.0 200.0 60.0;
d) SURJUDPXO HVWH LQFRUHFW GHRDUHFH vQ IXQFLD main i se DWULEXLH LQVWDQHL d D LQWHUIHHL
Dreptunghi un obiect din clasa Patrulater_1 LDULQVWDQHL p DLQWHUIHHL Patrat un
obiect de tip Patrulater_2 FDUHGHIDSWDEVWUDFWL]HD]QRLXQHDGHGUHSWXQJKL .
17. &RQVLGHUPXUPWRUXOSURJUDP-DYD
class Cls
{
int a,b;
public Cls(int x, int y) { a=x; b=y; f(); g(); }
void f()
{
while(a<b)
{
b=b-2*a;
a=a+b/10;
}
}
void g() { System.out.println(a+" "+b); }

PROGRAMARE IN JAVA

}
public class Test
{
public static void main(String[] args)
{
Cls ob = new Cls(5,100);
}
}

'XSH[HFXWDUHDSURJUDPXOXLpe ecran se YDDILD


a)
b)
c)
d)

20 -22
22 22
35 10
5 100

18. &RQVLGHUPXUPWRUXOprogram Java:


class C
{
int a,b;
public C(int x, int y) { a=x; b=y; }
void f()
{
if(a<b) { a++; b--; g(); }
}
void g()
{
if(b>=a) { a++; b--; f(); }
}
void afisare() { System.out.println(a+" "+b); }
}
public class teste_grila
{
public static void main(String[] args)
{
C ob = new C(2,10);
ob.f(); ob.g();
ob.afisare();
}
}

'XSH[HFXWDUHDSURJUDPXOXL pe ecran se YDDILD


a)
b)
c)
d)

5
6
2
7

7
6
10
5

19. &RQVLGHUPXUPWRUXOSURJUDP-DYD
9

PROGRAMARE IN JAVA

class C
{
static int x = 0;
static int f() { return (++x)*(x--); }
}
public class teste_grila
{
public static void main(String[] args)
{
System.out.println(C.f()+" "+C.f()+" "+C.f());
}
}

'XSH[HFXWDUHDSURJUDPXOXLSHHFUDQVHYDDILD
a)
b)
c)
d)

1
1
1
0

1
2
2
0

1
3
6
0

20. &RQVLGHUPXUPWRUXOSURJUDP-DYD
class C
{
static int x=0;
static void f()
{
x = (++x)*(x--);
System.out.print(x+" ");
}
}
public class teste_grila
{
public static void main(String[] args)
{
C.f();C.f();C.f();
}
}

'XSH[HFXWDUHDSURJUDPXOXLSHHFUDQVHYDDILD
a)
b)
c)
d)

0
1
1
2

0 0
4 25
-1 1
4 16

21. 8QILUGHH[HFXLHSRDWHLQWUDvn starea "blocat" (blocked) astfel:


a)
b)
c)
d)

prin apelul metodei sleep();


automat de ctre sistemul de operare;
prin apelul metodei block();
prin apelul metodei wait().
10

PROGRAMARE IN JAVA

22. Prin modDOLWDWHD VD GH WUDWDUH D H[FHSiilor, JaYD RIHU urmWRDUHOH DYDQWDMH ID de
mecanismul tradiional de tratare a erorilor:
a)
b)
c)
d)

e[LVWRPHWRG care se ocup de acest lucru;


separarea codului pentru tratarea unei erori de FRGXOvn care ea poate sa apar;
propagarea unei eroULSkQDODXQDQDOL]RUGHH[FHSii corespunztor;
gruparea erorilor dupa tipul lor.

23. O subclas a unei clDVHDEVWUDFWHSRDWHILLQVWDQLDW numai dac:


a) se folosete cuvantul cheie abstract;
b) suprascrie ILHFDUH PHWRG GHFODUDW DEVWUDFW vQ VXSHUFODVD VD i furnizeaza implementri
pentru toate acestea;
c) sHIRORVHWHPRtenirea multipl;
d) VXEFODVDEVWUDFWQXSRDWHILLQVWDQiat.
24. &DUHHVWHUROXOGHFODUDLLORUimport?
a)
b)
c)
d)

Permite referirea claselor IU utilizarea de prefixe;


Permite importul imaginilor folosite;
(OLPLQQHFHVLWDWHDGHFODUULLYDULDELOHORU
(OLPLQDSHOXULOHGLUHFWHDOHIXQFLLORUIUFODVH

25. ,QGLFDLSHFDUHGLQWUHVLVWHPHOHGHRSHUDUHXUPWRDUHSRWILUXODWHDSlicDiile Java:


a)
b)
c)
d)

Windows
UNIX
Mac OS X
Linux

26. Care dintre liniile de mai jos rHDOL]HD]DWULEXLUHDLUXOXL+HOOR-DYD variabilei s ?


a) String s = "Hello Java";
b) String s[] = "Hello Java";
c) new String s = "Hello Java";
d) String s = new String("Hello Java");
27. &HVHDILVHD]GDFVHH[HFXWXUPWRUXOFRG-DYD
String s = new String( "Computer" );
if( s == "Computer" )
System.out.println( "Equal A" );
if( s.equals( "Computer" ) )
System.out.println( "Equal B" );

a)
b)
c)
d)

Eroare la complilare, deoarece operatorul == nu se poate aplica pentru tipul String


6HDILVHD]PHVDMXO(TXDO$
6HDILVHD]PHVDMXO(TXDO%
6HDILHD]DPEHOHPHVDMH(TXDO$UHSVHFWLY(TXDO%
11

PROGRAMARE IN JAVA

28. Pentru size=4, forma tabloului triArray este


int[][] makeArray( int size) {
int[][] triArray = new int[size] [];
int val=1;
for( int i = 0; i < triArray.length; i++ ){
triArray[i] = new int[i+1];
for( int j=0; j < triArray[i].length; j++ )
{
triArray[i][j] = val++;
}
}
return triArray;
}
a)
1 2 3 4
5 6 7
8 9
10
b)
1 4 9 16
c)
1 2 3 4
d)
1 2 3 4
5 6 7 8
9 10 11 12
13 14 15 16
e)
1
2 3
4 5 6
7 8 9 10

29. 'DFWDEORXOarr[] FRQLQHGRDUYDORULSR]LWLYHFHYDUHWXUQDXUPWRDUHIXQFLH"


public int guessWhat( int arr[] ){
int x= 0;
for( int i = 0; i < arr.length; i++ )
x = x < arr[i] ? arr[i] : x;
return x;
}

a) 5HWXUQHD] indexul celui mai mare element din tablou


b) 5HWXUQHD]DWUXHIDOVHGDFH[LVWXQHOHPeQWFDUHVHUHSHW
c) 5HWXUQHD]HOHPHQWXOFXYDORDUHDFHDPDLPDUH
12

PROGRAMARE IN JAVA

d) 5HWXUQHD]QXPDUXOHOHPHQWHORUGLQWDEORX
30. La execuia programului Java
class T1 {
public static void main(String[] a){
int x = 5;
int y = (x = 4)*x; System.out.println(y);
}
}

se va afia:
a)
b)
c)
d)

20
16
5
4

31. n Java, metoda clone() a clasei Object


a)
b)
c)
d)

Creeaza un obiect nou al clasei folosind constructorul implicit


CUHHD]DLUHWXUQHD] o copie a obiectului curent
Returneaza codul asociat constructorului implicit
Testeaz dac obiectul specificat este o clRQ a obiectului current

32. Un fir de executare Java este


a) O instan a unei clase derivate din clasa Thread
b) O instan a unei clase care implementeaz interfDa Runnable
c) Fie un obiect al unei clase a carei superclas este clasa Thread, fie un obiect al unei clase
FDUHLPSOHPHQWHD] interfata Runnable
33. )LHXUPtorul program Java:
public class Asignare {
public static void main(String args[]){
int a = 3;int b = (a = 2) * a;int c = b * (b = 5) ;
System.out.println("a = " + a + ", b = " + b + ", c = " + c);}}

&HYDDILDDFHVWDODH[HFXie?
a) a = 2, b = 4, c = 20
b) a = 2, b = 5, c = 20
c) a = 2, b = 5, c = 25
d) a = 3, b = 6, c = 30
34. Urmatorul subprogram Java:
int as=3, bs=2, cs=4;
System.out.print(((as < bs++) & (cs++ < bs)) + " ");
System.out.println(as + " " + bs + " " + cs);
System.out.print(((as < bs++) && (os++ < bs++)) + " ");

13

PROGRAMARE IN JAVA

System.out.println(as + " " + bs + " " + cs);

$ILHD]:
a)
b)
c)
e)

Eroare la compilare: nu se poate aduna o valoare booleana cu un String;


6XESURJUDPXOVHFRPSLOHD]LODH[HFXLHDILVHD]:false 3 3 5 false 3 4 4
6XESURJUDPXOVHFRPSLOHD]DLODH[HFXLHDILVHD]: false 3 3 5 false 3 4 5
Subprogramul se comSLOHD]DLODH[HFXLHDILVHD]false 3 3 5 false 3 5 6

35. &RQVLGHUPXUPWRUXOSURJUDP-DYD
public class test
{
public static void main(String args[])
{
int v[ ]={-2,4,-5,-6,0,2},suma=0,i;
for(i=0;i<5;i++)
if(v[i]<-2) suma+=v[i];
System.out.println(suma);
}
}
'XSH[HFXWDUHDSURJUDPXOXLSHHFUDQVHYDDILD

a) -7
b) 0
c) -11
d) -13
36. 6HFYHQDXUDPDWRDUH
public class test {
public static void main(String args[]){
String sir = "Programare in Java, C++ este usoara" ;
String atom[]= sir.split(" ") ;
System.out.println(atom.length) ;
}}

$ILVHD]
a) Eroare la compliare pentru ca nu se specifica numarul de elemente ale tabloului atom
b) 6
c) 7
d) 8
37. 6HFYHQDXUDPDWRDUH
public class test{
public static void main(String args[]){
String sir = "Programare in Java, C++ este usoara" ;
String atom[]= sir.split(" ") ;
System.out.println(atom[0].length()) ;
}}

14

PROGRAMARE IN JAVA

$ILVHD]
a) Eroare la compliare pentru ca nu se specifica numarul de elemente ale tabloului atom
b) 6
c) 10
d) 9
38. &HVHYDDILDODH[HFXia urmatorului program Java?
interface I1{
float x=2.3f;
}
public class Test implements I1{
public static void main(String [] args){
System.out.print(x+" ");
x=6.7f;
System.out.print(x);
}
}
a) Va aparea eroare la compilare deoarece valoarea variabilei x nu se mai poate modifica;
b) /DH[HFXie se va afia: 2.3f 6.7f;
c) /DH[HFXie se va afia: 2.3f 2.3f;
d) /DH[HFXie se va afia: 2.3 6.7;
39. Urmatorul program Java:
class C1{
int x=1;
void f(int x){
this.x=x;}
int getX_C1(){
return x;}}
class C2 extends C1{
float x=5.0f;
int f(int x){
super.f((int)x);}
float getX_C2(){
return x;}}
public class Test{
public static void main(String []args){
C2 obiect = new C2();
obiect.f(4);
System.out.print(obiect.getX_C2() + " ");
System.out.println(obiect.getX_C1());}}
$ILHD]
a) 3URJUDPXOHVWHFRUHFWLYDDILa la H[HFXie 5 4;
b) 3URJUDPXOHVWHFRUUHFWi va afia la H[HFXie 4.0 4;
c) Va aparea HURDUH OD FRPSLODUH GHRDUHFH vn clasa C2 s-a suprascris gresit atributul x din
clasa C1;
d) Va aparea eroare la compilare deoarece metoda suprascris f() din clasa C2 intoarce un tip
diferit de void;
15

PROGRAMARE IN JAVA

40. O subclas a unei clase DEVWUDFWHSRDWHILLQVWDQLDW numai dac:


D 6HIRORVHte cuvantul cheie abstract;
b) 6XSUDVFULHILHFDUHPHWRGGHFODUDWDEVWUDFWvQVXSHUFODVDVDi furnizeaza implementari
pentru toate acestea;
c) 6HIRORVHWHPRtenirea multipl;
d) 2VXEFODVDEVWUDFWQXSRDWHILLQVWDQiat;
41. Urmatorul program Java:
class C1{
int x=1;
void f(int x){
this.x=x;}
int getX_C1(){
return x;}}
class C2 extends C1{
float x=5.0f;
void f(int x){
super.f((int)x);}
float getX_C2(){
return x;}}
public class Test{
public static void main(String []args){
C2 obiect = new C2();
obiect.f(4);
System.out.print(obiect.getX_C2() + " ");
System.out.println(obiect.getX_C1());}}
$ILHD]
D 3URJUDPXOHVWHFRUHFWLYDDILDODH[HFXLH5.0 4;
E 3URJUDPXOHVWHFRUUHFWLYDDILDODH[HFXLH4.0 4;
c) 9D DSDUHD HURDUH OD FRPSLODUH GHRDUHFH vQ FODVD & V-a suprascris gresit atributul x din
clasa C1;
d) 3URJUDPXOHVWHFRUUHFWLYDDILDODH[HFXLH5.0 5;
42. 7LSXULOHUHIHULQDvQ-DYDVXQW
a)
b)
c)
d)

tabloul, clasa, iQWHUIDa


clasa, interfata
int, flout, double, char, String
String si null

43. 6HFYHQDXUPWRDUH
public class numar_43_nou {
public static void main(String args[])
{
String sir="Examen";
sir.toUpperCase();
System.out.println(sir);
16

PROGRAMARE IN JAVA

}
}
$ILHD]
a)
b)
c)
d)

EXAMEN
Examen
eXamen
Examen

44. 6HFYHQDXUWRDUH
public class numar_44_nou {
public static void main(String args[])
{
String sir1="Programare in Java";
String sir2 =sir1.substring(4,8);
System.out.println(sir2.toUpperCase());
}

$ILHD]:
a) ogramare
b) rama
c) RAMA
d) Java
45. 6HFYHQDXUWRDUH
public class Test {
public static void main(String args[])
{
int numar = 1;
for (int x = 0; x < 4; x++)
numar = numar << 1;
System.out.println(numar);}
}
$ILHD]:
a) 16
b) 32
c) 8
d) 3
46. 2FODVDEVWUDFWvQ-DYD:
a) FRQLQHGRDUPHWRGHDEVWUDFWH
b) FRQLQHPHWRGHDEVWDUFWHGDUSRDWHFRQLQHLPHWRGHGHILQLWH
c) SRDWHILLQVWDQLDW

17

PROGRAMARE IN JAVA

d) QXSRDWHILLQVWDQLDWGDUVHSRWGHILQLLUHIHULQHFWUHDFHVWD

47. SecveDXUDPDWRDUH
public class test {
public static void main(String args[]){
String sir = "Programare in Java, C++ este usoara" ;
String atom[]= sir.split("[ ,]") ;
System.out.println(atom.length) ;
}}
$ILVHD]
a)
b)
c)
d)

Eroare la compliare pentru ca nu se specifica numarul de elemente ale tabloului atom


2
6
5

48. 2FODVGHFODUDWfinal
D FODVDQXSRDWHILLQVWDQLDW
b) orice cod exterior are acces la codul clasei
F LPSOHPHQWHD]RLQWHUID
d) nu poate avea subclase

49. Se FRQVLGHU XUPWRUXOIUDJPHQWGHFRG


outer: for(int i=0;i<2;i++) {
for(int j=0;j<3;j++) {
if(i==j) {
continue outer;
}
6\VWHPRXWSULQWOQ L LM M 
}
}
Care linii vor face parte din output?
a)
b)
c)
d)
e)

i=0 j=0
i=0 j=1
i=0 j=2
i=1 j=0
i=1 j=1

50. Se FRQVLGHU XUPWRUXOIUDJPHQWGHFRG


for(int i=0;i<2;i++) {
for(int j=0;j<3;j++) {
if(i==j) {
continue;
}
6\VWHPRXWSULQWOQ L LM M 
}
18

PROGRAMARE IN JAVA

}
Care linii vor face parte din output?
a)
b)
c)
d)
e)

i=0 j=0
i=0 j=1
i=0 j=2
i=1 j=0
i=1 j=1

19

UNIVERSITATEA TITU MAIORESCU


FACULTATEA DE INFORMATIC

MODELE NTREBRI EXAMEN LICEN


Disciplina Algoritmi si structuri de date

ALGORITMI SI STRUCTURI DE DATE

1. Se d urmtorul algoritm:
for i = 1, n
poz[i] = 1
endfor
for i = 1, n-1
for j = i+1, n
if x[j] < x[i] then poz[i] = poz[i] + 1
else poz[j] = poz[j] + 1
endif
endfor
endfor
tiind c datele de intrare sunt n = 7 i vectorul x = (9, 15, 23, 2, 5, 4, 8) care vor fi valorile
vectorului poz la sfritul algoritmului?
a. (5, 6, 7, 1, 2, 3, 4)
b. (5, 6, 7, 1, 3, 2, 4)
c. (6, 5, 7, 1, 2, 3, 4)
d. (1, 2, 3, 4, 5, 6, 7)
2. Se d urmtoarea funcie recursiv
1) int inaltime(NodArb *rad)
2) // returneaza inaltimea unui arbore binar
3) {
4)
if(rad == NULL) return 0;
5)
...............................................................................................
6)
return 1 + max(inaltime(rad->stang), inaltime(rad->drept));
7)
8) }
Ce instruciuni trebuie scrise n linia de cod 5) pentru ca funcia s returneze nlimea unui arbore
binar?
a. instruciunea vid
b. int inaltime =0;
c. else if(rad->stang == NULL && rad->drept == NULL) return 0;
d. else
3. Se d urmtoarea funcie
int cautare(int x[], int first, int last, int value)
{ int mid;
if(first > last) return -1;
mid = (first + last) / 2;
if (x[mid] == value) return mid;
if(x[mid] < value) return cautare(x, mid + 1, last, value);
else return cautare(x, first, mid - 1, value);
}
Dac vectorul x = (2, 4, 5, 8, 9, 15, 23), care va fi rezultatul apelrii funciei cautare (x, 2, 6, 8) ?
a. -1
b. 2
c. 3
d. 1
1

ALGORITMI SI STRUCTURI DE DATE

4. Parcurgerea n preordine a arborelui binar din Fig. 1 va afia

Fig. 1
a. 10, 4, 1, 9, 21, 15, 28, 23
b. 10, 4, 1, 9, 23, 21, 28, 15
c. 1, 4, 9, 10, 15, 21, 23, 28
d. 10, 4, 1, 9, 21, 15, 23, 28
5. Parcurgerea n inordine a arborelui binar din Fig. 1 va afia
a. 10, 4, 1, 9, 21, 15, 23, 28
b. 1, 4, 9, 10, 15, 21, 23, 28
c. 1, 4, 9, 10, 15, 21, 28, 23
d. 1, 4, 9, 10, 21, 23, 28, 15
6. Parcurgerea n postordine a arborelui binar din Fig. 1 va afia
a. 1, 4, 9, 10, 15, 21, 23, 28
b. 1, 4, 9, 10, 15, 21, 28, 23
c. 1, 9, 4, 15, 28, 23, 21, 10
d. 1, 9, 4, 15, 23, 28, 21, 10
7. Ce returneaz urmtoarea funcie dac rad este pointer la rdcina unui arbore binar nenul?
int fct(NodArb *rad)
{
if(rad == NULL) return 0;
return 1 + fct(rad->stang) + fct(rad->drept);
}
a. 0
b. 1
c. numrul de noduri terminale ale arborelui
d. numrul de noduri ale arborelui.
8. Ordinul de complexitate a algoritmului Bubblesort (metoda bulelor) este
a. O (n)
b. O(n2)
c. O(n log n)
d. O(n3)
2

ALGORITMI SI STRUCTURI DE DATE

9. Cel mai ru caz pentru algoritmul de sortare rapid este cazul n care
a. vectorul este deja sortat
b. vectorul nu este creat aleator
c. toate elementele vectorului sunt pare
d. vectorul conine i elemente negative
10. Cte comparaii se fac dac se folosete algoritmul de cutare secvenial pentru cutarea
elementului 12 n vectorul (2, 3, 6, 9, 10, 25)?
a. 6
b. 5
c. 3
d. 1
11. Cte comparaii se fac dac se folosete algoritmul de cutare binar pentru cutarea elementului 12
n vectorul (2, 3, 6, 9, 10, 25)?
a. 6
b. 5
c. 3
d. 1
12. O list liniar n care inserrile n lista se fac pe la un capt, iar tergerile pe la cellalt capt se
numete
a. stiv
b. vector
c. coad
d. arbore
13. Care din urmtorii algoritmi au ordinul de complexitate O(n log n)?
a. Bubblesort (sortarea cu metoda bulelor)
b. Mergesort (sortarea prin interclasare)
c. sortarea prin inserare
d. Quicksort(sortarea rapid).
14. Cel mai ru caz pentru algoritmul de cutare secvenial este cazul n care
a. elementul cutat este la mijlocul listei
b. elementul cutat nu se afl n list
c. elementul cutat este pe ultima poziie n list
d. vectorul este ordonat crescator
15. Timpul de execuie al unui algoritm se msoar n
a. numrul de kiloctei necesari
b. numrul de instruciuni ale algoritmului
c. numrul de operaii cheie
d. numrul de milisecunde necesar executrii.
16. Ordinul de complexitate a algoritmului de cutare binar este
a. O(n)
b. O(n2)
c. O(n log n)
d. O(log n)
17. O problem se poate rezolva prin trei algoritmi, unul cu ordinul de complexitate O(n), altul cu
ordinul O(log n) i al treilea cu ordinul O(n log n). Care este cel mai bun?
3

ALGORITMI SI STRUCTURI DE DATE

a. cel cu ordinul O(n)


b. cel cu ordinul O(log n)
c. cel cu ordinul O(n log n)
d. Toate sunt la fel.
18. Se d urmtorul algoritm:
for i = 1, n -1
index_min = i
for j = i + 1, n
if x[index_min] > x[j] then index_min = j
endif
endfor
if i index_min then
temp=x[i]
x[i]=x[index_min]
x[index_min]=temp
endif
endfor
Care vor fi valorile vectorului x dup terminarea pasului i = 3 tiind c la intrare avem valorile n = 7
i vectorul x = (9, 15, 23, 2, 5, 4, 8)?
a.
b.
c.
d.

(2, 4, 5, 9, 15, 23, 8)


(2, 5, 9, 15, 23, 4, 8)
(2, 5, 9, 15, 4, 23, 8)
(2, 4, 5, 9, 23, 15, 8)

19. Se d urmtorul algoritm. Care vor fi valorile vectorului x dup terminarea pasului i = 5, tiind c la
intrare avem valorile n = 7 i x = (9, 15, 23, 2, 5, 4, 8)?

a.
b.
c.
d.

for i = 2, n
elem = x[i]
j = i -1
while j >= 1 and x[j] > x[i]
j = j 1
endwhile
pozitie = j +1
for j= i, pozitie+1, -1
x[j] = x[j -1]
endfor
x[pozitie] = elem
endfor
(2, 4, 5, 9, 15, 23, 8)
(2, 5, 9, 15, 23, 4, 8)
(2, 5, 9, 15, 4, 23, 8)
(2, 4, 5, 8, 9, 15, 23)
4

ALGORITMI SI STRUCTURI DE DATE

20. Se consider urmtoarea secven de operaii ntr-o stiv: push(2), push(10), push(8), pop(), push(9),
push(6), pop(), pop(), push(7), push(3), pop(), pop(), pop(), pop(). n ce ordine vor fi scoase din stiv
elementele? (push = inserare, pop = tergere)
a. (2, 10, 8, 9, 6, 7, 3)
b. (3, 7, 6, 9, 8, 10, 2)
c. (8, 6, 9, 3, 7, 10, 2)
d. (6, 9, 3, 7, 8, 10, 2)
21. Se consider urmtoarea secven de operaii ntr-o coad: enqueue(2), enqueue(10), enqueue(8),
dequeue(), enqueue(9), enqueue(6), dequeue(), dequeue(), enqueue(7), enqueue(3), dequeue(),
dequeue(),dequeue(), dequeue(). n ce ordine vor fi scoase din coad elementele? (enqueue =
inserare, dequeue = tergere)
a. (2, 10, 8, 9, 6, 7, 3)
b. (3, 7, 6, 9, 8, 10, 2)
c. (8, 6, 9, 3, 7, 10, 2)
d. (6, 9, 3, 7, 8, 10, 2)
22. Se consider urmtoarea funcie care caut o valoare dat ntr-o list nlnuit. val este variabila a
crei valoare este cutat, iar head este un pointer la capul listei n care se face cutarea.
1) NOD *cauta(NOD *head, int val)
2) {
3)
NOD *iter = head; int gasit=0;
4)
while (.......................)
5)
{
6)
if (iter -> info == val) gasit = 1;
7)
else iter = iter -> link;
8)
}
9)
if(gasit) return iter;
10) else return NULL;
11) }
Cum trebuie completat linia de cod 4 astfel nct funcia s ruleze corect i s returneze un pointer la
nodul cu valoarea cutat sau NULL dac valoarea nu a fost gsit n list?
a. !gasit && iter != NULL
b. !gasit
c. iter!=NULL && !gasit
d. gasit ==0
23. Se consider urmtoarea funcie care are drept variabil de intrare un pointer la capul unei liste
nlnuite. Ce face aceast funcie?
1) NOD *fct(NOD *head)
2) {
3)
if (head == NULL) return NULL;
4)
head = head -> link;
5)
return head;
6) }
a. returneaz NULL
b. returneaz un pointer la capul listei
5

ALGORITMI SI STRUCTURI DE DATE

c. elimin primul nod al listei i returneaz un pointer la noul cap al listei


d. returneaz NULL dac lista este vid
24. Cel mai ru caz pentru algoritmul de sortare prin selecie este cazul n care
a. vectorul este ordonat descresctor
b. cel mai mare element al vectorului se afl n prima poziie n vector
c. nu exist un cel mai ru caz
d. vectorul este ordonat cresctor
25. Cel mai bun caz pentru algoritmul de sortare prin metoda bulelor (Bubblesort) este cazul n care
a. cel mai mic element al vectorului se afl pe prima poziie n vector
b. cel mai mare element al vectorului se afl n ultima poziie n vector
c. nu exist un cel mai bun caz
d. vectorul este ordonat cresctor
26. Se consider lista nlnuit cu elemente numere ntregi din Fig. 2:

Fig. 2
Dat urmtoarea definiie a tipului de date ce corespunde unui nod al listei,
struct NOD
{
int info;
NOD *link;
};
ce va afia urmtoarea funcie, dac este apelat prin print(HEAD)?
void print(NOD *head)
{
NOD *iter=head;
while(iter!=NULL)
{
cout << iter->info<<", ";
iter=iter->link;
}
}
a. 10, 2, 8, 5, 7, 3,
b. 3, 7, 5, 8, 2, 10,
c. 2, 8, 5, 7, 3,
d. 2, 8, 5, 7,
27. Se consider lista nlnuit cu elemente numere ntregi din Fig. 2. Dat urmtoarea definiie a tipului
de date ce corespunde unui nod al listei,
struct NOD
{
int info;
NOD *link;
};
6

ALGORITMI SI STRUCTURI DE DATE

ce va afia urmtoarea funcie, dac este apelat prin print(HEAD)?


void print(NOD *head)
{
NOD *iter=head;
while(iter->link !=NULL)
{
cout << iter->info<<", ";
iter=iter->link;
}
}
a. 10, 2, 8, 5, 7, 3,
b. 10, 2, 8, 5, 7,
c. 2, 8, 5, 7, 3, 10,
d. 2, 8, 5, 7,
28. Se consider lista nlnuit cu elemente numere ntregi din Fig. 2. Dat urmtoarea definiie a tipului
de date ce corespunde unui nod al listei,
struct NOD
{
int info;
NOD *link;
};
ce va afia urmtoarea funcie, dac este apelat prin print(HEAD)?
void print(NOD *head)
{
NOD *iter=head;
while(iter->link !=NULL)
{
iter=iter->link;
if ((iter-> info)%2) cout << iter->info<<", ";
}
}
a. 10, 2, 8, 5, 7, 3,
b. 10, 3, 7, 5, 8, 2,
c. 2, 8, 5, 7, 3,
d. 5, 7, 3,
29. Se d urmtoarea funcie
void interclasare(int x[], int prim, int mijloc, int ultim, int C[])
{
// lista A: x[prim ..mijloc]
// lista B: x[mijloc+1 ..ultim]
// lista C: C[0.. ultim - prim]
int iterA = prim, iterB = mijloc+1, iterC = 0;
while (iterA <= mijloc && iterB <=ultim)
if (x[iterA] < x[iterB])
C[iterC ++]= x[iterA ++];
else C[iterC ++]= x[iterB ++];
while (iterA <= mijloc)
C[iterC ++]= x[iterA ++];
7

ALGORITMI SI STRUCTURI DE DATE

while (iterB <= ultim)


C[iterC ++]= x[iterB ++];
}
Dac vectorul x = (9, 15, 23, 25, 4, 5, 8), care va fi vectorul C la apelarea funciei interclasare (x, 0,
3, 6, C)?
a. 4, 5, 8, 9, 15, 23, 25
b. 0, 0, 0, 0, 0, 0, 0
c. 9, 4, 15, 5, 23, 8, 25
d. 9, 15, 23, 25, 4, 5, 8
30. Se d urmtoarea funcie, care apeleaz funcia interclasare descris la exerciiul 29.
void mergesort(int x[], int prim, int ultim)
{
if (prim < ultim)
{
int mijloc = (prim + ultim)/2;
mergesort(x, prim, mijloc);
mergesort(x, mijloc + 1, ultim);
int C[ultim - prim +1];
interclasare(x, prim, mijloc, ultim, C);
for (int i = prim; i <= ultim; i++)
x[i]=C[i-prim];
}
}
La apelul funciei mergesort(x, 0, 6) unde vectorul x = (9, 15, 23, 2, 4, 5, 8), de cte ori va fi apelat
funcia mergesort (incluznd apelul iniial)?
a. 1
b. 3
c. 13
d. 7
31. Ordinul de complexitate a algoritmului de sortare prin inserare este
a. O (n)
b. O(n2)
c. O(n log n)
d. O(n3)
32. Ordinul de complexitate a algoritmului de cutare secvenial este
a. O (n)
b. O(n2)
c. O(n log n)
d. O(log n)
33. O list liniar n care inserrile i tergerile n lista se fac pe la un singur capt se numete
a. stiv
b. vector
c. coad
d. arbore
34. Ordinul de complexitate a algoritmului de sortare prin selecie este
8

ALGORITMI SI STRUCTURI DE DATE

a. O (n)
b. O(n2)
c. O(n log n)
d. O(n3)
35. Se d urmtoarea funcie n care front i rear sunt variabile globale i reprezint pointeri la nodurile
unei liste liniare reprezentate simplu nlnuit, front la primul nod al listei, iar rear pointer la ultimul
nod.
void fct(int a)
{
nod *p = new nod;
if (p != NULL)
{
p ->info = a;
p ->link = NULL;
if(rear!=NULL) rear->link=p;
else front=p;
rear = p;
}
else cout << "OVERFLOW"<<endl;
}
Ce face aceast funcie?
a. Insereaz un nod la nceputul listei.
b. Insereaz un nod la sfritul listei.
c. terge nodul de la nceputul listei.
d. terge nodul de la sfritul listei.
36. Cel mai ru caz pentru algoritmul de sortare prin inserare este cazul n care
a. vectorul este deja sortat
b. vectorul este cresctor i se dorete sortarea lui n ordine descresctoare
c. vectorul este descresctor i se dorete sortarea lui n ordine cresctoare
d. vectorul conine i elemente negative
37. Cel mai bun caz pentru algoritmul de sortare prin inserare este cazul n care
a. vectorul este deja sortat n ordinea dorit
b. vectorul nu este creat aleator
c. vectorul este descresctor i se dorete sortarea lui n ordine cresctoare
d. vectorul conine i elemente negative
38. Numrul minim de comparaii ntre elementele unui vector cu n elemente care este sortat cu
algoritmul de sortare prin inserare este
a. n
b. n+1
c. n-1
d. log n.
39. Numrul minim de comparaii ntre elementele unui vector cu n elemente care este sortat cu
algoritmul de sortare prin metoda bulelor (Bubblesort) este
a. n-1
b. n+1
c. n

ALGORITMI SI STRUCTURI DE DATE

d. n log n.
40. Numrul maxim de comparaii ntre elementele unui vector cu n elemente care este sortat cu
algoritmul de sortare prin metoda bulelor (Bubblesort) este
a. n!
b. n(n+1)/2
c. n(n-1)/2
d. n log n.
41. Cte comparaii se fac dac se folosete algoritmul de cutare secvenial pentru cutarea
elementului 9 n vectorul (8, 3, 5, 9, 11, 2)?
a. 6
b. 5
c. 3
d. 4
42. Cte comparaii se fac dac se folosete algoritmul de cutare binar pentru cutarea elementului19
n vectorul (1, 2, 3, 5, 8, 9, 19)?
a. 6
b. 5
c. 3
d. O(log 7)
43. Dac se aplicm metoda bulelor (bubblesort) pentru sortarea vectorului x = (9, 15, 23, 25, 4, 8, 5),
cum se va modifica vectorul x dup prima parcurgere a sa?
a. 4, 5, 8, 9, 15, 23, 25
b. 9, 15, 23, 4, 8, 5, 25
c. 9, 4, 15, 5, 23, 8, 25
d. 9, 15, 23, 25, 4, 5, 8
44. Dac se aplicm metoda bulelor (bubblesort) pentru sortarea vectorului x = (9, 15, 23, 25, 4, 8, 5),
cum se va modifica vectorul x dup dou parcurgeri ale sale?
a. 4, 5, 8, 9, 15, 23, 25
b. 9, 15, 4, 8, 5, 23, 25
c. 9, 4, 15, 5, 23, 8, 25
d. 9, 15, 23, 25, 4, 5, 8
45. Dac se aplicm sortarea prin inserare pentru sortarea vectorului x = (9, 15, 23, 25, 4, 8, 5), care este
primul element al vectorului a crui analiz va implica efectuarea de modificri asupra vectorului?
a. 15
b. 23
c. 25
d. 4
46. Care din urmtoarele afirmaii sunt adevrate?
a. La aplicarea algoritmului de sortare rapid elementul din mijloc este mutat pe prima poziie.
b. La aplicarea algoritmului de sortare rapid elementul de pe prima poziie este mutat pe
poziia din mijloc.
c. La aplicarea algoritmului de sortare rapid se alege un element din list, numit pivot i se
rearanjeaz lista, prin interschimbri, inclusiv prin mutarea pivotului pe o alt poziie, astfel nct
toate elementele mai mici dect pivotul s fie poziionate inaintea lui, iar toate elementele mai
mari s fie poziionate dup acesta.
10

ALGORITMI SI STRUCTURI DE DATE

d. La aplicarea algoritmului de sortare rapid nu se alege niciun element pivot.


47. Care din urmtoarele afirmaii sunt adevrate?
a. Arborele din figura Fig. 1 este un arbore binar.
b. Arborele din figura Fig. 1 nu este un arbore binar.
c. Arborele din figura Fig. 1 este un arbore binar de cutare.
d. Arborele din figura Fig. 1 nu este un arbore binar de cutare.
48. Parcurgerea in preordine a arborelui din Fig. 3 va afia

Fig. 3
a. /, +, 50, *, 25, 3, 8, -, 3
b. /, 50, +, *, 3, 25, 8, -, 3
c. 50, +, 25, *, 3, 8, -, 3, /
d. /, +, 50, *, 25, 3, -, 8, 3
49. Parcurgerea in inordine a arborelui din Fig. 3 va afia
a. /, +, 50, *, 25, 3, 8, -, 3
b. 50, +, 25, *, 3, /, 8, -, 3
c. 50, +, 25, *, 3, 8, -, 3, /
d. 50, /, +, *, 25, 3, -, 8, 3
50. Parcurgerea in postordine a arborelui din Fig. 3 va afia
a. 50, 25, 3, *, +, 8, 3, -, /
b. /, 50, +, *, 3, 25, 8, -, 3
c. 50, +, 25, *, 3, 8, -, 3, /
d. /, +, 50, *, 25, 3, -, 8, 3

11

UNIVERSITATEA TITU MAIORESCU


FACULTATEA DE INFORMATIC

MODELE NTREBRI EXAMEN LICEN


Disciplina Tehnici avansate de programare

TEHNICI AVANSATE DE PROGRAMARE

1. Complexitatea minim a unui algoritm care calculeaz numrul tuturor submulimilor unei
mulimi cu elemente este:
a)
b)
c)
d)
2. Complexitatea minim a unui algoritm care afieaz toate submulimile unei mulimi cu
elemente este:
a)
b)
c)
d)
3. Complexitatea minim a unui algoritm care calculeaz numrul modurilor n care pot fi
aezate n cri pe un raft suficient de lung este:
a)
b)
c)
d)
4. Complexitatea minim a unui algoritm care afieaz toate modurile n care pot fi aezate n
cri pe un raft suficient de lung este:
a)
b)
c)
d)
5. Considerm urmtorul program n limbajul C:
#include<stdio.h>
int main()
{
int i,j,n,a[101];
scanf("%d",&n);
for(i=0;i<n;i++) scanf("%d",&a[i]);
i=0;
while((i<n)&&(a[i]<0)) i++;
j=n-1;
while((j>=0)&&(a[j]>=0)) j--;
if(i>=j) printf("1");
else printf("0");
return 0;
}

TEHNICI AVANSATE DE PROGRAMARE

Complexitatea algoritmului implementat n acest program este:


a)
b)
c)
d)
6. Se consider un ir format din maxim
de numere naturale distincte cuprinse ntre i
. Complexitatea minim a unui algoritm care s afieze numerele din ir n ordine
cresctoare este:
a)
b)
c)
d)
7. Considerm urmtorul program n limbajul C:
#include<stdio.h>
int main()
{
int a[100],i,j,n,s;
scanf("%d",&n);
for(i=0;i<n;i++) scanf("%d",&a[i]);
i = s = 0;
while(i<n)
{
j=i+1;
while((j<=n) && (a[i]==a[j])) j++;
s++;
i=j;
}
printf("\n\n%d\n" , s);
return 0;
}

Complexitatea algoritmului implementat n acest program este:


a)
b)
c)
d)
8. Considerm urmtorul program n limbajul C:
#include<stdio.h>
int main()
{
int i,j,n,a[101];

TEHNICI AVANSATE DE PROGRAMARE


scanf("%d",&n);
for(i=0;i<n;i++) scanf("%d",&a[i]);
i=0;
while((i<n)&&(a[i]<0)) i++;
j=n-1;
while((j>=0)&&(a[j]>=0)) j--;
if(i>=j) printf("1");
else printf("0");
return 0;
}

Programul afieaz:
dac i numai dac tabloul a este sortat cresctor i altfel;
dac i numai dac toate valorile din tabloul a sunt pozitive i altfel;
dac i numai dac n tabloul a valorile negative se afl naintea celor pozitive i
altfel;
d) dac i numai dac toate valorile din tabloul a sunt strict negative i altfel.
a)
b)
c)

9. Considerm urmtorul program n limbajul C:


#include<stdio.h>
int main()
{
int a[100],i,j,n,s;
scanf("%d",&n);
for(i=0;i<n;i++) scanf("%d",&a[i]);
i = s = 0;
while(i<n)
{
j=i+1;
while((j<=n) && (a[i]==a[j])) j++;
s++;
i=j;
}
printf("\n\n%d\n" , s);
return 0;
}

Presupunnd c tabloul
a)
b)
c)
d)

este ordonat cresctor, precizai ce afieaz programul dat:

numrul valorilor distincte din tabloul ;


lungimea maxim a unei secvene din tabloul format din valori egale;
numrul secvenelor strict cresctoare din tabloul ;
lungimea maxim a unui subir din tabloul format din valori egale.

10. Se consider urmtoarea funcie recursiv, scris n limbajul C:


int F(int n)
{
if (n==0) return 0;

TEHNICI AVANSATE DE PROGRAMARE


else
if ((n%10)>F(n/10)) return n%10;
else return F(n/10);
}

Ce valoare va returna funcia dup apelul


a)
b)
c)
d)

3
2
8
4

11. Se consider urmtorul program n limbajul C:


#include<stdio.h>
int F(int v[],int n)
{
if(n==0) return v[0];
else
if(v[n]<0) return F(v,n-1);
else return v[n]+F(v,n-1);
}
int main()
{
int i,v[10];
for(i=0;i<10;i++)
if(i%2==0) v[i]=i;
else v[i]=-i;
printf("%d",F(v,9));
return 0;
}

Ce afieaz programul de mai sus?


a)
b)
c)
d)

-20
0
20
-5

12. Se consider urmtoarea funcie recursiv, scris n limbajul C:


int f(int n)
{
if (n==0) return 1;
else return(((n%10)%2 == 0) && (f(n/10)!=0));
}

Ce valoare va returna funcia dup apelul

a) 4
b) 6

TEHNICI AVANSATE DE PROGRAMARE

c) 9
d) 0
13. Se consider urmtoarea funcie recursiv, scris n limbajul C:
int f(int x)
{
if(x==0) return 0;
else return (f(x-1)+3*x-1);
}

Pentru ce valoare a parametrului


a)
b)
c)
d)

funcia

va ntoarce valoarea

5
6
8
10

14. Se consider urmtoarea funcie recursiv, scris n limbajul C:


int p(int n,int x)
{
if(x==n) return 1;
else
if(n%x==0) return 0;
else return p(n,x+1);
}

n urma apelului
a)
b)
c)
d)

numrul natural
numrul natural
numrul natural
numrul natural

funcia va ntoarce valoarea

dac i numai dac:

este par;
este prim;
nu este prim;
este impar.

15. Indicai care dintre urmtoarele metode de sortare se bazeaz pe tehnica de programare
Divide et Impera:
a)
b)
c)
d)

sortarea rapid;
sortarea prin interschimbare;
sortarea prin interclasare;
sortarea prin numrare.

16. Stabilii care dintre urmtoarele metode de sortare nu se bazeaz pe tehnica de programare
Divide et Impera:
a) sortarea rapid;
b) sortarea prin interschimbare;

TEHNICI AVANSATE DE PROGRAMARE

c) sortarea prin interclasare;


d) sortarea prin numrare.
17. Indicai care dintre urmtoarele metode de sortare au complexitatea
a)
b)
c)
d)

sortarea rapid;
sortarea cu ansamble;
sortarea prin interclasare;
sortarea prin numrare.

18. Considerm urmtoarele dou funcii scrise n limbajul C:


int a[100];
int max(int x,int y)
{
if(x>y) return x;
else return y;
}
int F(int p, int u)
{
if(p==u) return a[p];
else
{
int m=(p+u)/2;
return max(F(p,m),F(m+1,u));
}
}

tiind c tabloul a este format din n numere naturale nenule, iar apelul subprogramului va fi
, precizai tehnica de programare utilizat n cadrul funciei :
a)
b)
c)
d)

Greedy;
backtracking;
programarea dinamic;
Divide et Impera.

19. Fie un tablou unidimensional format din


de numere reale ordonate descresctor
i
un numr real. Pentru a verifica dac valoarea
se gsete sau nu n tabloul ,
algoritmul de cutare binar va efectua:
a)
b)
c)
d)

exact
de comparaii;
cel puin
de comparaii;
cel mult
de comparaii;
nu se poate folosi algoritmul de cutare binar n acest caz.

20. Considerm urmtoarea funcie scris n limbajul C:


int S(int a[], int p, int u)
{
if(p>u) return 0;

TEHNICI AVANSATE DE PROGRAMARE


else
{
int m=(p+u)/2;
return a[m] + S(a,p,m-1) + S(a,m+1,u);
}
}

tiind c tabloul a este format din n numere ntregi, iar apelul subprogramului va fi
, precizai ce va calcula funcia :
a)
b)
c)
d)

valoarea elementului din mijlocul tabloului ;


dublul sumei valorilor din tabloul ;
numrul valorilor pozitive din tabloul ;
suma valorilor din tabloul .

21. Dac ultima soluie afiat de algoritmul backtracking pentru generarea tuturor permutrilor
mulimii
este
, atunci urmtoarea soluie care va fi afiat este:
a)
b)
c)
d)
22. Dac ultima soluie afiat de algoritmul backtracking pentru generarea tuturor permutrilor
mulimii {1,2,,7} este
, atunci urmtoarea soluie care va fi afiat este:
a)
b)
c)
d)
23. Dac ultima soluie afiat de algoritmul backtracking pentru generarea tuturor permutrilor
mulimii {1,2,,7} este
, atunci urmtoarea soluie care va fi afiat este:
a)
b)
c)
d)
24. Folosind tehnica de programare backtracking pentru a genera toate permutrile mulimii
, o soluie se memoreaz sub forma unui tablou unidimensional
.
Dac au fost deja generate valori pentru componentele
, iar pentru
componenta
au fost deja testate toate valorile posibile i nu a fost gsit
niciuna convenabil, atunci:
a) se ncearc alegerea unei noi valori pentru
b) se ncearc alegerea unei noi valori pentru

;
, oricare ar fi valoarea lui ;

TEHNICI AVANSATE DE PROGRAMARE

c) se ncheie algoritmul;
d) se ncearc alegerea unei valori pentru componenta

25. Considerm ecuaia


, unde
sunt numere
naturale nenule. Pentru a determina toate soluiile ecuaiei de forma
, cu
numere naturale, se poate folosi direct algoritmul backtracking pentru:
a)
b)
c)
d)

generarea permutrilor;
descompunerea unui numr natural ca sum de numere naturale nenule;
plata unei sume folosind tipuri de monede;
generarea combinrilor.

26. Un algoritm optim care s afieze toate subirurile cresctoare de lungime maxim ale unui
ir format din numere folosete:
a) doar metoda programrii dinamice;
b) doar metoda backtracking (se genereaz toate subirurile irului respectiv, iar pentru
fiecare subir se verific dac este cresctor i, respectiv, maximal);
c) mai nti metoda programrii dinamice pentru a determina lungimea maxim
a
unui subir cresctor al irului dat i apoi metoda backtracking pentru a genera toate
subirurile cresctoare de lungime
ale irului considerat;
d) doar metoda Greedy.
27. Considerm c n Facultatea de Informatic sunt nscrii studeni n anul III. Pentru a afia
toate grupele ce pot fi formate din cte
studeni (
) putem folosi algoritmul
backtracking pentru:
a)
b)
c)
d)

generarea aranjamentelor formate din p elemente ale unei mulimi cu n elemente;


generarea permutrilor unei mulimi cu p elemente;
generarea combinrilor formate din p elemente ale unei mulimi cu n elemente;
generarea aranjamentelor formate din n elemente ale unei mulimi cu p elemente.

28. Utiliznd metoda backtracking, se genereaz toate descompunerile distincte ale numrului
natural
ca sum a cel puin dou numere naturale nenule. Care este ultima
descompunere generat?
a)
b)
c)
d)
29. Utiliznd metoda backtracking, se genereaz toate descompunerile distincte ale numrului
natural
ca sum a cel puin dou numere naturale nenule. Care este ultima
descompunere generat?
a)

TEHNICI AVANSATE DE PROGRAMARE

b)
c)
d)
30. Fie o sum de bani i
valorile a n tipuri de monede. Presupunnd c din
fiecare tip avem la dispoziie un numr nelimitat de monede, pentru afiarea tuturor
modalitilor n care poate fi pltit suma folosind monede disponibile trebuie s utilizm
un algoritm bazat pe metoda:
a)
b)
c)
d)

Greedy;
backtracking;
programrii dinamice;
Divide et Impera.

31. Considerm un rucsac cu ajutorul cruia putem transporta 66 kg i 7 obiecte avnd greutile
23, 10, 10, 25, 38, 7 i 5 kg, iar ctigurile obinute prin transportul integral al fiecrui obiect
la destinaie sunt 69, 10, 30, 100, 19, 14 i 50 RON. tiind c din orice obiect putem ncrca
i numai o parte a sa, ctigul maxim pe care l putem obine este:
a)
b)
c)
d)

250.5 RON
217 RON
265 RON
255 RON

32. Considerm un rucsac cu ajutorul cruia putem transporta 67 kg i 7 obiecte avnd greutile
10, 5, 20, 10, 20, 25 i 21 kg, iar ctigurile obinute prin transportul integral al fiecrui
obiect la destinaie sunt 30, 40, 40, 10, 4, 50 i 30 RON. tiind c din oricare obiect putem
ncrca i numai o parte a sa, ctigul maxim pe care l putem obine este:
a)
b)
c)
d)

114 RON
170 RON
280 RON
163.7 RON

33. Considerm un rucsac cu ajutorul cruia putem transporta 53 kg i 7 obiecte avnd greutile
10, 5, 18, 10, 8, 20 i 40 kg, iar ctigurile obinute prin transportul integral al fiecrui obiect
la destinaie sunt 30, 40, 36, 10, 16, 10 i 30 RON. tiind c din oricare obiect putem ncrca
i numai o parte a sa, ctigul maxim pe care l putem obine este:
a)
b)
c)
d)

133 RON
121 RON
133.5 RON
136.5 RON

34. Stabilii care dintre urmtoarele propoziii referitoare la tehnica de programare Greedy sunt
adevrate:

TEHNICI AVANSATE DE PROGRAMARE

a) conduce ntotdeauna la o soluie optim;


b) construiete o soluie element cu element i n cazul n care valoarea elementului curent
nu verific anumite condiii se renun la acesta i se revine la elementul anterior;
c) gsete ntotdeauna o singur soluie a unei probleme;
d) conduce la o soluie optim doar n cazul n care s-a demonstrat matematic corectitudinea
criteriului de selecie pe baza cruia un element din mulimea iniial este adugat n
mulimea ce reprezint soluia problemei.
35. La un ghieu stau la coad persoane, numerotate cu
. Cunoscnd timpii de servire
ai celor
persoane i tiind c pentru a servi o persoan
trebuie servite
persoanele
aflate naintea sa, trebuie s determinm un mod de rearanjare al
persoanelor la coad, astfel nct timpul de ateptare al fiecrei persoane s fie minim.
Stabilii care dintre urmtoarele variante de rezolvare a acestei probleme este corect i are o
complexitate minim:
a) se genereaz toate modurile n care pot fi rearanjate cele persoane la coad i pentru
fiecare mod de rearanjare se calculeaz ntr-un tablou timpii de servire, iar soluia este
dat de tabloul minim n sens lexicografic;
b) se rearanjeaz persoanele n ordinea descresctoare a timpilor de servire;
c) se genereaz toate modurile n care pot fi rearanjate cele persoane la coad i pentru
fiecare mod de rearanjare se calculeaz timpul total de servire al celor persoane, iar
soluia este tabloul pentru care valoarea lui este minim;
d) se rearanjeaz persoanele n ordinea cresctoare a timpilor de servire.
36. La un ghieu stau la coad

. Cunoscnd timpii lor de servire


i tiind c pentru a servi o persoan trebuie
servite, mai nti, toate persoanele aflate naintea sa, precizai care dintre urmtoarele
modaliti de rearanjare a persoanelor la coad minimizeaz timpul mediu de ateptare:
persoane

a)
b)
c)
d)
37. La un ghieu stau la coad

. Cunoscnd timpii lor de servire


i tiind c pentru a servi o persoan
trebuie servite, mai nti, toate persoanele aflate naintea sa, precizai care dintre urmtoarele
modaliti de rearanjare a persoanelor la coad minimizeaz timpul mediu de ateptare:
persoane

a)
b)
c)
d)

10

TEHNICI AVANSATE DE PROGRAMARE

38. n Aula Magna a Universitii Titu Maiorescu din Bucureti se va organiza un festival de
teatru care va dura o singur zi. Fiecare regizor a transmis organizatorului festivalului
intervalul de timp n care se poate desfura spectacolul su. Organizatorul festivalului
dorete s programeze un numr maxim de spectacole. tiind c spectacolele nu se pot
suprapune i c ntre oricare dou spectacole consecutive nu exist nicio pauz, stabilii care
dintre strategiile de planificare de tip Greedy de mai jos pot fi folosite de ctre organizatorul
festivalului pentru a planifica un numr maxim de spectacole n Aula Magna n ziua
respectiv:
a) se sorteaz spectacolele n ordinea cresctoare a orelor la care se termin, se programeaz
primul spectacol i apoi se consider, pe rnd, restul spectacolelor, un spectacol fiind
programat doar dac ncepe dup ce se termin spectacolul programat anterior;
b) se sorteaz spectacolele n ordinea cresctoare a duratei lor, se programeaz primul
spectacol i apoi se consider, pe rnd, restul spectacolelor, un spectacol fiind programat
doar dac ncepe dup ce se termin spectacolul programat anterior;
c) se sorteaz spectacolele n ordinea cresctoare a orelor la care ncep, se programeaz
primul spectacol i apoi se consider, pe rnd, restul spectacolelor, un spectacol fiind
programat doar dac ncepe dup ce se termin spectacolul programat anterior;
d) se sorteaz spectacolele n ordinea descresctoare a orelor la care se termin, se
programeaz primul spectacol i apoi se consider, pe rnd, restul spectacolelor, un
spectacol fiind programat doar dac ncepe dup ce se termin spectacolul programat
anterior.
39. n Aula Magna a Universitii Titu Maiorescu din Bucureti se va organiza un festival de
teatru care va dura o singur zi. Fiecare regizor a transmis organizatorului festivalului
intervalul de timp
n care se poate desfura spectacolul su. tiind c
spectacolele nu se pot suprapune i ntre oricare dou spectacole consecutive nu exist nicio
pauz, organizatorul festivalului s-a gndit s foloseasc o strategie de planificare de tip
Greedy pentru a planifica un numr maxim de spectacole n cadrul festivalului. Considernd
c
regizori au trimis intervalele de desfurare ale spectacolelor lor
, precizai care dintre variantele
de mai jos reprezint o planificare corect, cu un numr maxim de spectacole:
a)
b)
c)
d)

S1, S2, S4, S5, S6


S2, S4, S6, S7
S2, S4, S6, S3
S1, S5

40. n Aula Magna a Universitii Titu Maiorescu din Bucureti se va organiza un festival de
teatru care va dura o singur zi. Fiecare regizor a transmis organizatorului festivalului
intervalul de timp
n care se poate desfura spectacolul su. tiind c
spectacolele nu se pot suprapune i ntre oricare dou spectacole consecutive nu exist nicio
pauz, organizatorul festivalului s-a gndit s foloseasc o strategie de planificare de tip
Greedy pentru a planifica un numr maxim de spectacole n cadrul festivalului. Considernd
c
regizori au trimis intervalele de desfurare ale spectacolelor lor

11

TEHNICI AVANSATE DE PROGRAMARE

, precizai care dintre variantele


de mai jos reprezint o planificare corect, cu un numr maxim de spectacole:
a) S1, S5, S6, S3
b) S2, S4, S5, S6, S7
c) S1, S4, S5, S6, S3
d) S1, S4, S5, S6, S7
41. Se consider un triunghi de numere ntregi format din linii, astfel: prima linie conine un
numr, a doua linie conine dou numere,. . ., ultima linie conine numere. n acest triunghi
se pot forma sume de numere ntregi n felul urmtor:
se selecteaz numrul aflat pe prima linie;
la fiecare pas se selecteaz fie numrul aflat pe urmtoarea linie sub ultimul numr
selectat, fie numrul aflat pe urmtoarea linie i o coloan la dreapta fa de ultimul
numr selectat, pn cnd se ajunge pe ultima linie a triunghiului de numere.
Un algoritm cu complexitate minim care determin cea mai mare sum ce se poate obine
respectnd regulile de mai sus folosete metoda:
a)
b)
c)
d)

Greedy;
backtracking;
programrii dinamice;
Divide et Impera.

42. Se consider urmtorul triunghi de numere ntregi format din

linii:

n acest triunghi se pot forma sume de numere ntregi n felul urmtor:


se selecteaz numrul aflat pe prima linie;
la fiecare pas se selecteaz fie numrul aflat pe urmtoarea linie sub ultimul numr
selectat, fie numrul aflat pe urmtoarea linie i o coloan la dreapta fa de ultimul
numr selectat, pn cnd se ajunge pe ultima linie a triunghiului de numere.
Care este suma maxim ce poate fi obinut n triunghiul dat, respectnd condiiile precizate
mai sus?
a)
b)
c)
d)

190
73
92
302

43. Se consider urmtorul triunghi de numere ntregi format din

12

linii:

TEHNICI AVANSATE DE PROGRAMARE

n acest triunghi se pot forma sume de numere ntregi n felul urmtor:


se selecteaz numrul aflat pe prima linie;
la fiecare pas se selecteaz fie numrul aflat pe urmtoarea linie sub ultimul numr
selectat, fie numrul aflat pe urmtoarea linie i o coloan la dreapta fa de ultimul
numr selectat, pn cnd se ajunge pe ultima linie a triunghiului de numere.
Care este suma maxim ce poate fi obinut n triunghiul dat, respectnd condiiile precizate
mai sus?
a)
b)
c)
d)

518
402
428
608

44. Fie o sum de bani i


valorile a n tipuri de monede (se presupune c din
fiecare tip de moned avem la dispoziie un numr nelimitat de monede). Un algoritm optim
care s determine numrul minim de monede cu care poate fi pltit suma , folosind
monede de tipurile date, folosete metoda:
a)
b)
c)
d)

Greedy;
backtracking;
programrii dinamice;
Divide et Impera.

45. Precizai cte subiruri strict cresctoare de lungime maxim conine tabloul
:
a)
b)
c)
d)

1
2
3
4

46. Precizai cte subiruri strict cresctoare de lungime maxim conine tabloul
:
a)
b)
c)
d)

1
2
3
4

13

TEHNICI AVANSATE DE PROGRAMARE

47. Indicai

lungimea

maxim

unui

subir

strict

cresctor

din

tabloul

unui

subir

strict

cresctor

din

tabloul

:
a)
b)
c)
d)

2
4
3
5

48. Indicai

a)
b)
c)
d)

lungimea

maxim

a
:

2
4
3
5

49. Avnd la dispoziie un numr nelimitat de monede cu valorile RON, RON, RON i
RON, precizai numrul minim de monede cu care poate fi pltit suma de 17 RON:
a)
b)
c)
d)

4
5
3
6

50. Avnd la dispoziie un numr nelimitat de monede cu valorile RON, RON, RON i
RON, precizai numrul minim de monede cu care poate fi pltit suma de
RON:
a)
b)
c)
d)

6
3
4
5

14

UNIVERSITATEA TITU MAIORESCU


FACULTATEA DE INFORMATIC

MODELE NTREBRI EXAMEN LICEN

MODULUL 2
Baze de date

UNIVERSITATEA TITU MAIORESCU


FACULTATEA DE INFORMATIC

MODELE NTREBRI EXAMEN LICEN


Disciplina Baze de date

&

Disciplina Sisteme de gestiune a bazelor de date

Subiecte BD
1. O baz de date reprezint:
A. Un ansamblu de posturi de lucru, fiiere i uniti de prelucrare
B. Un ansamblu de articole secveniale accesate direct
C. Un ansamblu de nregistrri accesate n paralel
D. Un ansamblu integrat de nregistrri sau de fiiere interconectate n mod logic
E. Suportul pentru nregistrarea datelor
2. Depozitul de date reprezint:
A. O colecie de informaii privind un sector dintr-o ntreprindere sau o firm
B. O baz de date mpreun cu SGBD-ul asociat
C. O colecie de date organizate secvenial
D. O baz de date special conceput prin agregarea tuturor datelor dintr-o organizaie sau
ntreprindere, n vederea sprijinirii procesului de luare a deciziilor
E. O bibliotec de informaii privind un anumit sector economic
3. Nivelul fizic de abstractizare a datelor permite:
A. Utilizarea concret a posibilitilor SGBD-ului
B. Proiectarea dicionarului de date
C. Asigurarea securitii datelor
D. Automatizarea operaiilor de ntreinere i dezvoltare a programelor
E. Descrierea structurii sub care datele se regsesc pe suportul de memorare
4. Cnd se recomand s se introduc datele ntr-o baza de date?
A. Dup crearea fiecrei tabele n parte
B. Dup crearea tuturor tabelelor i definirea restriciilor
C. Dup crearea tuturor tabelelor
D. Oricnd
E. Datele sunt introduse de ctre administrator. Utilizatorii doar interogeaz baza de date
5. Care dintre urmtoarele enunuri caracterizeaz modelul relaional?
A. Este singurul model n care structura datelor este definit prin normalizare
B. Asigur independena dintre date i prelucrari
C. Este fundamentat pe teoria matematic a relaiilor
D. Respect restriciile refereniale
E. Trebuie s existe cel puin o cheie secundar
6. Intersecia a dou relaii:
A. Are ca rezultat o relaie cu un numr dublu de linii
B. Are ca rezultat o relaie cu un numr de dou ori mai mic de linii
C. Este o operaie unar
D. Cere ca acestea sa aib aceeai schem
E. Va avea ca rezultat o relaie cu gradul egal cu suma gradelor relaiilor iniiale

7. Se d tabelul:
ANGAJATI (CodAngaj, Nume, DataAngajare, Compartiment, Profesia, Salariu)
Care dintre urmtoarele instruciuni (Transact) SQL permite afiarea numrului de
salariai pentru fiecare compartiment care incepe cu litera "J"?
A. SELECT COUNT(CodAngajat) AS Numar, Compartiment FROM ANGAJATI
WHERE Compartiment LIKE 'J%' GROUP BY Compartiment
B. SELECT CodAngajat, Nume, Compartiment FROM ANGAJATI WHERE Nume
LIKE 'J%'
C. SELECT COUNT(CodAngajat) AS Numar, Nume, Compartiment
FROM ANGAJATI WHERE Compartiment LIKE 'J%' GROUP BY Compartiment
D. SELECT CodAngajat, Nume, Compartiment FROM ANGAJATI
WHERE Compartiment LIKE 'J%'
E. Niciuna dintre cele de mai sus
8. Ce se va obine prin urmtoarea interogare (Transact) SQL:
SELECT Nume FROM STUDENTI INNER JOIN LOCALIT
ON STUDENTI.CodLoc=LOCALIT.CodLoc
WHERE CodLoc IN
(SELECT CodLoc FROM STUDENTI WHERE Nume = 'Ionescu M Petre') ?
A. Numele studenilor asemntoare cu Ionescu M Petre
B. Codul localitii din care este studentul Ionescu M Petre
C. Numrul studenilor care sunt din aceeai localitate cu Ionescu M Petre
D. Fraza SELECT este scris greit
E. Numele studenilor care sunt din aceeai localitate cu Ionescu M Petre
9. Se d urmtoarea instruciune (Transact) SQL:
SELECT NrFactura
FROM CLIENTI INNER JOIN FACTURIEMISE ON
CLIENTI.CodClient=FACTURIEMISE.Codclient
WHERE ValTot IN (100, 200)
n urma execuiei acestei interogri se obin:
A. Numai facturile emise cu valoare intre 100 i 200, exclusiv capetele
B. Numai facturile emise cu valoare ntre 100 i 200, inclusiv aceste valori
C. Numai facturile emise cu valoarea de 100 sau 200
D. Numai facturile emise cu valoare fie mai mic de 100, fie mai mare de 200
E. Nimic, interogarea este greit

10. Se d tabelul:
CHITANTE (NrChitanta, Suma, Data, NrGhiseu )
Care dintre urmtoarele instruciuni (Transact) SQL are ca efect afiarea zilelor in care
s-au emis cel puin 3 chitane?
A. SELECT Nrchitanta, Suma, Data FROM CHITANTE WHERE
COUNT(NrChitanta)>=3
B. SELECT Nrchitanta, Suma, Data FROM CHITANTE HAVING
COUNT(NrChitanta)>=3
C. SELECT COUNT(Data), COUNT(NrChitanta) FROM CHITANTE WHERE Data IS
NULL
D. SELECT Data FROM CHITANTE WHERE COUNT(NrChitanta) >=3
E. SELECT CHITANTE.Data FROM CHITANTE GROUP BY CHITANTE.Data
HAVING COUNT(NrChitanta) >= 3
11 Se d tabelul:
ANGAJATI (CodAngaj, Nume, DataAngajare, Compartiment, Profesia, Salariu)
Care dintre urmtoarele instruciuni (Transact) SQL permite majorarea salariului cu 3%
pentru salariaii angajai n anul 2010?
A. UPDATE Angajati SET Salariu = Salariu + 3% WHERE DataAngajare IN 2010
B. UPDATE Salariu FROM Angajati SET Salariu=Salariu + 3%* Salariu
WHERE DataAngajare IN ('1/1/2010' , '31/12/2010')
C. UPDATE Angajati SET Salariu = Salariu*1.03 WHERE YEAR(DataAngajare)= 2010
D. UPDATE Salariu FROM Angajati SET Salariu = Salariu * 1.03
WHERE DataAngajare BETWEEN '1/1/2010' AND '31/12/2010'
E. Niciuna
12. Se d entitatea ANGAJATI, cu urmtoarele atribute:
ANGAJATI (CodAngaj, Nume, DataAngajare, Compartiment, Profesia, Salariu)
Care dintre urmtoarele instruciuni (Transact) SQL permite tergerea salariailor angajati
nainte de nceputul anului 2010, cu profesia "informatician"?
A. DELETE FROM Angajati WHERE DataAngajare < '1/12/2009' AND
Profesia LIKE '%informatician%'
B. DELETE * FROM Angajati WHERE Profesia LIKE 'informatician' HAVING
YEAR(DataAngajare) < 2010
C. UPDATE Angajati SET CodAngaj = Null WHERE DataAngajare <'1/1/2010' AND
Profesia LIKE '%informatician%'
D. Niciuna
E. DELETE FROM Angajati WHERE DataAngajare < '1/1/2010' AND Profesia
LIKE '%informatician%'

13. Care dintre urmatoarele comenzi SQL sunt destinate manipulrii datelor?
A. INSERT
B. CREATE TABLE
C. UPDATE
D. ROLLBACK
E. DELETE
F. COMMIT
14. Pentru o baza de date relaional algebra relaional este:
A. Completa (permite s extrag orice informaii din baz)
B. Procedural (Arat i modul cum se obin informaiile din baza de date)
C. Complex (permite s extrag informaii obiectuale)
D. Limbaj formal
E. Limbaj de definire a rapoartelor
F. Limbaj de interogare
15. Cnd creai o baz de date, care sunt fiierele care trebuie create obligatoriu?
A. Un fiier de date primar
B. Un fiier de date primar i un fiier de log
C. Un fiier de date primar, un fiier de date secundar i un fiier de log
D. Un fiier de log primar
16. Folosind tabela cadru_did(cod, nume, graddid, data_ang, sal_neg, sal_merit), creat i
populat cu date, se consider urmtoarele exemple:
1. SELECT graddid, max(sal_neg)
FROM cadru_did
WHERE max(sal_neg) > 1600
GROUP BY graddid
2. SELECT graddid, max(sal_neg)
FROM cadru_did
GROUP BY graddid
HAVING max(sal_neg) > 1600
S se aleag rspunsul corect:
A. Exemplul (1) este corect
B. Exemplul (2) este corect
C. Exemplul (2) nu este corect
D. Exemplele (1) i (2) sunt corecte
E. Exemplul (1) nu este corect
F. Nici un exemplu nu este corect

17. Cu ajutorul comenzii SELECT :


A. Se poate realiza jonciunea extern(outer-join) ntre tabele
B. Se poate realiza jonciunea de egalitate(equi-join) ntre tabele
C. Nu se pot realiza jonciuni ntre tabele
D. Se poate realiza jonciunea de neegalitate(non-equi-join) ntre tabele
E. Se poate modifica structura unei tabele
F. Se poate lega o tabel cu ea nsi
18. Dndu-se tabelele Produse(codp, denp, pret ) i Comenzi(nr_cda, codp, cant, data),
urmtoarele interogri:
1. SELECT c.nr_cda, c.codp, c.cant FROM comenzi c
WHERE 'penar'=(SELECT den_prod FROM produse p WHERE p.codp=c.codp)
2. SELECT c.nr_cda, c.codp, c.cant
FROM comenzi c JOIN produse p
ON p.codp=c.codp WHERE p.den_prod='penar'
A. Sunt identice ca efect
B. Sunt diferite ca efect
C. Ar fi identice ca efect dac n cererea 2 s-ar folosi produsul cartezian
D. Ar fi identice ca efect dac n cererea 1 s-ar folosi o subinterogare necorelata
19. Folosind relaia cadru_did(cod, nume, graddid, data_ang, sal_neg, sal_merit), s se
specifice care dintre urmtoarele exemple sunt corecte:
A. SELECT avg(sal_neg) FROM cadru_did
B. SELECT graddid, sum(sal_neg) FROM cadru_did
C. SELECT graddid, avg(sal_neg) FROM cadru_did GROUP BY graddid
D. SELECT graddid, sum(sal_neg), count(cod) FROM cadru_did GROUP BY data_ang
E. SELECT graddid, avg(sal_neg) FROM cadru_did WHERE avg(sal_neg) > 1800
20. Interogarea:
SELECT min(nume), sum(nume), count(*)
FROM tabela
WHERE salariu = max(salariu)
A. Este greit deoarece funcia min() nu se folosete cu iruri de caractere
B. Este greit deoarece funcia sum() nu se folosete cu iruri de caractere
C. Este corect
D. Este greit deoarece funcia max() nu se folosete n clauza WHERE
E. Este greit deoarece nu se folosete * n funcia count()
21. Se poate folosi acelai nume pentru mai multe tabele dintr-o baz de date Microsoft
SQL Server?
A. Da, dar s nu aparin aceleeai baze de date
B. Da, dac nu fac parte din aceeai schem
C. Nu
D. Da, dac aparin aceleeai scheme
E. Da, dar s nu aparin aceleeai instane

22. Interogrile din SQL sunt la fel de expresive cu:


A. Algebra relationala
B. Calculul relational al domeniilor
C. Calculul procedural
D. Calculul relational al tuplurilor
E. Calculul bazat pe tablouri
23. Avem apriori o multitudine de restricii, dat de o mulime de dependene funcionale
F. Aceasta este folosit la:
A. Normalizarea bazei de date
B. Crearea bazei de date
C. Crearea procedurilor de interogare
D. La validarea strii bazei de date
E. Construcia algebrei relaionale
24. Fie tabelul METEO(localit varchar(30), tempmin numeric(3), tempmax numeric(4)).
S se stabileasc n care dintre exemplele urmtoare se folosesc incorect operatorii
aritmetici:
A. SELECT localit, -tempmin minim, +tempmax maxim FROM meteo
B. SELECT localit, (tempmax-tempmin) diferenta FROM meteo
C. SELECT -localit, -tempmin FROM meteo
D. SELECT localit, (tempmax-tempmin)-1 FROM meteo
E. SELECT localit*2, tempmax*2 FROM meteo
25. Operatorul NOT se poate folosi cu:
A. Operatorul LIKE
B. Operatorul IS NULL
C. Operatorul >
D. Operatorul IN (lista)
E. Operatorul <>
26. Fragmentarea vertical se obine dintr-o relaie prin:
A. Selecii i replicri
B. Selecii i proiecii
C. Proiecie
D. Unire (Join)
E. Introducerea de chei externe

27. Se dau tabelele:


PERSONAL(Marca, Numepren, Compart, Datasv, Salorar, Salorarco, Compart)
PONTAJE(Marca, Data, Orelucrate, Oreco, Orenoapte, Oreabsnem)
Ce afieaz urmtoarea interogare?
SELECT ZILE1.Data AS Ziua
FROM (SELECT Data FROM PONTAJE po INNER JOIN PERSONAL pe ON
po.Marca=pe.Marca WHERE Numepren = 'Popescu') ZILE1
INNER JOIN (SELECT Data FROM PONTAJE po INNER JOIN PERSONAL pe ON
po.Marca =pe.Marca WHERE Numepren='Georgescu') ZILE2
ON ZILE1.Data=ZILE2.Data
A. Angajatul care a lucrat mai multe zile
B. Numrul total de zile n care au lucrat cei doi angajai
C. Numrul de zile lucrate de fiecare angajat
D. Zilele n care au lucrat simultan cei doi angajai
E. Numrul de zile n care nu au lucrat cei doi angajai
28. Se dau tabelele:
ANGAJATI(ID_Angajat, Nume, ID_Compart, Salariu)
COMPARTIMENT (ID_Compart, Nume_Compart)
i urmtoarea interogare:
SELECT a.ID_Angajat, a.Nume, c.ID_Compart, c. Nume_Compart
FROM ANGAJATI a, COMPARTIMENT c
WHERE a. ID_Compart = c. ID_Compart
Ce operaii implementeaz aceast interogare?
A. Diferena, proiecia i join
B. Selecia, intersecia i join
C. Intersecia, proiecia i join
D. Selecia, proiecia i join
E. Diferena, intersecia i join
29. Firma la care lucrai folosete un tabel Proiecte(Cod_proiect, tester,), unde
valoarea coloanei tester este un nr. ntreg care corespunde codului angajatului din tabela
Angajati (Id_ang, nume,) care a rspuns de testarea proiectului(responsabil unic).
Coloana tester are valoarea NULL dac n-a fost desemnat nici un responsabil cu testarea
proiectului respectiv. Trebuie s afiai numele angajailor din tabela Angajati care nu au
condus nici un test pe un proiect. Ce instruciune SELECT ar trebui folosit?
A. SELECT nume FROM Angajati WHERE Id_ang < >
(SELECT tester FROM Proiecte WHERE tester = Id_ang )
B. SELECT nume FROM Angajati WHERE NOT EXISTS
(SELECT tester FROM Proiecte WHERE tester = Id_ang )
C. SELECT nume FROM Angajati WHERE Id_ang NOT IN
(SELECT tester FROM Proiecte)
D. SELECT nume FROM Angajati LEFT JOIN Proiecte
ON Id_ang = tester

30. O baz de date distribuit este:


A. O colecie de date mprit n mai multe fragmente
B. O colecie de date mprit n mai multe replici
C. O colecie de date i de scheme partajate i interconectate logic, distribuite
fizic pe calculatoarele unei reele
D. O colecie de fragmente mixte
E. Niciuna
31. Baza de date curent include o tabel numit Employees cu urmtoarele coloane:
- firstName, care pstreaz prenumele unui angajat;
- lastName, care pstreaz numele unui angajat;
- depID, care psreaz ID ul departamentului n care lucreaz angajaii.
Ai cerut s se afieze o list cu angajaii sortat descresctor dup ID departament, apoi
dup numele angajailor (prenume urmat de nume) n ordinea alfabetic.
Ce instruciune SELECT trebuie s folosii?
A. SELECT depID, (firstName + ' ' + lastName) AS 'Full Name'
FROM Employees
ORDER BY depID, lastName ASC
B. SELECT (firstName + ' ' + lastName) AS 'Full Name'
FROM Employees
ORDER BY depID DESC, 'Full Name'
C. SELECT lastName, (firstName + ' ' + lastName) AS 'Full Name'
FROM Employees
ORDER BY lastName, depID
D. SELECT (firstName + ' ' + lastName) AS 'Full Name'
FROM Employees
ORDER BY depID DESC, lastName
E. SELECT (firstName + ' ' + lastName) AS 'Full Name'
FROM Employees
ORDER BY depID DESC, lastName DESC
32. Datorit mutrii activitii comerciale din Germania n SUA, trebuie s schimbm
collation data pentru baza de date Adventure Works. Dup modificarea collation pentru
aceast baz de date, ce ar mai trebui s facei?
A. Nimic.
B. tergei indecii i constrngerile tabelelor existente pentru care collation cere s fie
modificat. Modificai collation pentru coloanele acelor tabele.Recreai indecii i
constrngerile.
C. tergei indecii i constrngerile pentru toate tabele existente din baza de date.
Modificai collation pentru coloanele acelor tabele.Recreai indecii i constrngerile.
D. Modificai database collation i selectai opiunea auto-indexing.
E. Recreai toi indecii n aceast baz de date.

33. Firma la care lucrai folosete o tabel numit Products pentru a stoca informaii
despre produsele pe care le vinde. Tabela include coloanele:
- price, care conine preul produsului vndut;
- volume, care pstreaz volumul vnzrilor lunare medii pentru produsul respectiv;
- stock, care stocheaz numrul de buci aflate n stoc pentru un produs.
La nceputul fiecrei luni, firma dvs. reface stocul unui produs dac una dintre condiiile
urmtoare este adevrat:
- Produsul cost 100$ sau mai mult i numrul de buci din stoc este mai mic
dect volumul lunar mediu sau mai mic de 500.
- Produsul cost mai puin de 100 $ i sunt mai puin de 1500 de buci n stoc.
Dvs. trebuie s obinei informaii despre toate produsele care trebuie s fie realimentate.
Ce instruciune ar trebui folosit?
A. SELECT * FROM Products
WHERE
price >= 100.00
AND stock < 500
OR stock < volume
OR (price < 100.00
AND stock < 1500)
B. SELECT * FROM Products
WHERE
price >= 100.00
AND (stock < 500
OR stock < volume)
OR price < 100
AND stock < 1500
C. SELECT * FROM Products
WHERE
(price >= 100.00
AND stock < 500
OR stock < volume)
OR (price < 100.00
AND stock < 1500)
D. SELECT * FROM Products
WHERE
price >= 100.00
AND stock < 500
OR stock < volume
OR price < 100.00
AND stock < 1500
E. SELECT * FROM Products
WHERE
price >= 100.00
AND stock < 500
OR stock < volume
AND price < 100.00

34. Pentru a afia numele angajailor care au un salariu mai mare dect al cel puin unui
manager existent, ar trebui s folosii instruciunea:
SELECT name FROM Employees
WHERE salary > ANY (SELECT salary FROM Management).
Trebuie s creai o instruciune alternativ care s dea acelai rezultat i care s se
execute cel puin la fel de rapid.
Ce instruciune ar trebui s folosii ?
A. SELECT name FROM Employees
WHERE NOT salary < ALL (SELECT salary FROM Management)
B. SELECT name FROM Employees
WHERE NOT EXISTS
(SELECT * FROM Management WHERE salary >= Employees.salary)
C. SELECT name FROM Employees
WHERE EXISTS
(SELECT * FROM Management WHERE salary < Employees.salary)
D. SELECT name FROM Employees
JOIN Management ON Employees.salary > Management.salary
E. Nici una.
35. Avei o tabel numit Employees, care include urmtoarele coloane:
- empName, care conine numele angajatului;
- department, care conine numele departmentului n care lucreaz angajatul.
Pentru fiecare angajat care lucreaz ntr-un departament cu mai mult de 10 angajai,
trebuie s afiai numele angajatului, numele departamentului i nr. de angajai din acel
departament.Trebuie s scriei o interogare care s extrag aceast informaie n cel mai
scurt timp. Ce instruciune ar trebui folosit ?
A. SELECT empName, department,
(SELECT COUNT(*) FROM Employees WHERE department = e.department)
FROM Employees AS e
B. SELECT department, COUNT(*) AS employees
INTO DepCounts
FROM Employees
GROUP BY department
SELECT e.empName, e.department, d.employees
FROM Employees AS e
JOIN DepCounts AS d ON e.department = d.department
WHERE d.employees > 10
C. SELECT empName, department,
(SELECT COUNT(*) FROM Employees WHERE department = e.department)
FROM Employees AS e WHERE 10 < (SELECT COUNT(*) FROM Employees
WHERE department = e.department);
D. SELECT empName, department,
(SELECT COUNT(*) FROM Employees WHERE (department = e.department) And
count(*) >10) FROM Employees AS e
E. Nici una.

36. Ai scris o instruciune SELECT complex care afieaz date din mai multe tabele.
Trebuie s creai o tabel nou i s o populai cu aceste date folosind cel mai mic numr
de instruciuni posibil.Ce ar trebui s facei ?
A. Creai tabela i apoi folosii instruciunea INSERT INTO ... SELECT FROM pentru
a o popula.
B. Folosii o instruciune SELECT INTO pentru a crea i popula tabela.
C. Folosii o instruciune SELECT INTO pentru a crea i popula o tabel temporar,
apoi creai tabela permanent din tabela temporar.
D. Creai tabela, apoi folosii o instruciune SELECT INTO pentru a o popula.
E. Folosii dou proceduri stocate: una pentru crearea tabelei i alta pentru populare.
37. Firma la care lucrai vinde echipamente de la fabricani multipli care folosesc IDuri de produse similare i este nevoie s se urmreasc ID produs, ID fabricant, nume
produs, pre produs pentru fiecare pies de echipament din tabela Products. Trebuie s v
asigurai c nu sunt permise intrri multiple pentru acelai produs. Ce instruciune ar
trebui folosit ?
A. CREATE TABLE Products (
productID int PRIMARY KEY,
manufacturerID int,
productName varchar(50),
price decimal(7,2))
B. CREATE TABLE Products (
productID int UNIQUE,
manufacturerID int PRIMARY KEY,
productName varchar(50),
price decimal(7,2))
C. CREATE TABLE Products (
productID int,
manufacturerID int,
productName varchar(50) PRIMARY KEY,
price decimal(7,2))
D. CREATE TABLE Products (
productID int,
manufacturerID int,
productName varchar(50),
price decimal(7,2),
CONSTRAINT product_key PRIMARY KEY (productID, manufacturerID))
E. Nu este posibil de realizat aceast cerin.

38. Comanda:
SELECT DISTINCT codp, denp FROM Produse
WHERE codp > 200
ORDER BY cantp
simuleaz implementarea operatorilor relaionali de:
A. Proiecie i jonciune
B. Selecie i intersecie
C. Selecie i reuniune
D. Proiecie i selecie
E. Reuniune i jonciune
39. Din categoria funciilor de grup fac parte:
A. Funcia COUNT( )
B. Funcia SUM( )
C. Funcia ROUND( )
D. Funcia RTRIM( )
E. Funcia STDEV( )
40. Dndu-se tabelele Produse(codp, denp, pret ) i Comenzi(nr_cda, codp, cant, data),
instruciunile SELECT:
SELECT c.*
FROM comenzi c JOIN produse p
ON p.codp=c.codp WHERE p.denp='penar'
i
SELECT c.nr_cda, c.codp, c.cant, c.data
FROM comenzi c, produse p
WHERE p.codp=c.codp
AND p.denp = 'penar'
A. Sunt diferite ca efect
B. Sunt identice ca efect
C. Ar fi identice ca efect dac n al doilea SELECT s-ar folosi operatorul OR i nu AND
D. Ar fi identice ca efect dac n primul SELECT nu s-ar folosi operatorul WHERE
41. Comanda DROP nume_tabela este echivalent cu comanda:
A. DELETE FROM nume_tabela
B. TRUNCATE
C. ALTER TABLE
D. ALTER DATABASE
E. Cu nici una

42. Folosind tabela cadru_did(cod, nume, graddid, data_ang, sal_neg, sal_merit), creat
i populat cu date, s se specifice care dintre exemplele urmtoare sunt corecte:
A. SELECT SUM(sal_neg) FROM cadru_did
B. SELECT graddid, SUM(sal_neg) FROM cadru_did
C. SELECT graddid, SUM(sal_neg) FROM cadru_did GROUP BY graddid
D. SELECT graddid, SUM(sal_neg), COUNT(graddid) FROM cadru_did
GROUP BY data_ang
E. SELECT graddid, SUM(sal_neg) FROM cadru_did
WHERE SUM(sal_neg) > 10000
43. Un utilizator a ters accidental o linie din tabela Produse, care conine o coloan
IDENTITY numit id. Cnd ncercai s reinserai aceleai date care au fost n linia
tears, primii un mesaj de eroare. Ce ar trebui s facei?
A. Punei pe on proprietatea IDENTITY_INSERT folosind SQL Server Management
Studio (SSMS) i apoi inserai linia.
B. Executai instruciunea SET IDENTITY_INSERT Produse ON i apoi inserai linia.
C. tergei proprietatea IDENTITY pentru coloana id folosind SQL Server Management
Studio (SSMS) i apoi inserai linia.
D. Reiniializai valoarea id cu cea a liniei terse i apoi inserai linia.
44. Scriei o instruciune SELECT care extrage date din dou tabele. Trebuie s returnai
toate liniile din prima tabel i numai liniile care ndeplinesc condiia din JOIN din a
doua tabel. Ce tip de JOIN ar trebui s folosii?
A. LEFT
B. RIGHT
C. INNER
D. FULL
45. Compania dumneavoastr are un numr de maini care sunt folosite de angajai
pentru o perioad scurt de timp. n acest scop avei o tabel numit Cars, care
pstreaz informaii despre maini i o tabel numit CarAssignments, care stocheaz
mainile asignate fiecrui angajat. Trebuie s creai o constrngere care s v asigure
c toate valorile atribuite coloanei car_id din tabela CarAssignments corespund unei
valori a coloanei id din tabela Cars. De asemenea, trebuie s v asigurai c, dac se
terge o linie din tabela Cars, se vor terge i liniile din tabela CarAssignments care o
refereniaz. Ce instruciune ar trebui folosit?
A. ALTER TABLE CarAssignments
ADD CONSTRAINT FK_car_id FOREIGN KEY (car_id)
REFERENCES Cars (id) ON DELETE CASCADE;
B. ALTER TABLE CarAssignments
ADD CONSTRAINT FK_car_id FOREIGN KEY (car_id)
REFERENCES Cars (id) ON DELETE SET NULL;
C. ALTER TABLE CarAssignments
ADD CONSTRAINT FK_car_id FOREIGN KEY (car_id)
REFERENCES Cars (id);
D. ALTER TABLE CarAssignments

ADD CONSTRAINT FK_car_id FOREIGN KEY (car_id)


REFERENCES Cars (id) ON DELETE NO ACTION;
46. Compania dumneavoastr folosete tabela WebSites pentru a urmri informaia despre
traficul zilnic al mai multor Web sites. Tabela include i urmtoarele coloane:
- id, care stocheaz ID Web site;
- hits, care pstreaz numrul de accesri ale site-ului din acea zi.
Trebuie s afiai numrul mediu de accesri zilnice pentru fiecare Web site.
Ce instruciune ar trebui s folosii?
A. SELECT SUM(hits)/COUNT(id)
FROM WebStats
GROUP BY id;
B. SELECT COUNT(*), AVG(hits)
FROM WebStats
GROUP BY hits;
C. SELECT id, AVG(hits)
FROM WebStats
GROUP BY id;
D. SELECT AVG(hits)
FROM WebStats;
47. Ai creat tabela Angajati cu instruciunea:
CREATE TABLE Angajati (nume varchar(20), departament varchar(20));
Se vor aduga, apoi, patru persoane:
- Angajat unu n departamentul Sales;
- Angajat doi n departamentul Sales;
- Angajat trei n departamentul Marketing;
- Angajat patru n departamentul HR.
Trebuie s adugai aceti angajai tabelei Angajati folosind cea mai mic secven de
cod. Care interogare ar trebui executat n acest scop?
A.INSERT INTO Angajati (nume, departament)
VALUES (' Angajat unu, 'Sales');
INSERT INTO Angajati (nume, departament)
VALUES (' Angajat doi', 'Sales');
INSERT INTO Angajati (nume, departament)
VALUES (' Angajat trei', 'Marketing');
INSERT INTO Angajati (nume, departament)
VALUES (' Angajat patru', 'HR');
B. INSERT INTO Angajati (nume, departament)
VALUES (' Angajat unu', 'Sales'), (' Angajat doi', 'Sales'),
(' Angajat trei', 'Marketing'), (' Angajat patru', 'HR');
C. INSERT INTO Angajati
VALUES (' Angajat unu', 'Sales');
INSERT INTO Angajati
VALUES (' Angajat doi', 'Sales');
INSERT INTO Angajati

VALUES (' Angajat trei', 'Marketing');


INSERT INTO Angajati
VALUES (' Angajat patru', 'HR');
D. INSERT INTO Angajati
VALUES (' Angajat unu', 'Sales'), (' Angajat doi', 'Sales'),
(' Angajat trei', 'Marketing'), (' Angajat patru', 'HR');
48. Avei o tabel Employees, cu angajaii unei firme, care include o coloan de tip
nchar(30) numit NumeAng. Coloana NumeAng conine prenumele i numele unui
angajat, separate de caracterul underscore (_). Trebuie s cutai n tabel toi
angajaii al cror nume de familie este Popa. Ce expresie ar trebui s folosii n clauza
WHERE a instruciunii SELECT?
A. RTRIM(NumeAng) LIKE '%_Popa'
B. NumeAng LIKE '%!_Popa' ESCAPE '!'
C. RTRIM(NumeAng) LIKE '%!_Popa' ESCAPE '!'
D. NumeAng LIKE '%Popa%'
49. Ai creat tabela Angajati, n care pstrai informaiile despre angajaii firmei unde
lucrai, cu instruciunea:
CREATE TABLE Angajati ( nume varchar(50), telefon char(10), email varchar(20)).
Trebuie s v asigurai c angajaii vor putea fi introdui n tabel cu valoarea NULL n
coloana nume, dar fr valori de tip NULL n coloanele telefon i email(simultan). Cum
ar trebui s modificai coloanele tabelei?
A. Adugai o constrngere CHECK (telefon IS NOT NULL OR email IS NOT NULL)
pe coloana telefon.
B. Adugai NOT NULL la coloanele telefon i email.
C. Adugai NULL la coloana nume.
D. Add constrngerea CHECK(telefon IS NOT NULL OR email IS NOT NULL) pe
tabel.
50. Ai creat urmtoarea tabel cu instruciunea:
CREATE TABLE dbo.Products (ID bigint IDENTITY(1,1) NOT NULL,
Name nvarchar(100) NOT NULL, FirstProduction timestamp NOT NULL,
Cost decimal(12, 4) NOT NULL, SalePrice decimal(12,4) NOT NULL,
Volume bigint NOT NULL, Margin AS (SalePrice - Cost) / Cost);
Trebuie s modificai structura tabelei pentru a utiliza cel mai mic spaiu de stocare.
Ce instruciuni ar trebui s folosii?
A. ALTER TABLE dbo.Products ALTER COLUMN Margin AS (SalePrice - Cost);
B. ALTER TABLE dbo.Products REBUILD WITH
(DATA_COMPRESSION = ROW);
C. ALTER TABLE dbo.Products ALTER COLUMN Name ADD SPARSE;
D. ALTER TABLE dbo.Products ALTER COLUMN Volume int;
E. ALTER TABLE dbo.Products ALTER COLUMN Cost decimal(10,2);

Subiecte SGBD

1. Un SGBD distribuit este:


A. O mulime de SGBD-uri locale, independente, ce se execut n acelai timp
B. Un software ce permite gestiunea unei BD distribuite i face distribuia transparent utilizatorilor
C. O mulime de aplicaii locale i globale
D. O mulime de aplicaii globale
E. O mulime de aplicaii locale
2. O tranzacie este:
A. O unitate de program ce realizeaz citiri i scrieri
B. O mulime finit i ordonat de operaii de citire, scriere i terminare
C. O mulime finit de operaii coerente, executate de un SGBD, care manipuleaz datele
unei baze de date
D. O mulime de instruciuni executabile dintr-un limbaj gazd
E. O serie finit de operaii de modificare a datelor dintr-o baz de date ORACLE
3. Proprietatea de consisten a tranzaciei const din:
A. Eliminarea redundanelor
B. Izolarea tranzaciilor n execuie
C. Transformarea unei stri consistente ntr-o stare consistent
D. Transparena
E. Durabilitatea
4. O baz de date distribuit se gsete implementat numai:
A. Pe un calculator performant
B. Pe mai multe calculatoare izolate, conectate la Internet
C. Pe un calculator client
D. ntr-o reea de calculatoare
E. Pe un laptop
5. Un SGBD paralel este:
A. O mulime de SGBD locale independente n execuie
B. Un SGBD ce execut in paralel operaii de intrare /ieire dintr-o baz de date
C. Un program ce opereaz pe baza algoritmilor paraleli
D. Un SGBD ce se execut pe calculatoare cu mai multe procesoare i medii de
stocare, proiectate s execute o mulime de operaii n paralel, pentru o mare
performan
E. Niciuna dintre acestea

6. Se d tabelul
STUDENT(CNP int, Nume varchar(30), Grupa nchar(10)), care are zece nregistrri
introduse i urmtoarea secven ce reprezint o tranzacie:
BEGIN TRAN
CREATE table STUDENT_NOU ( CNP int, Nume VARCHAR(30))
INSERT INTO STUDENT_NOU SELECT CNP, Nume from STUDENT
Save TRAN s1
UPDATE STUDENT_NOU SET Nume = UPPER(Nume)
Save TRAN s2
DELETE FROM STUDENT_NOU
Rollback TRAN s2
DELETE FROM STUDENT_NOU WHERE CNP=100
UPDATE STUDENT_NOU SET Nume = 'Ionescu'
Rollback TRAN s1
UPDATE STUDENT_NOU SET Nume = 'Ionescu' WHERE CNP=100
Rollback
Care este rezultatul acestei tranzacii pentru tabela STUDENT_NOU?
A. Avem un student cu numele Ionescu
B. Nu mai exist tabela STUDENT_NOU
C. Ultimul UPDATE eueaz deoarece studentul cu CNP-ul 100 a fost ters
D. Tranzacia eueaz deoarece avem mai multe puncte de reluare
7. Cnd creai o baz de date Microsoft Sql Server, care sunt fiierele care trebuie create
obligatoriu?
A. Un fiier de date primar
B. Un fiier de date primar i un fiier de log
C. Un fiier de date primar, un fiier de date secundar i un fiier de log
D. Un fiier de log primar
8. Cnd se determin accesul utilizator la obiecte particulare ale unei baze de date, cum
se aplic permisiunile?
A. User, fixed role, group role, fixed server
B. User, group role, fixed role, fixed server
C. Permisiunile sunt cumulative exceptnd DENY
D. Permisiunile se scad exceptnd permisiunile user specificate
9. Care dintre urmtoarele afirmaii nu este adevrat despre bazele de date Microsoft
SQL Server?
A. Bazele de date sunt grupate n filegroups
B. Bazele de date trebuie s fie n acelai filegroup
C. Bazele de date pot crete automat cu un procent
D. Bazele de date pot avea dimensiuni restricionate

10. Care grup de instruciuni se poate utiliza prin acordarea permisiunilor obiect?
A. SELECT, UPDATE, INSERT, CREATE
B. SELECT, EXECUTE, DELETE, INDEX
C. SELECT, UPDATE, INSERT, DELETE
D. SELECT, EXECUTE, DELETE,CREATE
11. Ai planificat ca Microsoft SQL Server 2000 s fac backups ale unei baze de date
astfel:
full backup la ora 2:00 a.m.; differential backups din 4 n 4 ore; transaction log backups
la fiecare 30. Sistemul cade la 11:24 a.m. Dup ce se face un full backup restore, cte
backups transaction logs i difereniale (numrul minim) trebuie restaurate pentru a avea
pierderi minime n baza de date?
A. 1 differential, 2 log
B. 1 differetial, 10 log
C. 2 differential, 2 log
D. 2 differential, 1 log
12. Pentru a preveni problemele innd de proprietarul obiectelor unei baze de date
Microsoft SQL Server, ce rol ar trebui s fie asignat unui developer?
A. Db-owner
B. Db-creator
C. DBA
D. Db-manager
13. Rolul Public este un rol special fixat la nivelul unei baze de date Sql Server. Care
dintre urmtoarele afirmaii sunt adevrate despre el ?
A. Nu poate fi ters
B. Poate fi ters
C. E coninut n orice baz de date utilizator, inclusiv master, msdb, tempdb, model
D. E coninut numai n bazele de date utilizator
E. Nu poate avea utilizatori, grupuri sau roluri asignate
F. Pstreaz toate permisiunile implicite pentru utilizatorii unei baze de date
14. Care dintre afirmaiile urmtoare sunt adevrate?
A. Numai un index cluster poate fi creat pentru un tabel
B. ntotdeauna creai indecii non-cluster naintea crerii oricrui index cluster
C. Indecii cluster sunt mai mari dect cei non-cluster
D. Paginile frunz ale indexului cluster sunt paginile de date ale tabelului
15. Trebuie s modificai un tabel din baza de date pe care ai creat-o; mai muli
utilizatori au primit permisiunile obiect SELECT, INSERT pentru acel tabel. Ce variant
ar trebui s executai pentru a modifica tabelul, fr a afecta permisiunile acordate?
A. DROP TABLE urmat de CREATE TABLE
B. CREATE TABLE, cu noua configuraie
C. ALTER TABLE

D. MOD TABLE
E. EXEC sp_help nume_tabela
16. Cnd tergei un tabel, ce obiecte din baza de date se terg de asemenea?
A. Vederile care-l au ca tabel de baz
B. Procedurile stocate care-l utilizeaz
C. Declanatorii creai pentru el
D. Funciile care-l utilizeaz
17. Care sunt caracteristicile unei chei primare?
A. Foreaz integritatea referenial pentru o tabel
B. Se creaz cu coloanele existente n tabel sau cu o coloan creat special n acest scop
C. Permite valori de tip null
D. Server-ul de baze de date permite numai o cheie primar pentru un tabel
E. La crearea ei, serverul construiete automat o constrngere de domeniu
18. Care dintre urmtoarele afirmaii sunt adevrate despre constrngeri?
A. Constrngerile la nivel de coloan se aplic pe anumite coloane sau combinaii de
coloane
B. Dac nu se specific un nume pentru constrngere, server-ul de baze de date ofer
unul
C. Indecii creai de constrngerile PRIMARY KEY i UNIQUE KEY pot fi teri
folosind instruciunea DROP INDEX
D. Constrngerile pot fi adugate sau terse dintr-o tabel fr a afecta structura tabelei
19. Putei folosi o procedur stocat pentru a extrage informaii din tabele de baz la care
nu avei permisiuni de acces?
A. Nu, pentru c nu avei permisiunile cerute pe tabele
B. Nu, dac nu suntei membri sysadmin sau db-owner
C. Da, dac avei permisiunea EXECUTE pentru procedura stocat
D. Da, dac ai creat declanatori pentru fiecare tabel
20. Dac utilizatorul student creaz o tabel, cine poate interoga tabela?
A. Numai utilizatorul student
B. Numai administratorul bazei de date
C. Utilizatorii care au drept de SELECT pe tabel
D. Toi utilizatorii
E. Utilizatorul student
21. S se aleag rspunsurile corecte:
A. Cnd o tabel e tears, toi indecii asociai sunt teri
B. ntotdeauna se construiete un index pe coloanele care se actualizeaz frecvent
C. Se poate crea un index ce conine cmpuri din mai multe tabele
D. Pentru a obine date ordonate dintr-o tabel se pot folosi indeci
E. Se recomand crearea unui index pe coloanele folosite n jonciuni

22. Comanda DROP VIEW vedere are ca efect:


A. terge nregistrrile din tabela virtual
B. terge nregistrrile din tabela de baz
C. terge tabela virtual
D. terge tabela de baz
E. terge tabela virtual i tabela de baz corespunztoare
23. Serverul Oracle/Microsoft de baze de date creaz automat un index cnd:
A. Se definete o constrngere de tip PRIMARY KEY
B. Se definete o constrngere de tip NOT NULL
C. Se definete o constrngere de tip UNIQUE
D. Se definete o constrngere de tip FOREIGN KEY
E. Se definete o constrngere de tip CHECK
24. Se va crea un index pe o coloan cnd:
A. Coloana se utilizeaz frecvent n clauza WHERE sau ntr-un JOIN
B. Tabela este de dimensiuni mari
C. Tabela este de dimensiuni mici
D. Coloana conine un numr majoritar de valori distincte
E. Tabela este actualizat frecvent
25. Secvena de comenzi:
SET AUTOCOMMIT OFF
DELETE FROM stoc
ROLLBACK
are ca efect:
A. Nu execut nici o tergere
B. terge toate nregistrrile din tabela stoc
C. terge doar nregistrarea curent din tabela stoc
D. terge fizic toate nregistrrile din tabela stoc
E. terge logic toate nregistrrile din tabela stoc
26. Care dintre urmtoarele instruciuni sunt necesare pentru a defini nceputul i sfritul
unei tranzacii explicite n Microsoft Transact-SQL ?
A. OPEN TRANSACTION
B. BEGIN TRANSACTION
C. INSERT TRANSACTION
D. END TRANSACTION
E. ROLLOVER TRANSACTION
F. COMMIT TRANSACTION
27. Ce problem de concuren apare cnd o tranzacie citete datele necomise de o alt
tranzacie aflat n derulare?
A. Lost update
B. Dirty Read
C. Nonrepeatable Read

D. Phantom Read
28. Care dintre urmtoarele constrngeri pot fi fcute disable?
A. DEFAULT
B. CHECK
C. PRIMARY KEY
D. UNIQUE
E. FOREIGN KEY
29. Trebuie s modificai o procedur stocat i mai muli utilizatori au primit
permisiunea de execuie a ei. Ce instruciune ar trebui s utilizai pentru a o modifica,
fr a afecta permisiunile existente?
A. DROP PROC
B. CREATE PROC
C. ALTER PROC
D. MOD PROC
E. EXEC PROC
30. Care sunt tipurile principale de integritate a datelor implementate de constrngerile
din serverele relaionale de baze de date ?
A. Integritatea de domeniu
B. Integritatea de atribut
C. Integritatea entitii
D. Integritatea referenial
E. Integritatea tipurilor de date
31. Ce caracteristic este utilizat pentru a preveni conflictele de actualizare, astfel inct
utilizatorii s nu poat citi sau modifica datele cnd ali utilizatori le modific?
A. Tranzaciile
B. Blocrile
C. Interogrile de tip SQL
D. Permisiunile de tip UPDATE
E. Permisiunile de tip SELECT
32. Ai creat o vedere folosind comanda:
CREATE VIEW dbo.Employee
WITH ENCRYPTION
AS SELECT Name FROM dbo.HumanResources
WHERE isEmployee = 1
WITH CHECK OPTION
Trebuie s mpiedicai ali utilizatori s copieze vederea. Ce instruciune ar trebui
s folosii?
A. ALTER VIEW dbo.Employee
WITH ENCRYPTION
AS SELECT Name FROM dbo.HumanResources
WHERE isEmployee = 1

B. DENY ALL ON dbo.Employee TO public


C. ALTER VIEW dbo.Employee
AS SELECT Name FROM dbo.HumanResources
WHERE isEmployee = 1
WITH CHECK OPTION
D. ALTER VIEW dbo.Employee
WITH SCHEMABINDING
AS SELECT Name FROM dbo.HumanResources
WHERE isEmployee = 1
E. Nu exista o asemenea instruciune
33. Ai executat trei proceduri stocate folosind urmtoarele instruciuni SQL:
BEGIN TRANSACTION
EXEC employeeStats
SAVE TRANSACTION SV_employee
EXEC productStats
SAVE TRANSACTION SV_product
EXEC webStats
A aprut o eroare n procedura stocat productStats i este nevoie s se anuleze
modificrile fcute de acea procedur.
Ce instruciune ar trebui s executai?
A. ROLLBACK TRANSACTION
B. ROLLBACK TRANSACTION SV_employee
C. ROLLBACK WORK
D. ROLLBACK
ROLLBACK
E. ROLLBACK TRANSACTION SV_product
34. Folosii tabela Products pentru a stoca informaii despre produse. Printre alte
informaii, tabela conine numele i preul produselor. Cretei preul produselor astfel:
- preul produselor mai mic de 100$ va fi crescut cu 10% ;.
- preul produselor cuprins n intervalul 100$ i 1000$ va fi crescut cu 5%;
- preul produselor mai mare de 1000$ va fi crescut cu 1%.
Trebuie s facei aceste modificri pentru toate produsele din tabela Products i s afiai
lista cu numele produselor, preul original i preul crescut. Ce instruciune ar trebui
folosit ?
A. DECLARE @t1 table
(name varchar(30),
oldprice decimal(7,2),
newprice decimal(7,2));
UPDATE Products
SET price =
CASE
WHEN price < 100.00 THEN price*1.10
WHEN price BETWEEN 100.00 AND 1000.00 THEN price*1.05
ELSE price*1.01

END
OUTPUT DELETED.name, DELETED.price, INSERTED.price INTO @t1
B. UPDATE Products
SET price =
CASE
WHEN price < 100.00 THEN price*1.10
WHEN price BETWEEN 100.00 AND 1000.00 THEN price*1.05
ELSE price*1.01
END
OUTPUT DELETED.name, DELETED.price
C. UPDATE Products
SET price =
CASE
WHEN price < 100.00 THEN price*1.10
WHEN price BETWEEN 100.00 AND 1000.00 THEN price*1.05
ELSE price*1.01
END
OUTPUT DELETED.name, DELETED.price, INSERTED.price
D. UPDATE Products
SET price =
CASE
WHEN price < 100.00 THEN price*1.10
WHEN price BETWEEN 100.00 AND 1000.00 THEN price*1.05
ELSE price*1.01
END
OUTPUT DELETED.*, INSERTED.*
E. UPDATE Products
SET price =
CASE
WHEN price < 100.00 THEN price*1.10
WHEN price BETWEEN 100.00 AND 1000.00 THEN price*1.05
ELSE price*1.01
END
OUTPUT DELETED.name, DELETED.price, INSERTED.*
35. O tabel virtual:
A. Poate fi construit dintr-o tabel de baz
B. Nu poate fi construit din mai multe tabele de baz legate ntre ele (cu UNION)
C. Poate conine funcii de grup
D. Nu poate fi read only
E. Poate conine o restricie de validare

36. S se aleag afirmaiile corecte:


A. Cnd se terge o tabel, indecii asociai rmn pn se terge i baza de date
B. Pentru a obine date ordonate dintr-o tabel se pot folosi indeci
C. ntotdeauna se construiete un index pe atributele care se actualizeaz n mod curent
D. Se poate construi un index care conine cmpuri din mai multe tabele
E. Se recomand crearea unui index pe atributele folosite n jonciuni
37. S se aleag informaiile corecte:
A. O vedere poate fi creat numai n baza de date curent
B. n comanda CREATE VIEW nu se poate folosi operatorul UNION
C. n comanda CREATE VIEW nu se poate folosi clauza ORDER BY dect cu clauza
TOP
D. n comanda CREATE VIEW se poate folosi instruciunea SELECT
E. n comanda CREATE VIEW se poate folosi clauza SET
38. Se poate folosi acelai nume pentru mai multe tabele stocate pe un server de baze de
date Microsoft SQL Server ?
A. Nu
B. Da, dac nu aparin aceleeai baze de date
C. Da, dac aparin aceleeai scheme
D. Da, dac nu aparin aceleeai scheme
E. Da, dac nu aparin aceleeai instane
39. Dac utilizatorul stud creaz o vedere, cine poate face interogri pe acea vedere?
A. Administratorul bazei de date
B. Utilizatorii care au permisiunea SELECT pe tabela din care extrage vederea datele
C. Utilizatorul stud
D. Numai utilizatorul stud
E. Toi utilizatorii care au permisiunea SELECT pe vedere
40. Un index Microsoft SQL/Oracle Server poate fi ters de:
A. Proprietarul tabelei
B. De orice utilizator care are dreptul DROP ANY INDEX
C. Numai de proprietarul tabelei
D. De administratorul bazei de date
E. Numai de administratorul bazei de date
41. Un administrator de baz de date poate:
A. Crea un utilizator
B. terge un utilizator
C. terge orice tabel sistem
D. terge orice index creat pe o tabel sistem
E. S salveze orice baz de date utilizator

42. Secvena de comenzi Microsoft SQL Server:


SET IMPLICIT_TRANSACTIONS OFF
BEGIN TRANSACTION
DELETE FROM Tabel_sursa
ROLLBACK
are ca efect:
A. terge toate nregistrrile din tabela Tabel_sursa
B. terge doar nregistrarea curent din Tabel_sursa
C. Nu efectueaz nici o tergere
D. terge toi indecii asociai tabelei Tabel_sursa
E. terge logic toate nregistrrile din tabela Tabel_sursa
43. Compania dumneavoastr utilizeaz o procedur stocat numit webAnalysis pentru
a analiza informaia de pe un Web site. Procedura ntoarce 1 dac analiza a avut loc
cu succes i 0 dac a existat o problem. Dumneavoastr creai o interogare care
execut un grup de operaii de ntreinere zilnice, incluznd procedura webAnalysis.
Trebuie s comitei modificrile fcute de procedur, dac analiza a nregistrat
succes, fr s afectai execuia altor task-uri executate de interogare. Care set de
instruciuni ar trebui s folosii?
A. BEGIN TRANSACTION;
DECLARE @success int;
EXEC @success = webAnalysis;
IF @success = 0
ROLLBACK;
ELSE
COMMIT;
B. BEGIN TRANSACTION;
DECLARE @success int;
EXEC @success = webAnalysis;
IF @success = 0
ROLLBACK;
C. BEGIN TRANSACTION;
DECLARE @success int;
EXEC @success = webAnalysis;
COMMIT;
IF @success = 0
ROLLBACK;
D. DECLARE @success int;
EXEC @success = webAnalysis;
IF @success = 0
ROLLBACK;
ELSE
COMMIT;

44. Inserai date ntr-o tabel care folosete un trigger INSTEAD OF pentru a le valida,
nainte de a le aduga; dac datele nu sunt corecte, ele nu sunt inserate n tabel.
Trebuie s scriei o instruciune INSERT i s returnai o list a liniilor care au fost
validate i adugate n tabel. Ce ar trebui s facei?
A. Creai o variabil de tip tabel pentru a stoca datele inserate. Folosii clauza OUTPUT
INTO n instruciunea INSERT pentru a popula variabila tabel cu liniile inserate.
Executai instruciunea SELECT pe variabila tabel pentru a returna liniile inserate.
B. Creai o variabil de tip tabel pentru a stoca datele inserate. Folosii clauza OUTPUT
INTO n instruciunea INSERT pentru a popula variabila tabel cu liniile inserate.
Executai instruciunea SELECT care ntoarce toate liniile din tabel i variabila
tabel.
C. Folosii clauza OUTPUT n instruciunea INSERT pentru a returna liniile inserate.
D. Creai o variabil de tip tabel i o populai cu coninutul iniial al tabelei. Inserai
datele n tabel . Executai o instruciune SELECT care extrage toate liniile din
tabel, dar care nu sunt n variabila tabel.
45. Tabela Employees include urmtoarele coloane:
- id int UNIQUE;
- name nvarchar(50).
Trebuie s creai o procedur stocat care s permit utilizatorilor s transmit ID-ul unui
angajat i s extrag numele angajatului pe care sa-l memoreze ntr-o variabil
nvarchar(50). Ce instruciune ar trebui s utilizai?
A. CREATE PROCEDURE getName
@ID int
AS
DECLARE @outputName nvarchar(50);
SELECT @outputName = name FROM Employees WHERE id = @ID;
RETURN @outputName;
B. CREATE PROCEDURE getName
@ID int,
@Name nvarchar(50) OUTPUT
AS
SELECT @Name = name FROM Employees WHERE id = @ID;
C. CREATE PROCEDURE getName
@ID int,
@Name nvarchar(50)
AS
SELECT @Name = name FROM Employees WHERE id = @ID;
D. CREATE PROCEDURE getName
@ID int
AS
SELECT name FROM Employees WHERE id = @ID;

46. Baza de date folosit de dumneavoastr conine o tabel numit Employees, care are o
coloan de tip nvarchar(MAX) numit lastName.Avei deja un index clustered numit
id_index pe coloana id a tabelei. Unul dintre utilizatorii dumneavoastr reclam timpii
de interogare lungi obinui cnd folosete coloana lastName n clauza WHERE a
instruciunii SELECT. Ce instruciune ar trebui s folosii?
A. ALTER INDEX id_index
ON Employees (id, lastName);
B. CREATE INDEX id_name_index
ON Employees (id)
INCLUDE (lastName);
C. CREATE CLUSTERED INDEX name_index
ON Employees (lastName);
D. CREATE INDEX name_index
ON Employees (lastName);
47. O baz de date folosit de dumneavoastr include o tabel numit Contractors.
Aplicaiile folosesc frecvent urmtoarea instruciune pentru a accesa nregistrrile
actualizate dup 1 ianuarie 2014:
SELECT id, name FROM Contractors
WHERE expertise = @searchWord
AND lastUpdated > '20140101';
Trebuie s reducei timpul necesar execuiei acestei instruciuni. Care este soluia optim
pentru a obine acest deziderat?
A. CREATE INDEX expertise_index
ON Contractors (lastUpdated, expertise);
B. CREATE INDEX expertise_index
ON Contractors(lastUpdated)
INCLUDE (expertise);
C. CREATE INDEX expertise_index
ON Contractors (expertise)
WHERE lastUpdated > '20140101';
D. CREATE INDEX expertise_index
ON Constractors (expertise, lastUpdated);
48. In baza de date folosit de dumneavoastr avei o tabel numit Personal, al crei
proprietar este student. S-a creat o vedere numit Angajati, pentru a limita accesul la
tabela Personal, care are ca proprietar pe Ana. Unuia dintre utilizatorii bazei de date i-a
fost acordat permisiunea INSERT pe vederea Angajati i i-a fost interzis permisiunea
INSERT pe tabela Personal; cnd ncearc s insereze o linie n vederea Angajati,
instruciunea INSERT eueaz. Trebuie s rezolvai aceast problem. Ce ar trebui s
facei?
A. Acordai proprietarului tabelei Personal permisiunea SELECT pe vederea Angajati.
B. Acordai proprietarului vederii Angajati permisiunea INSERT pe tabela Personal.
C. Schimbai proprietarul vederii Angajati n student.
D. Acordai permisiunea INSERT pe tabela Personal utilizatorului.

49. Ai creat o vedere folosind comanda:


CREATE VIEW dbo.AngajatiNoi
AS SELECT
Nume,
SalariuLunar,
(SalariuLunar * 12) AS SalariuAnual,
Data_Ang
FROM dbo.ResurseUmane
WHERE Nume IS NOT NULL
AND Data_Ang > '1/1/2014'
WITH CHECK OPTION;
Trebuie s inserai o linie folosind aceast vedere. Ce instruciune ar trebui s folosii?
A. INSERT INTO dbo. AngajatiNoi (Nume, SalariuAnual, Data_Ang) VALUES ('Popa
Ion', 50000, '3/12/2014');
B. INSERT INTO dbo. AngajatiNoi (Nume, SalariuLunar, Data_Ang) VALUES
('Mihnea George', 4000, '5/13/2014');
C. INSERT INTO dbo. AngajatiNoi (Nume, SalariuLunar, Data_Ang) VALUES ('Stan
Remus, 2500, '11/5/2010');
D. INSERT INTO dbo. AngajatiNoi (Nume) VALUES ('Tonoiu Petre');
50. Ai creat o tabel folosind instruciunea:
CREATE TABLE dbo.Products (ID int IDENTITY(1,1) NOT NULL,
Name nvarchar(60) NOT NULL, Cost decimal(10,2),
SalePrice decimal(10,2), CurrentStock bigint, NumberSold bigint)
Un utilizator necesit urmtoarele tipuri de acces:
- SELECT pe coloanele Name i SalePrice;
- SELECT pe stocul disponibil(diferena dintre CurrentStock i NumberSold );
- ALTER pe coloanele Name i SalePrice.
Trebuie s acordai permisiuni pentru a satisface aceste cerine, fr a da permisiuni
suplimentare sau a restriciona accesul. Ce ar trebui s facei?
A. Acordai utilizatorului permisiunile SELECT i ALTER pe vederea definit de
instruciunea: CREATE VIEW dbo.CustomerProduct AS SELECT Name, SalePrice,
(CurrentStock - NumberSold) AS AvailableStock FROM dbo.Products.
B. Acordai utilizatorului permisiunea SELECT pe coloanele Name, SalePrice,
CurrentStock i NumberSold i permisiunea ALTER pe coloanele Name i SalePrice
din tabela Products.
C. Acordai utilizatorului permisiunea ALTER pe vederea definit de instruciunea:
CREATE VIEW dbo.CustomerProductSelect AS SELECT Name, SalePrice,
(CurrentStock - NumberSold) AS AvailableStock FROM dbo.Products.
D. Creai dou proceduri stocate, una care s execute instruciunea SELECT din tabel i
alta care s permit ALTER pe coloanele Name i SalePrice, apoi acordai
permisiunea EXECUTE pe proceduri.

UNIVERSITATEA TITU MAIORESCU


FACULTATEA DE INFORMATIC

MODELE NTREBRI EXAMEN LICEN

MODULUL 3
Sisteme de operare, reele de calculatoare i securitatea
informaiei

UNIVERSITATEA TITU MAIORESCU


FACULTATEA DE INFORMATIC

MODELE NTREBRI EXAMEN LICEN


Disciplina Sisteme de operare

Sisteme de Operare
Observatie:
Semnul punct si virgula (;) de la sfarsitul variantelor si semnul punct (.) de la ultima varianta nu
face parte din comanda.
1. Planificarea Round-Robin:
a. determin atribuirea unei cuante de timp n care procesului i este permis s ruleze;
b. determin suspendarea unui proces ntr-un moment arbitrar;
c. determin atribuirea unei prioriti fixe pentru execuia unui proces;
d. determin lansarea n execuie a unui proces dac nu exist altul mai prioritar n execuie.
2. La declanarea unei ntreruperi prima aciune desfurat n sistemul de calcul este:
a. salvarea registrelor procesului ntrerupt n tabela de procese;
b. ncrcarea registrului program counter cu coninutul vectorului de ntrerupere;
c. salvarea strii programului ntrerupt n stiv;
d. modificarea strii procesului interrupt.

3. Un proces este:
a. activitatea unitii de prelucrare;
b. un program compilat;
c. un program n execuie;
d. un program link-editat.
4. Registrul contor program" conine:
a. adresele operanzilor operaiei ce trebuie executat;
b. adresa urmtoarei instruciuni ce trebuie executat;
c. chiar operanzii operaiei ce trebuie executat;
d. numrul instruciunii ce trebuie executat.
5. Seciunile critice sunt:
a. secvene de program care trebuie tratate cu mare atenie;
b. secvene de tratare a ntreruperilor importante;
c. secvene din activitatea sistemului de calcul cnd resursele sunt insuficiente;
d. secvene de program unde se acceseaz date partajate.
6. Planificatorul este componenta sistemului de operare care decide:

a. care proces trece n starea de execuie i pentru ct timp;


b. care proces trebuie terminat i care proces trebuie nceput;
c. care dispozitiv periferic va fi folosit de ctre program;
d. care dintre fiierele deschise trebuie nchis la un moment dat.
7. Un sistem de operare asigur ndeplinirea urmtoarelor funcii:
a. creterea performanelor unitii de prelucrare;
b. un management eficient al resurselor fizice i logice;
c. asistarea utilizatorului printr-un sistem dezvoltat de comunicaie;
d. protecia informaiei.
8. Tranziia unui proces din starea n execuie" n starea blocat" are loc atunci cnd:
a. planificatorul decide suspendarea procesului pentru a lansa un altul mai prioritar;
b. planificatorul decide blocarea procesului din cauza unei erori;
c. procesul ateapt apariia unor date de care depinde continuarea execuiei;
d. procesul nu mai poate continua execuia din cauza unei erori.

9. n sistemele de operare de tip client-server nucleul acestuia realizeaz:


a. servirea proceselor server;
b. servirea proceselor client;
c. transportul mesajelor de la procesele client ctre procesele server;
d. accesul la resursele proceselor client i ale proceselor server.
10. Evacuarea-rencrcarea proceselor (swapping) este procesul de:
a. terminare, respectiv ncepere a proceselor;
b. transfer al datelor n fiiere pe disc;
c. lansare n execuie a programelor;
d. transfer al proceselor ntre memorie i disc.
11. Tranziia unui proces din starea n execuie" n starea gata" are loc atunci cnd:
a. planificatorul decide suspendarea procesului pentru c i-a expirat cuanta de timp alocat;
b. planificatorul, n urma analizei proceselor active stabilete c un proces nu poate continua
execuia;
c. procesul nu mai are date de prelucrat i trebuie s-i termine execuia;
d. procesul nu mai are date de transferat i poate sa-i continue execuia.
2

12. ntr-un sistem de operare de tip client-server procesele server lucreaz n modul de lucru:
a. supervisor;
b. kernel;
c. utilizator;
d. privilegiat.
13. Care din urmtoarele tipuri nu reprezint un sistem de fiiere:
a. Swap;
b. ext1;
c. NTFS;
d. FAT32.
14. n cadrul partiionrii unui sistem Linux, reprezint un tip de partiie?
a. Partiia logic;
b. Partiia primar;
c. Partiia virtual;
d. Partiia extins.
15. RUID reprezint:
a. Userul logat iniial n sistem;
b. Userul devenit prin rularea comenzii su;
c. RUID nu exist. Doar EUID si UID;
d. UID secundar.
16. EUID reprezint:
a. Userul care s-a logat iniial n sistem;
b. Userul devenit prin rularea comenzii su;
c. UID secundar al userului;
d. EUID nu exista, doar UID.
17. Ce comand se folosete pentru afiarea userilor logai n sistem?
a. login;
b. whosin;
c. who;
d. Whoami.

18. Cum se afl procesul programului care deschide portul 10000 pentru a asculta conexiuni ce
folosesc protocolul tcp?
a. fuser -n tcp 10000;
b. grep 10000;
c. kill 10000;
d. fuser -n tcp.

19. Comanda su- are drept scop:


a. Substituirea userului curent cu root i ncrcarea environmentului lui root;
b. Substituirea userului curent fr root i ncrcarea environmentului lui root;
c. O eroare fiindc s-a specificat semnul minus dar nu i opiunea;
d. Modificarea informaiilor despre un user.
20. Afiarea tuturor grupurilor din care face parte un utilizator numit user1 se realizeaz prin
comanda:
a. groups;
b. show groups;
c. id;
d. show users.
21. Ce comand creeaz un user numit user1?
a. useradd user1;
b. useradd user1 -c 'user normal' -d /home/user1 -s /bin/bash;
c. useradd -c 'user normal' -d /home/user1 -m -s /bin/bash user1;
d. adduser -group root user1.
22. Pentru fiecare user se pastreaz n fisierul /etc/passwd urmtoarele informaii:
a. username;
b. uid;
c. grupurile din care acesta face parte;
d. home directory.
23. Cum ajungem n directorul home al utilizatorului logat?
a. cd /;
b. cd ~;
c. cd home;
4

d. cd.
24. n Linux n mod standard userii se gsesc n fiierul:
a. /etc/users;
b. /etc/shadow;
c. /etc/system-users;
d. /etc/passwd.
25. Ce comand folosim n linux pentru a afla adresa ip a placii de reea?
a. ifconfig;
b. ipconfig;
c. route;
d. traceroute.

26. Care sunt firmaiile pentru care echivalena dintre modul simbolic i absolut este corecta?
a. 775=rwxrwxrwx;
b. 775=rwxrwxr-x;
c. 777=rwxrwxrwx;
d. 664=rw-rw-r.

27. Umask are rolul de a:


a. Stabili cu ce permisiuni default se creaz noile fiiere i directoare;
b. Stabili cu ce permisiuni default se creaz fiierele daca ne referim la files umsk;
c. Stabili masca sistemului;
d. Stabili masca userului.
28. Daca se foloseste umask 0002 care dintre urmatoarele afirmaii sunt corecte:
a. Fiierele se creaz default cu permisiunile 664;
b. Fiierele se creaz default cu permisiunile 440;
c. Directoarele se creaz default cu permisiunile rwxrwxr-x;
d. Directoarele se creaz default cu permisiunile 755.
29. Cum se nchide procesul 2543?
a. kill -9 2543;
b. ps aux | 2543;
5

c. grep 2543;
d. exit 2543.
30. n ce fiier se scriu comenzile ce se vor executate la pornirea calculatorului dup pornirea
tuturor proceselor?
a.
b.
c.
d.

/etc/rc.d/rc.local;
crontab;
/bin/sh;
/bin.

31. Ce se scrie n prima linie a unui script bash?


a. #!/bin/bash;
b. #!/usr/local/perl;
c. #!/sbin/perl;
d. #!/bin.
32. Ce definete directiva DirectoryIndex din fiierul de configurare a serverului Apache?
a. directorul n care trebuie pus fiierul index.html;
b. fiierele pe care le caut n Document Root pentru a le iniializa ca prim pagin a site-ului;
c. indexul cuvintelor de cutare a paginii web folosind un motor ca www.google.com;
d. directorul n care intr doar root dac furnizeaz parola.
33. Cu ce comand aflm direct procesul folosit de un utilizator conectat prin ssh la server?
a. ps -aux | grep pts;
b. ps -aux | who;
c. ps -aux | grep last;
d. ps -aux | whoami.
34. Cum facem pentru a avea anumite servicii pornite automat la pornirea calculatorului?
a. folosim comanda setup, apoi din meniu alegem system services i bifm acele servicii;
b. editm fiierul /etc/xinetd;
c. editm fiierul /etc/inet.d/inetd;
d. editm un fiier nou n care enumerm serviciile.
35. Folosind interpretorul bash se creeaz urmtorul script denumit scr1:
# !/bin/bash
6

echo $#
Care va fi rezultatul afisat, dac scriptul se va executa cu comanda: # bash scr1 arg1 arg2 4:
a. 3;
b. arg1;
c. arg2;
d. 4.
36. Ce rezultat va produce execuia urmatorului script:
#!/bin/bash
s=0
for i in `ls -l | awk '{print $5}'`
do
s=`expr $s + $i`
done
echo `expr $s / 1024`
a. scriptul afiseaz valoarea nsumata, exprimat n Kb, a fiierelor din directorul current;
b. scriptul afiseaz o lista cu dimensiunea fiierelor, n octeti din directorul curent;
c. scriptul afiseaz valoarea insumata, exprimat nbiti, a fiierelor din directorul curent;
d. scriptul afiseaz o list cu dimensiunea fiierelor din directorul curent exprimat n bii.

37. Se presupune c ai editat un script cu numele /root/scr1. Care este comanda ce trebuie
introdus pentru a face scriptul executabil?
a . chmod u+x /root/scr1;
b . chmod 744 /root/scr1;
c . chmod 666 /root/scr1;
d . chmod u-wx /root/scr1.
38. Care este rezultatul afiat n urma execuiei comenzii:
ifconfig | grep "inet addr" | grep -v "127.0.0.1" | awk '{print $2;}' | awk -F':' '{print $2;}'
a . toate adresele ip mai puin adresa interfeei loopback;
b . adresa ip a interfeei eth0;
c . adresa ip a interfeei loopback;
d . toate adresele ipv6.
39. Care este rezultatul afiat n urma execuiei:
7

init 3
a . intrarea n nivelul 3, respectiv modul text, cu acces network;
b . intrarea nnivelul 3, respectiv modul grafic cu acces network;
c . crearea a 3 procese n memorie, subordonate procesului parinte init.
40. Care dintre urmatoarele comenzi are ca rezultat crearea unui fiier file2 care este identic cu
fiierul file1, ignornd liniile goale?
a . grep -v "^$" file1 > file2;
d . sed -e '/^$/d' file1 > file2;
b . grep -v "#^" file1 > file2;
c . grep "^$" file1 > file2.
41. Cu ce comand se poate obine lista rutelor cunoscute de sistem?
a . route;
b . netstat r;
c . netstat n;
d . ifconfig.
42. Care este rezultatul afiat n urma execuiei urmtoarei comenzi:
ps -ef --no-heading | awk '{print $1}' | sort | uniq
a . numele tuturor userilor, fara valori duplicate, sub care sunt rulate procesele curente;
b . lista id-urilor aparinnd proceselor curente, far valori duplicate;
c . numarul de useri, far valori duplicate, sub care sunt rulate procesele curente;
d . lista numelor proceselor curente, far valori duplicate, sortate alfabetic.
43. Comanda echo $ are urmatoarea semnificatie?
a . se afieaz codul de eroare al ultimei comenzi;
b . se afieaz numarul de parametri ai scriptului curent;
c . se afieaz numele scriptului curent;
d . se afieaz variabila de sistem $HOME.
44. Care este comanda folosit pentru a porni serviciul network n sistemul de operare Linux ?
a . service network start;
b . /etc/init.d/network start;
c . chkconfig network start;
d . sc start network.

45. Ce nu se poate obine folosind comanda uname?


a . numarul de procesoare;
b . totalul de memorie disponibil;
c . versiunea kernel-ului;
d . numele sistem;
e . denumirea kernel-ului.
46. Pentru a funciona rezoluia de nume, ce fisier trebuie s existe i s conin una sau mai
multe adrese ale serverelor DNS?
a . /etc/resolv.conf;
b . /etc/sysconfig/network;
c . /etc/sysconfig/network-scripts/network-functions;
d . /etc/hosts.
47. Care sunt informaiile care nu se regsesc n fiierul /etc/passwd?
a. Hash-urile parolelor utilizatorilor;
b. Directorul home al utilizatorului curent;
c. Interpretorul de comenzi (shell-ul);
d. Grupurile secundare ale utilizatorului curent.
48. Ce fiier este folosit pentru montarea automat a unui sistem de fiiere n sistemul de operare
Linux?
a. /etc/fstab;
b. /dev/sda1;
c. /mnt/hda6;
d. /etc/fsck
49. Care este rezultatul afiat n urma execuiei urmtoarei comenzii:
cat /etc/passwd | grep nologin | cut d: -f1
a . numele utilizatorilor care nu se pot loga n sistem;
b . numele utilizatorilor al cror cont a fost dezactivat;
c . numele grupului utilizatorilor al cror cont a fost dezactivat;
d . numele grupului utilizatorilor care nu se pot loga nsistem.
50. Care este rezultatul afiat n urma execuiei urmtoarei comenzii:
find -type f -atime -7

a.
b.
c.
d.

cutarea
cutarea
cutarea
cutarea

n directorul curent a fiierelor accesate n ultimele 7 zile;


n directorul radacin a fiierelor accesate n ultimele 7 ore;
n directorul radacin a fiierelor create n ultimele 7 ore;
n directorul curent a fiierelor create nultimele 7 zile.

10

UNIVERSITATEA TITU MAIORESCU


FACULTATEA DE INFORMATIC

MODELE NTREBRI EXAMEN LICEN


Disciplina Retele de calculatoare

&

Disciplina Administrarea retelelor de calculatoare

MODELE NTREBRI EXAMEN LICEN


2015
Disciplina Reele de calculatoare
&
Disciplina Administrarea reelelor de calculatoare
1. Ce algoritmi se pot folosi pentru a calcula distana minim dintre noduri ntr-o reea?
a) algoritmul inundrii
b) despicarea orizontului
c) algoritmul lui Dijkstra
d) algoritmi pe baz de flux
2. Rutarea este:
a) procesul de transfer al datelor prin dou sau mai multe reele, de la o surs ctre o
destinaie
b) procesul de transfer al datelor ntr-un segment de reea de la o surs la o destinaie
c) procesul de actualizare a tabelei de rutare
d) procesul de configurare a unui protocol de reea pe un ruter
3. Care dintre urmtoarele entiti nu poate fi un cmp n tabela de rutare:
a) adresa destinaie
b) masca de reea
c) interfaa urmtorului salt
d) protocolul de rutare
4. Un ruter dirijeaz pachetele IP pe baza:
a) adresei surs i adresei destinaie
b) adresei de reea destinaie i tabelei de rutare
c) adresei fizice
d) adresei destinaie i protocolului DNS
5. Tabela de rutare a unui ruter static se configureaz:
a) automat la fiecare pornire a acestuia
b) manual la instalarea ruterului n reea
c) manual la fiecare pornire a sa
d) automat la fiecare modificare a topologiei de reea
6. Ce comand CISCO dat pe un ruter afieaz fiierul de configurare memorat n
NVRAM?
a) router# show flash
b) router# show nvram
c) router# show running-config
d) router# show startup-config
7. Ce port este folosit pentru configurarea iniial a unui ruter direct de la un calculator?
a) auxiliary
b) console
c) serial

d) fastEthernet
8. Ce comand CISCO afieaz tabela de rutare?
a) ping
b) show ip route
c) show interface
d) show table-config
9. Care este un dejavantaj al rutrii dinamice?
a) administrare greoaie
b) necesit reconfigurare la fiecare schimbare de topologie de reea sau de rutere
c) nu poate ocoli defeciunile aprute n reea
d) ncarc suplimentar traficul din reea
10. Prin ce identific un ruter reeaua de destinaie a unui pachet?
a) prin adresa MAC
b) prin adresa portului de destinaie
c) prin adresa IP destinaie i masca de reea
d) prin adresa TCP
11. Care este rolul unei adrese de broadcast?
a) de a transmite un pachet ctre o singur reea destinaie
b) de a trimite un pachet ctre o list de destinaie
c) de a trimite un mesaj ctre toate ruterele dintr-o reea
d) de a trimite un mesaj ctre toate gazdele dintr-o reea/subreea
12. Dac o gazd nu cunoate o adres de nivel 3 (o adres IP) din cadrul acelei reele, cum o
poate afla?
a) trimite un pachet ARP
b) trimite un pachet RARP
c) trimite un mesaj de avertizare administratorului reelei
d) trimite un mesaj de interogare spre serverul de nume (DNS)
13. Care dintre urmtoarele este o adres multicast n IPv4?
a) 111.111.111.111
b) 255.255.255.255
c) 224.0.0.251
d) 224.0.0.2
14. Urmtoarea adres IPv6 2023:0000:34FA:0000:0000:09C1:4322:AA43 se mai poate scrie
corect astfel:
a) 2023:0000:34FA::09C1:4322:AA43
b) 2023:0000:34FA::9C1:4322:AA43
c) 2023::34FA::9C1:4322:AA43
d) 2023::34FA::09C1:4322:AA43
15. Interoperabilitatea IPv4 cu IPv6 se poate face astfel:
a) Stiva dual
b) Tunelare IPv6 peste IPv4

c) Folosirea unor tabele de rutare dual


d) Protocoalele nu sunt interoperabile
16. Obiectivele urmrite prin trecerea la IPv6
a) S suplineasc funciile protocoalelor de nivel transport
b) S asigure mobilitatea gazdelor n reea fr schimbarea adreselor
c) S asigure servicii securizate la nivel retea
d) S asigure adrese de reea pentru toi utilizatorii prezeni i viitori previzibili
17. Ce cmpuri obligatorii are antetul unui cadru Ethernet?
a) Adresele IP surs i destinaie
b) Controlul erorilor (CRC)
c) Adresa MAC destinaie
d) Numrul de secven
18. Rolul unui server DNS ntr-o reea de calculatoare este:
a) S stabileasc nume de domenii i s le administreze
b) S fac rezoluia adres fizic adres IP
c) S ntoarc adresa IP a unei resurse din reea desemnat prin numele din
domeniu
d) S atribuie adrese IP resurselor din reea
19. Protocolul HTTP are rezervat portul:
a) 80
b) 8080
c) 25
d) Nu are un port rezervat
20. Care dintre urmtoarele variante nu este un domeniu de prim nivel n Internet?
a) ARP
b) COM
c) EDU
d) WINS
21. Ce comand este mai des folosit pentru a afla informaii despre configurarea IP n sistemele
de operare Windows 7?
a) PING
b) WINCONFIG
c) IPCONFIG
d) IP CONF
22. Pentru a vizualiza conexiunile active de pe un calculator conectat n reea se poate folosi
comanda cmd:
a) SHOW CONFIG
b) NETSTAT
c) IPCONFIG/ALL
d) SH CONFIG
23. Ce aplicaie din pachetul Windows 2008 Server administreaz conturile utilizatorilor?
a) Domain Controller-ul

b) DHCP
c) DNS
d) IIS (Internet Information Server)
24. Cum este numit procesul prin care mai multe controlere de domeniu partajeaz copii
complete ale bazei de date cu directoare de reea i se actualizeaz constant ntre ele?
a) Duplicare
b) Replicare
c) ncrcare
d) Actualizare
25. Ce model de reea este acela n care serviciile asigurate utilizatorilor la cererea acestora sunt
gzduite de aplicaii dedicate care ruleaz pe maini fizice sau virtuale?
a) Model bazat pe organizaie
b) Model bazat pe resurse
c) Model client-server
d) Model bazat pe calcul distribuit
26. Unde se configureaz sau se terge un adaptor de reea sub sistemul de operare Windows
XP?
a) n miniaplicaia Add/Remove Hardware
b) n miniaplicaia Network Adapter
c) n miniaplicaia Network
d) Funcia Plug and Play rezolv automat problema
27. Ce comand se poate folosi pentru a afla numele serverului DNS dintr-o reea?
a) Winword
b) NSLOOKUP
c) PING
d) NETSTAT
28. Cte adrese IP trebuie s aib configurate un ruter pentru a face serviciul de rutare?
a) Cel puin una
b) Una sau mai multe
c) Dou
d) Cel puin dou n reele diferite
29. Care dintre urmtoarele servere sunt servere web?
a) Apache
b) IIS (Internet Information Server)
c) DNS
d) Proxy Server
30. Care dintre protocoalele de mai jos permit administrarea resurselor hard inteligente n
scopul cunoaterii strii lor funcionale?
a) HTTP
b) IMAP
c) SNM P
d) SMTP

31. Care dintre urmtoarele portocoale sunt folosite pentru crearea conexiunilor VPN?
a) SIP (Session Initiation Protocol)
b) PPP (Point to Point Protocol)
c) SLIP (Serial Line Internet Protocol)
d) PPTP (Point to Point Tunneling Protocol)
32. Ce tehnici de detecie a erorilor se folosesc la nivelul legtur de date?
a) Verificarea bitului de paritate
b) Verificarea ciclic a redundanei
c) Distana Hamming
d) Retransmiterea cadrelor eronate
33. Standardul IEEE 802.11 se refer la:
a) Reele locale de calculatoare necablate
b) Reele de arie larg de calculatoare necablate
c) Reele de transport de date
d) Reele de arie medie de calculatoare necablate
34. Care dintre metodele urmtoare tehnici evit coliziunile de date n LAN-uri?
a) CSMA/CA
b) CSMA/CD
c) Token Ring
d) Token bus
35. O reea din Internet are masca de subreea 255.255.225.224. Care este numrul maxim de
gazde din subreea?
a) 16
b) 30
c) 64
d) 32
36. Care dintre urmtoarele variante este o masc valid de subreea fr clas?
a) 255.0.0.0
b) 255.255.255.0
c) 255.255.255.230
d) 255.255.255.240
37. Ce urmri are execuia comenzii Router#erase nvram
a) terge istoria configurrii ruterului
b) terge fiierul de configurare din NVRAM
c) terge configurarea curent a ruterului
d) Comanda erase nu are efect asupra configurrii
38. Comanda Router(config)#hostname permite:
a) aflarea numelui ruterului
b) stabilirea numelui ruterului din modul configurare global
c) accesul la configurarea interfeelor ruterului
d) stabilirea numelui i a parolei ruterului

39. Ce afirmaii referitoare la tehnologia MPLS sunt adevrate:


a) Este un mecanism de ncapsulare suplimentar ntre nivelurile 2 i 3
b) nlocuiete complet adresele IP dintr-o reea
c) Folosete comutarea fluxurilor de date pe baz de etichete
d) Eticheta este un identificator de flux de lungime 20 bii
40. Tehnicile de transmisie cu spectru mprtiat se folosesc cu preponderen:
a) n reelele Ethernet
b) n reelele de transport
c) n reelele FDDI
d) n reelele wireless
41. Se d adresa IP 140.20.37.133 i masca de subreea 255.255.255.192. S se precizeze adresa
de subreea din care face parte aceast adres IP i adresa de difuzare n subreea.
a) 140.20.37.120 i 140.20.37.255
b) 140.20.37.128 i 140.20.37.191
c) 140.20.37.0 i 140.20.37.255
d) 140.20.37.128 i 140.20.37.120
42. Metrica unei rute poate fi:
a) Un numr ntre 0 i 255 asociat unui protocol pentru ierarhizarea acestuia
b) Un criteriu sau un set de criterii de apreciere a calitii acesteia
c) Numrul de salturi de la surs la destinaie
d) Sistem de prioriti de transmitere a pachetelor de ctre un ruter
43. O rut direct conectat are distana administrativ:
a) 1
b) 250
c) 0
d) Distanta administativ este un atribut al unui ruter, nu al unei rute
44. RIP este un protocol de rutare care:
a) Folosete ca metric ntrzierea minim n reea
b) Se bazeaz pe starea legturilor
c) Este folosit pentru rutare interdomeniu
d) Are numrul maxim de salturi egal cu 15
45. Care este matrica folosit de RIP pentru determinarea cii optime?
a) Numrul minim de salturi pn la destinaie
b) Limea de band maxim pn la destinaie
c) Timpul minim pn la destinaie
d) Rata de eroare minim pn la destinaie
46. Timpul de convergen al unui protocol reprezint:
a) Timpul dus-ntors maxim dintre oricare pereche surs-destinaie din reea
b) Timpul n care toate ruterele din reea i-au configurat tabela de rutare
c) Timpul mediu de prelucrare a pachetelor de ctre un protocol de reea
d) Timpul de via al unui pachet n reea
47. Serviciul de pot electronic funcioneaz pe baza urmtoarelor protocoale mai cunoscute:

a) SMTP, RTP, DNS


b) POP3, IMAP, SMTP
c) IMAP, HTTP, SNMP
d) FTP, SNMP, SMTP
48. Citirea postei electronice se poarte face cu ajutorul urmtoarelor protocoale:
a) SMTP, POP3
b) IMAP, SMNP
c) POP3, IMAP
d) SMTP, SNMP
49. DHCP (Dynamic Host Configuration Protocol) este o aplicaie client-server prin care:
a) Serverul furnizeaz staiei client numele de domeniu i adresa IP necesare
funcionrii n reea
b) Se determin adresa IP corespunztoare unui unei staii cu nume de domeniu
cunoscut
c) Se atribuie adrese fizice staiilor dintr-o reea
d) Se face alocare dinamic de adrese IP staiilor dintr-o reea
50. Comanda urmtoare: Router(config)#router ospf 10 dat pe un ruter Cisco are ca efect:
a) Validarea procesului OSPF pe acel ruter
b) Definirea ID-ului de ruter necesar rulrii OSPF
c) Definirea ariei 10 pe ruter
d) Validarea procesului OSPF i definirea ariei
51. Urmtoarea comand de configurare a unui ruter
Router(config-router)#network 192.168.0.0 0.0 255.255 area 10 are ca effect:
a) Activarea procesului OSPF pe acel ruter
b) Definete o interfa pe care ruleaz procesul OSPF i definete aria n care se afl
acea interfa
c) Definete aria procesului OSPF
d) Defineste aria i numrul procesului OSPF
52. Care dintre urmtoarele protocoale suport rutarea ierarhic?
a) RIPv1 i OSPF
b) RIPv3 i OSPF
c) OSPF i RIPv2
d) RIPv1 i IGRP
53. Interoperabilitatea IPv4 cu IPv6 pe baza stivei duale presupune:
a) Ambele stive de protocoale sunt activate pe interfeele unui ruter
b) Configurarea unui tunel IP ntre ntre echipamentele terminale ale aplicaiei
c) Se activeaz automat unul sau altul dintre protocoale n funcie de formatul
cadrelor recepionate de la nivelul legtur de date
d) Stiva dual nu este o posibilitate de interoperabilitate IPv4 IPv6
54. Urmtoarea adres IPv6 FE80::200:CFF:FE3A:8B18 este:
a) Adres multicast
b) Adres link local
c) Adres site local

d) Adresa broadcast
55. O adresa IPv6 de tip link local:
a) Este configurat automat pe interfaa unei gazde ndat ce protocolul IPv6 a fost
validat
b) are formatul de prefix fc00::/7
c) Este obligatorie pentru comunicarea pe un link local ntre dou dispozitive IPv6
d) Este vizibil si folosit pentru rutare de oriunde din Internet
56. Adresele IPv6 unicast agregabile globale:
a) Au formatul de prefix 2000::/3
b) Sunt structurate ierarhic
c) Au lungimea total de 64 bii
d) Nu sunt rutabile n Internet
57. Protocolul ICMP este folosit de reelele IPv4 pentru:
a) Rutare n Internet
b) Descoperirea gazdelor conectate n reea
c) Configurarea tabelelor de rutare
d) Raporta problemelor legate de livrarea pachetelor n reea
58. Protocolul BGP este folosit pentru rutarea datelor:
a) n reelele de band larg
b) n reele locale de calculatoare
c) ntre sisteme autonome
d) n reelele de organizaie
59. Care dintre afirmaiile urmtoare despre un agent SNMP sunt adevrate :
a) Solicit informaii de management de la statia de management
b) Rspunde interogrilor de management primite de la sistemul de management
c) Este un protocol de nivel reea
d) ine o baz de date cu informaiile de management din echipamentul n care este
resident
60. O comunitate SNMP este:
a) Totalitatea elementelor de reea administrate prin SNMP
b) Un mecanism de securitate pentru comunicaia dintre sistemul de management i
agentul de management
c) O reea n care este instalat aplicaia SMNP
d) Totalitatea obiectelor administrate prin SNMP

UNIVERSITATEA TITU MAIORESCU


FACULTATEA DE INFORMATIC

MODELE NTREBRI EXAMEN LICEN


Disciplina Criptografie si securitatea informatiei

CRIPTOGRAFIE
1. Care este rolul coderului de surs?
a. Criptarea textului generat de sursa informaional;
b. Compresia informaiei generate de sursa informaional;
c. Schimbarea formei de reprezentare a informaiei generate de surs;
d. Protejarea informaiei generate de surs mpotriva perturbaiilor.
2. Care este rolul coderului de canal?
a. Compresia informaiei generate de sursa informaional;
b. Schimbarea formei de reprezentare a informaiei generate de surs;
c. Protejarea informaiei mpotriva perturbaiilor din canalul de transmitere a
acesteia;
d. Criptarea textului generat de sursa informaional.
3. Care este rolul blocului de criptare informaional?
a. Schimbarea formei de reprezentare a informaiei generate de surs;
b. Criptarea textului generat de sursa informaional;
c. Prelucrarea informaiei n scopul pstrrii confidenialitii transmisiei;
d. Compresia informaiei generate de sursa informaional.
4. Cheia criptografic este :
a. Subansamblu hardware utilizat pentru protecia software;
b. Expresie matematic care reprezint modul de funcionare al blocului de criptare
i de decriptare;
c. Parametrizare a funciei criptografice implementate n blocurile de
criptare/decriptare;
d. ir parametric de valori statice sau dinamice care particularizeaz
comportamentul funciei criptografice.
5. Un sistem criptografic pentru transmiterea/recepia informaiei se compune din:
a. Bloc de criptare i bloc de decriptare cu chei criptografice diferite;
b. Bloc de criptare i bloc de decriptare fr chei criptografice;
c. Bloc de criptare i bloc de decriptare cu chei criptografice identice;
d. Bloc de criptare cu dou chei criptografice diferite.
6. Decriptarea reprezint:
a. Operaia efectuat de ctre un intrus pentru a descoperi mesajul clar dintr-un text
criptat;
b. Operaia efectuat de ctre destinatar pentru a extrage mesajul clar dintr-un text
criptat recepionat;

CRIPTOGRAFIE
c. Operaia efectuat de ctre un intrus i/sau destinatar pentru a descoperi mesajul
clar dintr-un text criptat;
7. Domeniul de tiin al criptologiei are urmtoarele laturi:
a. Criptografia;
b. Steganografia;
c. Criptanaliza;
d. Steganaliza.
8. Criptanaliza reprezint:
a. Prelucrarea informaiei efectuat de ctre destinatar pentru a extrage mesajul clar
dintr-un text criptat recepionat;
b. Ansamblul de prelucrri matematice i statistice efectuate de ctre un interceptor
neautorizat pentru a descoperi mesajul clar dintr-un text criptat;
c. Interpretri bazate pe analize empirice i/sau tiinifice, efectuate de ctre un
interceptor neautorizat, pentru a descoperi mesajul clar dintr-un text criptat.
9. Tehnici criptografice recomandate de Claude Shannon pentru optimizarea algoritmilor
moderni:
a. Tehnica compresiei;
b. Tehnica confuziei;
c. Tehnica difuziei;
d. Tehnica propagrii erorii criptografice.
10. n funcie de complexitatea mainilor criptografice acestea pot fi clasificate in:
a. Monoalfabetice;
b. Polialfabetice simple;
c. Polialfabetice cu autocifrare;
d. Polialfabetice complexe.
11. Cel mai important parametru caracteristic pentru complexitatea mainilor criptografice
este:
a. Viteza de transfer a informaiei;
b. Timpul de acoperire;
c. Numrul de alfabete utilizate;
d. Mrimea cheii criptografice.
12. Dimensiunea cheii criptografice determina:
a. Mulimea cheilor utilizabile posibile;
b. Viteza de decriptare;
c. Complexitatea sistemului criptografic;
2

CRIPTOGRAFIE
d. Timpul de acoperire al sistemului criptografic.
13. Reuita unui atac criptanalitic este influenata de:
a. Experiena criptanalistului;
b. Lungimea canalului de transmitere a informaiei;
c. Mijloacele tehnice de care dispune;
d. Volumul de text cifrat aflat la dispoziia criptanalistului.
14. Cel mai vechi dispozitiv criptografic, datnd din timpul rzboaielor spartane a fost:
a. Trifidul lui Delastelle;
b. Skytala;
c. Alfabetul lui Collon;
d. Cilindrul Bazaries.
15. Maina Enigma este o main criptografic:
a. Polialfabetic simpl;
b. Polialfabetic cu autocifrare;
c. Polialfabetic complex;
d. Polialfabetic cu autocheie.
16. Metoda de cifrare Vernam se bazeaz pe:
a. Funcii neliniare;
b. Aplicarea principiilor de difuzie i confuzie ;
c. Sumarea modulo 2, bit cu bit, a textului n clar cu cheia de cifrare;
d. Operaii polialfabetice complexe.
17. Un adversar a obinut, n urma unei interceptri radio, urmtorul text cifrat WULPLWH
DUPDWD. Pe baza unui atac de criptanaliz prin for brut (Cifrul Caesar alfabet 26
de caractere), adversarul va obine urmtorul text clar:
a. ATACATI IN FLANC;
b. FOLOSITI REZERVA;
c. TRIMITE ARMATA;
d. RETRAGE ARMATA.
18. Presupunem c Alice dorete s transmit lui Bob mesajul TRIMIT AJUTOR, folosind
un canal de comunicaie nesigur. Att ea ct i Bob au obinut printr-o metod
necunoscut o cheie de cifrare generat aleator i anume: AFVKGHOPERTS. Pentru a
cifra mesajul, Alice va utiliza cifrul VERNAM cu operaii mod 26. n urma operaiei de
cifrare mesajul primit de Bob va fi:
a. KFDDSJSKLCBNDA;
b. AWEDKFODOESOE;
c. TWDWOAOYOKHJ;
3

CRIPTOGRAFIE
d. JCVSKFEOJNFEEFK.
19. Sistemul Jammet realizat de Jammet Onde Electrique n anul 1926, este:
a. Analog sistemului Vernam bazndu-se ns pe alfabetul MORSE;
b. Derivat din maina de cifrat ENIGMA;
c. Inspirat din sistemul Belin de cifrare a imaginilor;
d. Este un sistem de codare.

20. Managementul cheilor de cifrare este un proces complex care const n:


a. Generarea, distribuia, utilizarea i distrugerea cheilor de cifrare;
b. Folosirea canalului nesigur pentru transmiterea cheilor de cifrare;
c. Transmiterea pe INTERNET a cheilor de cifrare;
d. Instalarea echipamentelor de cifrare.

21. Distribuia manual a cheilor de cifrare presupune:


a. Transmiterea electronic n clar a acestora ;
b. Distribuia cheilor, sub form tiprit, pe canale publice (dac sunt cifrate) sau pe
canale private (cu grad maxim de siguran);
c. Folosirea serviciilor de e-mail publice;
d. Compresarea acestora.

22. ntr-un sistem de cifrare se poate utiliza, n principiu, o combinaie complex de chei de
cifrare, astfel:
a. Cheie de cifrare elementar (de structur), cheie secundar (care particularizeaz
algoritmul de cifrare) i cheie de lucru, toate obinute cu ajutorul unui generator
aleator de zgomot;
b. Nu se folosesc chei de cifrare;
c. Cheile de cifrare sunt generate prin nsumarea unor factori constani cunoscui;
d. Cheile de cifrare sunt generate de algoritmul de cifrare.

23. Definiia dat de Shannon pentru un sistem de cifrare este:


a. Un sistem de cifrare realizeaz o compresie a sursei de date:
b. Un sistem de cifrare folosete chei de cifrare pentru compresia sursei de date;
c. Un sistem de cifrare este o familie T de transformri inversabile, dintr-o mulime
de mesaje M ntr-o mulime de criptograme C;
d. Un sistem de cifrare folosete algoritmul Shannon-Fano pentru realizarea
operaiunii de cifrare.
4

CRIPTOGRAFIE

24. n scopul evalurii securitii unui sistem de cifrare, precizai care din urmtoarele
enunuri este o condiie fundamental:
a. Criptanalistul are cunotine complete despre sistemul de cifrare, a acumulat un
volum considerabil de text cifrat i are la dispoziie un anumit volum de text clar
i echivalentul su cifrat;
b. Criptanalistul cunoate o parte din cheile de cifrare ale sistemului;
c. Criptanalistul cunoate modul de funcionare a mainii de cifrat analizate;
d. Criptanalistul cunoate sistemul de cifrare i cheile utilizate.
25. Un sistem secret cu acoperire unic (cifru cu cheie unic sau cifru Vernam) se bazeaz:
a. pe tehnica confuziei;
b. pe tehnica difuziei;
c. pe tehnica confuziei i pe tehnica difuziei;
d. pe utilizarea de funcii neliniare.
26. Care din urmtoarele enunuri nu este principiu care s stea la baza construciei unui
sistem de cifrare:
a. Mrimea cheii de cifrare;
b. Simplitatea operaiunilor de cifrare i descifrare;
c. Minimizarea cheii de cifrare;
d. Cantitatea de secretizare oferit.
27. Un sistem de cifrare este strict ideal dac:
a. H(X/C)>H(K);
b. H(X/C)<H(K);
c. H(X/C)<=H(K);
d. H(X/C)=H(K).
28. Testul spectral se bazeaz pe:
a. testele de bit seriale;
b. probabilitile de apariie a unor secvene constante;
c. tehnica transformrilor Fourier aplicate funciilor de variabile ntregi, transformri
care permit scoaterea n eviden a caracterului aleator al unei secvene de numere
ntregi;
d. Analiza factorilor constani din succesiunile pseudoaleatoare.
29. Dac notm cu n0 numrul de bii de 0 i cu n1 numrul de bii de 1 dintr-o
succesiune de bii, atunci, conform testului de frecven, pentru a avea o succesiune
aleatoare, este necesar ca:
a. n0 n1;
b. n0 <n1;
c. n0 >n1;
d. n0 <<n1;
5

CRIPTOGRAFIE

30. n teoria criptanalizei, prin spargerea unui sistem de cifrare S se nelege:


a. evidenierea textelor clare pe baza analizelor criptogramelor realizate prin
intermediul lui S, fr a avea cunotine despre cheia folosit, dar cunoscnd
sistemul utilizat;
b. evidenierea textelor clare pe baza analizelor criptogramelor realizate prin
intermediul lui S, fr a avea cunotine despre sistemul utilizat i cheia folosit;
c. evidenierea textelor clare pe baza analizelor criptogramelor realizate prin
intermediul lui S, fr a avea cunotine despre sistemul utilizat, dar cunoscnd
cheia folosit;
d. evidenierea textelor clare pe baza analizelor criptogramelor realizate prin
intermediul lui S, avnd cunotine despre sistemul utilizat i cheia folosit.
31. ntr-un sistem secret, informaia este complet ascuns atunci cnd:
a.
b.
c.
.
32. Prin tehnica confuziei , utilizat la proiectarea algoritmilor de cifrare, se urmrete:
a. Corelarea ct mai complex ntre criptogram i cheie;
b. Corelarea ct mai complex ntre mesajul n clar i cheie;
c. Corelarea ct mai complex ntre mesajul n clar i criptogram.
33. Care dintre afirmaiile de mai jos nu reprezint un criteriu de aleatorism propus de
Golomb:
a. Dac p este par atunci secvena de lungime p va avea p/2 bii de valoare 0 i p/2
bii de valoarea 1. Dac p este impar, atunci numrul de zerouri si numrul de
cifre unu difer printr-o unitate;
b. ntr-o secven de lungime p, jumtate din numrul seriilor va avea lungimea 1,
1/4 va avea lungimea 2,...,1/ 2k din numrul seriilor va avea lungimea k;
c. Autocorelaia defazat nu este constant.
34. Pentru evaluarea caracteristicilor aleatoare a unui ir de numere, testul spectral se
bazeaz pe:
a. Tehnica transformrilor Fourier:
b. Tehnica evalurii numrului de apariii a biilor de 0 i de 1;
c. Tehnica transformrilor complexe.
35. n criptanaliz, cuvintele probabile sunt:
a. Cuvinte care pot fi ntlnite ntr-un mesaj, ca urmare a faptului c sunt
caracteristice pentru sursa respectiv;
b. Litere i cifre care apar n mod pseudoaleator;
c. Mesaje informaionale care au probabilitate de apariie de 0.5.

CRIPTOGRAFIE

36. Testul SERIAL este utilizat pentru:


a. Analiza probabilitilor de tranziie dintre dou cifre binare succesive din ir, care
pot fi aceleai sau foarte apropiate;
b. Verificarea dependenei fiecrui simbol de predecesorul su;
c. Seriile de cate doua simboluri din cadrul irului sunt independente de
predecesoarele acestora.
37. In cadrul sistemului Vernam codificarea cheilor si ale textului clar se realizeaz cu codul:
a. Baudot;
b. Morse;
c. Baudot i Morse.
38. Metodele de generare ale cheilor criptografice sunt:
a. Metode algebrice;
b. Metode aritmetice;
c. Metode bazate pe teoria haosului;
d. Metode empirice;
e. Metode bazate pe fenomene fizice.
39. Care dintre urmtoarele sisteme criptografice sunt sisteme tomogramice:
a. Jammet
b. Belin
c. Bazaries
d. Vernam
40. Sistemele hardware de generare a irurilor pseudoaleatoare pot fi bazate pe:
a. Scheme secveniale liniare;
b. Registre de deplasare;
c. Generatoare haotice;
d. Scheme secveniale neliniare.
41. Cifrurile tomogramice au la baz tehnici care urmresc:
a. Fracionarea cuvintelor din textul clar;
b. Fracionarea literelor din textul clar;
c. Fracionarea literelor din textul criptat;
d. Fracionarea textului clar n propoziii simple cu sens.
42. Care din urmtoarele tehnici de prelucrare informaional nu sunt cifruri tomogramice:
a. Alfabetul Baudot;
b. Sistemul Vernam;
c. Cifrul lui Cezar;
d. Codul Morse.

CRIPTOGRAFIE

43. Semntura digital are la baz urmtoarele tehnici:


a. Criptarea asimetric;
b. Criptarea simetric;
c. Digitizarea semnturii olografe;
d. Reproducerea semnturii olografe pe documentele electronice.
44. Care dintre urmtoarele enunuri fac parte din setul de condiii (principii) enunate de
Claude Shannon cu privire la realizarea sistemelor criptografice:
a. Cantitatea de secret conferit mesajului criptat;
b. Nerepudierea mesajelor;
c. Optimizarea mrimii cheilor criptografice;
d. Evitarea propagrii erorilor in textul criptat.
45. Metodele de criptare aplicate mesajelor pot fi:
a. Metode criptografice simetrice;
b. Metode criptografice asimetrice;
c. Metode criptografice bazate pe chei aleatoare;
d. Metode criptografice bazate pe funcii de permutare .
46. Un sistem informaional binar echiprobabil are entropia egal cu :
a. 1 bit / eveniment;
b. 0 bit / eveniment;
c. 2 bit / eveniment;
d. 1/2 bit / eveniment.
47. Entropia unui sistem informaional poate fi:
a. Nul;
b. Pozitiv;
c. Strict pozitiv;
d. Negativ.
48. Timpul de acoperire al unui sistem criptografic este:
a. Timpul de valabilitate al sistemului de chei;
b. Timpul in care un sistem criptografic poate fi considerat sigur;
c. Timpul necesar pentru a fi decriptat un mesaj;
d. Timpul in care se realizeaz criptarea mesajelor.
49. Tehnica codificrii redundante este:
a. Tehnic criptografic;
b. Tehnic de compresie a surselor informaionale;
8

CRIPTOGRAFIE
c. Tehnic de protecie la erori a canalelor cu perturbaii;
d. Tehnic de protecie la erori a canalelor fr perturbaii.
50. Codificarea neuniform este utilizat ca:
a.
b.
c.
d.

Tehnic criptografic;
Tehnic de compresie a surselor informaionale;
Tehnic de protecie la erori a canalelor cu perturbaii;
Tehnic de protecie la erori a canalelor fr perturbaii.

UNIVERSITATEA TITU MAIORESCU


FACULTATEA DE INFORMATIC

MODELE NTREBRI EXAMEN LICEN

MODULUL 4
Tehnologii web i comer electronic

UNIVERSITATEA TITU MAIORESCU


FACULTATEA DE INFORMATIC

MODELE NTREBRI EXAMEN LICEN


Disciplina Tehnologii web

TEHNOLOGII WEB
1.
a.
b.
c.
d.

Care este rolul tagului <keygen> din HTML 5?


marcheaz text evideniat;
marcheaz un grup de elemente care au legatura unul cu cellalt;
marcheaz un cod generat automat ntr-un formular;
marcheaz diferite tipuri de rezultate ale unui script oarecare ;

2. Care sunt atribute pentru tagul input din HTML 5?


a. accept;
b. autocomplete;
c. day_time ;
d. form_action;
3. Atributul name este utilizat pentru tagurile?
a. linked, textarea, select;
b. form_name, table, a, img;
c. input, area, a, iframe, name;
d. form, input, frame, a ;
4. Care din urmtoarele taguri sunt definite correct?
a. <link rel=stylesheet type=text/css href=exemplu.css /> ;
b. <?xml-stylesheet href=exemplu.css type=text/css?>;
c. <area shape=polygon coords=50,350,150,350,100,250,300 href=test.html >;
d. <area shape=circle coords=100,100,30 href=cv.html target=_blank>;
5. Primul fiier imagine ncrcat ntr-o pagin html poate fi schimbat cu un alt fiier
daca se utilizeaz:
a. window.images[1].src=poza.jpg;
b. document.status.images[1].src=poza.jpg;
c. document.images[1].src=poza.jpg;
d. document.images[0].src=poza.jpg;
6. Imaginea de fundal a unei pagini Web se stabilete astfel?
a. <img background=p.gif>;
b. <body background=image/imagine.gif>;
c. <body bgcolor=p.gif>;
d. <body background-image=image/imagine.gif>;
7. Dimensionarea unei imagini se realizeaz folosind urmatoarele atribute ale tag -ului
<img>?
a. width i align;
b. align i height;
c. width i height;
d. width, height i size;
8. Care din urmtoarele afirmaii sunt adevrate?
a. Atributul href se poate asocia etichetei a;
b. Atributul padding_cell aparine etichetei <table> i seteaz distana dintre celulele
tabelului;
c. &nbsp; - introduce un spaiu;
d. Atributul ACTION al marcajului FORM stabilete adresa fiierului la care sunt
trimise datele dintr-un formular;

9. Transmiterea datelor dintr-un formular ctre un fiier de pe server, se realizeaz?


a. <input type=reset value=trimite>;
b. <input type=button value=trimite> ;
c. <input type=submit value=apasa> ;
d. <input name=submit value=transmite>;
10. Pentru a trimite valoarea html cu ajutorul unei casete de validare checkbox se
folosete:
a. <input type=checkbox name=c />html ;
b. <input type=checkbox value=html name=c checked />trimite ;
c. <input value=html/>html ;
d. <input type=checkbox value=html name=value_html checked />html;
11. O clas de stiluri se apeleaz prin?
a. <DIV ID=nume_clasa>
b. <DIV CLASS=nume_clasa>
c. <DIV STYLE=nume-clasa>
d. clasa_stil {........}
12. Cum se definete un stil care afieaz textul de mrime 10pt i culoare alb ?
a. .stil {font-size:10pt; color: white;}
b. #stil {text-size:10px; color: green;}
c. #stil {font-size:10pt; color: #FFFFFF;}
d. .stil {font-size:10px; color: #000000;}
13. Care afirmaii sunt adevrate?
a. Un script JavaScript poate fi introdus n interiorul marcajelor <script></script>
b. Functiile JavaScript definite de utilizator pot fi i ntr-un fiier cu extensia .js
c. O clasa de stiluri este definita corect astfel:
#clasa {color:#ab1121;background-image:url(poza.gif);text-decoration:overline;}
d. <link rel=stylesheet type=text/css href=exemplu.css />
14. Care este rezultatul urmatoarei secvene din JavaScript "1" + 2 + 4 ?
a. 124
b. "124"
c. "1" i 24
d. "1" i 6
15. n Javascript obiectul Date se creeaz?
a. data = new Array();
b. data = new Object();
c. data = new Date();
d. Date= new data();
16. n Javascript numrul zilei din lun se extrage apelnd metoda?
a. getDate()
b. getDay()
c. getMonth()
d. setDay()
17. Metodele i proprietile obiectului String in JavaString sunt:

a.
b.
c.
d.

substr()
replace()
length_string()
charCodeAtCh()

18. Alegei evenimente din Javascript?


a. OnKeyDown
b. OnErrorFocus
c. onLoad
d. onUnload
19. Care sunt metodele i proprietile pentru obiectul window din Javascript ?
a. open()
b. status
c. alert()
d. write()
20. Tipurile de date utilizate n PHP sunt?
a. String
b. Array
c. Null
d. Data
21. Care din urmtoarele afirmaii sunt adevrate?
a. $GLOBALS cuprinde referine spre orice variabil global care este accesibil scriptului
PHP curent;
b. $_SERVER conine o serie de variabile ale cror valori sunt setate de server-ul web.
c. $_COOKIE conine valorile variabilelor care cuprind informaii referitoare la cookie-urile
pstrate pe calculatorul utilizatorului care acceseaz pagina web.
d. $_SESSION cuprinde variabile disponibile prin intermediul oricrui tip de mecanism cu
ajutorul cruia utilizatorul poate introduce date.
22. Ca va afisa scriptul PHP:
<?php
$i = 5.7;
echo $i."<br />";
$i = sprintf("%05.2f", $i);
echo $i;
?>
a) 5.7;05.70
b) 5.7
05.70
c) 5.70
05.7
d) 5.7 05.7
23. Care funcii PHP acioneaz asupra fiierelor?
a. fgetc() ;
b. is_file() ;
c. filesize();
d. close_is();

24.
a.
b.
c.
d.

Menionai metodele care nu fac parte din obiectul String pentru JavaScript?
toLowerCase();
setTimeout();
focus();
strike();

25.
a.
b.
c.
d.

Un document XML:
este o colecie de entiti;
trebuie s fie construit corect;
nu este colecie de date;
nu este sensibil la tipul literelor;

26. DTD-ul (Document Type Definition) conine:


a. numele efectiv al elementelor;
b. regulile utilizate pentru a determina care elemente se pot imbrica n alte elemente;
c. structura documentului mpreuna cu lista elementelor permise.
d. codificrile de limb utilizate n document;
27 .O schema XML se genereaz dintr-o schem relaional astfel:
a. pentru fiecare tabel se genereaz un tip de element;
b. pentru fiecare coloan se adaug la model un atribut la tipul elementului sau un
element descendent ce conine numai PCDATA;
c. pentru fiecare element se ataseaza o baza de date;
d. Nu se pot defini scheme XML decat dac se utilizeaz i PHP-ul;
28. Ce rol are argumnetul secure (sigur) pentru funcia setcookie() din PHP?
a. indic dac o variabil cookie trebuie trimis prin intermediul unei conexiuni HTTP;
b. indic dac o variabil cookie trebuie trimis prin intermediul unei conexiuni sigure
(HTTPS);
c. permite identificarea numelui de domeniu asociat, daca conexiunea nu este sigura;
d. variabila cookie este disponibil indiferent de tipul de conexiune utilizat;
29. Cum se definete o constanta n PHP?
a. prin directiva define();
b. cu ajutorul cuvantului cheie const;
c. cu ajutorul cuvintelor cheie var const;
d. cu ajutorul cuvantului static;
30. Cum poate fi accesat coninutul unei casete de text dintr-un formular, folosind
JavaScript?
a.
b.
c.
d.

nume_formular.nume_camp.value
nume_camp.nume_formular.value()
value().nume_formular.nume_camp
value.nume_camp.nume_forumar

31. Care este sintaxa corect Javascript pentru a scrie "Hello World"?
a. document.write("Hello World ");
b. alert.write("Hello World");
c. window.write("hello world");
d. document.write(a= Hello World ");

32. Cum se scrie "Hello World" ntr-o fereastra alert?


a. alertBox="Hello World";
b. alert=("Hello World");
c. msgBox("Hello World");
d. alert("Hello World");
33. Cum se scrie "Hello World" n PHP?
a. Document.Write("Hello World");
b. document.write("Hello World");
c. echo "Hello World";
d. $mes="Hello World";echo $mes;
34. Variabilele n PHP ncep cu:
a. $
b. &
c. !
d. ?php
35. Care este sintaxa unei reguli CSS?
a. selector {proprietate : valoare;}
b. selector(proprietate, valoare)
c. selector.proprietate = valoare;
d. selector(proprietate) = valoare;
36. Ce nseamn PHP?
a. Private Hypertext Processor;
b. PHP: Hypertext Preprocessor;
c. Private Home Page;
d. Personal Home Page;
37. Care este modul corect pentru a ne conecta la o baz de date MySQL prin PHP?
a. mysql_open("localhost",user,parola);
b. connect_mysql("localhost",user,parola);
c. mysql_connect("localhost",user,parola);
d. dbconnetc("localhost");
38. Care este modul corect de a aduga 1 la varibila $numara?
a. $numara =+1;
b. ++numara;
c. $numara++;
d. numara++;
39. Alegei varianta corect pentru definirea unei funcii Javascript:
a. function suma nr() {.}
b. function suma_nr(){.}
c. suma_nr();
d. function suma_nr { ... };

40. Care afirmatii sunt adevarate?


a. XML-ul nu este un limbaj de programare;
b. Sunt compilatoare XML care sa citeasca/scrie/actualizeze un document XML
c. XML nu este un protocol pentru transmiterea datelor in retea;
d. Un document XML poate fi citit de orice parser.
41. Pentru a introduce un fiier RSS n paginile unui site trebuie specificat n partea
de HEAD a documentului web o linie de forma:
a. <link rel="alternate" type="application/rss+xml" title="RSS" href="http://cale.. " />
b. <link rel= type=text/rss href=exemplu.css />
c. <?xml-stylesheet href=exemplu.css type=text/css? />
d. <link rel=" stylesheet/alternate" type="application/rss_xml" title="RSS"
href="http://cale.. " .>
42. Care este rolul butonului submit pentru codul de mai jos?
<form action="test.php" method="post">
Introduceti numele : <input type="text" name="n" /><br />
<input type="submit" value="Trimite" />
</form>
a. Transmite la server variabila n din formular cu metoda implicita;
b. Transmite la fiierul test.php de pe server continutul variabilei n;
c. Transmite cu metoda post, la fiierul test.php de pe server coninutul variabilei n i
readuce formularul la starea initiala;
d. Transmite cu metoda implicita post, la fiierul test.php de pe server, coninutul
variabilei n i readuce formularul la starea initiala;
43. Proprietatea checked ataat unui element radio dintr-un formular are ca efect?
a. Bifarea implicit a respectivului element radio;
b. Nu exist acest atribut;
c. Trebuie ataat obligatoriu la toate elementele radio din acelai grup;
d. Se folosete doar pentru elemente de tip checkbox;
44. Un fiier script.js este folosit ntr-un document html astfel:
a. <script type=text/javascript src=script.js></script>
b. <script href=text/javascript src=script.js></script>
c. <script type=text/javascript link=script.js></script>
d. < script rel=text/javascript link=script.js></script>
45. Care sunt atribute etichetei <textarea>?
a. cols - specifica numrul de caractere afiate ntr-o linie;
b. rows - specifica numrul de linii afiate simultan;
c. nume - permite ataarea unui nume cmpului de editare multilinie;
d. text-wrap - determin comportamentul cmpului de editare fa de sfritul de linie.
46.Care afirmaii sunt adevarate cu privire la tratarea evenimentelor in JavaScript?
a. OnFocurError actiune care permite oprirea ncarcrii unei imagini
b. OnFocus - actiune ce va fi declansat de focalizarea asupra unui element.
c. OnLoad actiune ce va fi declansat la incrcarea unui document.
d. OnBlurLoad - actiune prin care elementul primete focus
47. Ce rol are functia explode($separator, $ir) n PHP?

a. preia valorile din variabila $sir n care acestea sunt delimitate prin variabila
$separator i le plaseaz ntr-un tablou/vector;
b. preia valorile dintr-un vector i le reunete ntr-un ir;
c. afiseaza de cate ori apare variabila $separator n variabila $sir;
d. Concateneaza variabilele $separator i $ir;
48. Care afirmatii sunt adevarate pentru folosirea imaginii SVG(Scalable Vector
Graphics) n HTML 5:
a) Imaginile nu pot fi create cu editoare text;
b) Imaginile pot fi indexate n motoarele de cutare;
c) Imaginile pot fi scalabile sau comprimate;
d) Imaginile pot fi printate la orice rezoluie fr s se piard din calitate;
49. Ce rol au tagurile enumerate mai jos, n HTML5?
a) <audio> - specific un fiier audio;
b) <command> - specific o comand pe care un utilizator o poate invoca;
c) <datalistno> - specific o list creat dinamic;
d) <embed> - specific coninut extern;

50. Pentru a obine n Internet Explorer fereasta de mai jos, care este secventa de cod
utilizata?

a. <script type="text/javascript">
test = window.confirm("Continuam?");
if (test) {window.alert("Corect"); } else {window.alert("Incorect");}
</script>
b. <script type="text/javascript">
test = window.alert("Continuam?");
if (test) window.confirm("Corect"); else window.alert("Incorect");
</script>
c. <script>
test = window.alert("Continuam?");
if (test) window.confirm("Corect"); else window.confirm("Incorect");
</script>
d. <script>
test = confirm("Alege);
if (test) window.confirm("Continuam"); else window.confirm("Incorect");
</script>
51. Ca va afisa scriptul PHP ?
<?php
$a = array(1=>"elem 1", 2=>"elem 1",3=>"elem 1"); foreach ($a as $index => $mesaj)
{ echo "<br />$index =>$mesaj";}
?>

a.
1=elem 1
2=elem 2
3=elem 3
b.
1 =>elem 1
2 =>elem 1
3 =>elem 1
c.
1=elem 1
2=elem 1
3=elem 1
d.
1 =>elem 1
1 =>elem 1
1 =>elem 1
52. Ca va afisa scriptul PHP ?
<?php
$sir = "WEB, GRAFICA, PROGRAMARE C++, JAVA";
$matrice = explode(", ",$sir);
foreach($matrice as $key=>$nume) { echo $nume."<br />"; }
?>
a.
WEB
GRAFICA
PROGRAMARE C++
JAVA
b.
WEB GRAFICA PROGRAMARE C++ JAVA
c.
WEB, GRAFICA, PROGRAMARE C++, JAVA
d.
WEB,
GRAFICA,
PROGRAMARE C++,
JAVA
53. Ca va afisa scriptul PHP ?
<?php
$matrice = array("WEB", "GRAFICA", "PROGRAMARE C++", "JAVA");
sort($matrice);
$sir = implode(", ",$matrice);
echo "Cursuri: ".$sir;
?>
a. Cursuri: WEB", "GRAFICA", "PROGRAMARE C++", "JAVA
b. Cursuri: WEB, GRAFICA, PROGRAMARE C++, JAVA
c.
Cursuri: WEB
GRAFICA
PROGRAMARE C++
JAVA

d. Cursuri: GRAFICA, JAVA, PROGRAMARE C++, WEB


54. Ca va afisa scriptul PHP ?
<?php
function arie_dr($lungime, $latime) {
return $lungime * $latime;
}
$rezultat = arie_dr(2,3);
echo "L*l =" .$rezultat;
?>
a)
b)
c)
d)

L*l =6
=6
adrie_dr(2,3)=6
"L*l =" .$rezultat;
55. Menionai metodele care fac parte din obiectul String pentru JavaScript?
a)
b)
c)
d)

toLowerCase();
setTimeout();
focus();
strike();

UNIVERSITATEA TITU MAIORESCU


FACULTATEA DE INFORMATIC

MODELE NTREBRI EXAMEN LICEN


Disciplina Comert electronic

COMERT ELECTRONIC

1. Testarea site-urilor de comert electronic se poate face cu aplicatia software:


a) eValid
b) Rational SiteCheck
c) SilkPerformer
d) LoadRunner
e) toate
2. Cardurile bancare nu contin:
a) Numele emitentului, numarul cardului, perioada de valabilitate, numele posesoruluiinscriptionate pe avers prin tiparire, gofrare sau gravare cu laser
b) Sigla emitentului, holograma de securitate, logo-ul organizatiei, pe avers
c) Suma de bani aflata in contul posesorului
d) Banda magnetica si/sau smart card
3. Mecanismele de baza ale comertului electronic sunt:
a) C2C
b) B2C
c) B2B
d) toate
4. Conform Legii comertului electronic din Romania, falsificarea instrumentelor de plata
electronica se pedepseste cu:
a) in lege nu sunt prevazute sanctiuni
b) cu inchisoare de la 3 la 12 ani si interzicerea unor drepturi
c) cu amenda contraventionala sau inchisoare de la 1 la 2 ani
d) tentativa se pedepseste
5. Proiectarea, implementarea si dezvoltarea unui site de comert electronic se poate face
folosind aplicatia software:
a) Pay Pal
b) IBM BMP Suite
c) MOODLE
d) OsCommerce
6. Care din urmatoarele enunturi referitoare la comertul electronic este fals:
a) eBay.com este cel mai mare magazin de comert electronic la nivel mondial
b) Skimming-ul si phishing-ul utilizate in fraude cu carduri bancare si furt de identitate
reprezinta infractiuni criminale informatice
c) Protocolul SET (Secure Electronic Transaction) reprezinta un pachet de specificatii de
securitate si de formate, dezvoltat de Visa si MasterCard, care permit utilizatorilor sa
efectueze plati electronice cu cardurile bancare in Internet
d) E-commerce (comertul electronic) reprezinta o strategie moderna in ceea ce priveste
modul de a face afaceri, cea mai importanta componenta a sa fiind E-business (alaceri
electronice)
7. Conform legislatiei nationale in vigoare, consumatorul are dreptul de a denunta unilateral
contractul la distanta, fara penalitati si fara invocarea vreunui motiv in timp de:
a) 30 de zile calendaristice de la semnare
b) 15 zile lucratoare de la semnare
c) 10 zile lucratoare de la semnare, daca comerciantul a specificat conditiile de denuntare
unilaterala a contractului incheiat la distanta
d) 90 de zile de la semnarea contractului incheiat la distanta

COMERT ELECTRONIC

8. Arhitectura Java Card nu contine nivelul:


a) Cardlet-uri (applet-uri), aplicatii care sunt incarcate in card printr-un incarcator standard
(de exemplu, EZ Formatter);
b) Masina Virtuala Java, inclusa in card, care este un interpretor care translateaza codul
Java in instructiuni ale microprocesorului
c) Sesiune de prezentare, nivel intermediar intre Cardlet-uri si Masina Virtuala Java
d) Sistemul de operare GPOS- General Purpose Operating System
9. Sistemul electronic de transfer de fonduri (EFT-Electronic Found Transfer) reprezinta:
a) ansamblul dispozitivelor si procedeelor speciale care asigura deplasarea fluxurilor
monetare de la platitor la beneficiar intr-un mediu exclusiv electronic
b) un protocol de comunicatie intre POS (Point Of Sales) si ATM (Automatic Teller Machine)
c) o instructiune comuna la nivel mondial pentru sistemele bancare
d) nici unul
10. Operatiunile cu carduri bancare cuprind urmatoarele etape:
a) emiterea cardurilor
b) acceptarea cardurilor
c) distrugerea cardurilor
d) toate
11. Dupa modul de stocare a caracteristicilor de securitate cardurile se impart in:
a) carduri cu banda magnetica - care contin pe 3 piste ce memoreaza informatii criptate
despre utilizator, emitent, algoritmul de codare etc;
b) carduri cu microprocesor smart-carduri- avand stocate in chip datele de securitate si
permitand functionarea ca portofel electronic
c) carduri de debit - care asigura utilizatorului achizitionarea de bunuri si servicii sau retrageri
de numerar, cu conditia prezervarii unor fonduri intr-un cont de card, si efectuarea de
cheltuieli in limita soldului disponibil
d) numai a) si b)
12. Protocolul SET (Secure Electronic Transaction) DVLJXUurmatoarele:
a) uQFDQDOVHFXUL]DWvQWUHWRDWHSUtile LPSOLFDWHvQWU-o tranzactie
b) iPEXQWtirea secretului tranzactiilor; informatLD HVWH DFFHVLELO SUtilor unei tranzactii
QXPDLvQPVXUDvQFDUHHVWHQHFHVDU
c) autentificarea participantilor la tranzactii prin folosirea certificatelor digitale
d) toate
13. In domeniul educatiei de tip e-learning, parte componenta a e-business, se poate
implementa si utiliza platforma opensource:
a) Zen Cart
b) OSCommerce
c) MOODLE
d) IBM WebSphere

14. Care din urmatoarele enunturi este fals referitor la dezavantajele utilizarii e-commerce:
a) aspectele privind securitatea comertului electronic cea mai complexa problema
b) acceptarea noilor modalitati de plata (bani electronici/digitali)
c) intermediarii pot fi eliminati din lantul de aprovizionare
d) existenta unui cadrul legal si normativ unitar la nivel global: cadrul fiscal, drepturile asupra
proprietatii, protectia datelor consumatorului

COMERT ELECTRONIC

15. Care dintre urmatoarele enunturi reprezinta componente ale e-business:


a) CRM Customer Relationship Management
b) SCM Supply Chain Management
c) ERP Enterprise Resource Planning
d) toate
16. Un sistem electronic cu microplati permite efectuare de plati electronice cu valori de pana
la:
a) 1 euro
b) 10 euro
c) 100 euro
d) 1000 euro
17. Care din urmatoarele modele nu este specific pentru e-commerce:
a) Modelul Paul Timmers
b) Modelul David Kosiur
c) Modelul Willian Stallings
d) Modelul Michael Rappa
18. Modelul David Kosiur prezinta cinci procese de baza care au loc in cadrul comertului
electronic. Aceste procese sunt:
a) distribuirea informatiilor, lansarea comenzilor, plata, onorarea comenzilor, service-ul si
asistenta
b) ofertarea, plata, onorarea comenzilor, service-ul si asistenta, postgarantie
c) stabilirea pretului, lansarea produselor, plata, distribuitia, receptia
d) distribuirea informatiilor, stabilirea pretului, livrarea, receptia, service-ul si asistenta
19. Care din elementele enumerate nu este specific unui sistem de comert electronic:
a) serverele organizatiei care ofera servicii on-line accesibile prin Internet
b) clientii (persoane fizice sau juridice) care se conecteaza la server folosind diverse tipuri de
dispozitive
c) conturile bancare ale participantilor la care sunt asociate carduri bancare (credit, debit)
d) tranzactiile - raportate la bunurile si serviciile cumparate
20. In cadrul unui sistem de comert electronic o protectie adecvata trebuie acordata
consumatorului, protectie care se refera la mai multe aspecte. Care dintre aspectele
enumerate este fals?
a) interzicerea publicitatii inselatoare
b) interzicerea promovarii produselor
c) reglementarea serviciilor financiare
d) reguli privind raspunderea referitoare la produsele necorespunzatoare
21. Care din urmatoarele enunturi nu este un sistem de microplata electronica:
a) Cybercoin (proiect CyberCash)
b) Euro-MicroPayment (proiect UE)
c) Millicent (proiect Digital)
d) Micro-Payment (proiect Consortiul W3)
22. Care din urmatoarele protocoale este specific este specific pentru tranzactiile electronice:
a) FTP
b) ARP
c) STP
d) iKP

COMERT ELECTRONIC

23. Conform protocolului 3KP toti participantii la o tranzactie electronica trebuie sa posede:
a) bani in cont pentru a face tranzactia
b) certificat digital cu cheia sa publica, precum si cheia privata
c) doar un certificat digital
d) canale de comunicatie securizate peste Internet
24. Atacurile informatice de tip pharming vizeaza compromiterea:
a) serverelor de email
b) serverelor de DHCP
c) serverelor de Active Directory/Controler de domeniu
d) serverelor de DNS
25. Un sistem electronic de plati poate fi definit ca un ansamblu de tranzactii generate de:
a) conversia banilor numerar in bani electronici si invers
b) verificarea conturilor bancare asociate cumparatorului sau vanzatorului
c) schimbul de mesaje criptate si semnate electronic intre participanti (vanzator, cumparator,
banci)
d) operatiile bancare rezultate pe durata efectuarii tranzactiilor electronice
26. Care dintre enunturile de mai jos nu constituie o infractiune cu carti de credit:
a) SKIMMING
b) PIMMING
c) PHARMING
d) PHISING
27. Infrastructura de comunicatii a unei organizatii care realizeaza comert electronic trebuie
sa contina urmatoarele doua elemente de baza:
a) e-commerce front-end
b) e-commerce back-end
c) componente middleware
d) toate
28. Ce etape implica realizarea unui site Web de comert electronic:
a) analiza si planificarea site-ului
b) proiectarea si testarea site-ului
c) implementarea si promovarea
d) toate
29. Care dintre enunturile de mai jos nu este un participant in tranzactiile de plata din
protocoalele iKP:
a) verificator
b) cumparator
c) achizitor
d) vanzator
30. Protocolul SET defineste o diversitate de tranzactii care folosesc concepte criptografice.
Care dintre conceptele enumerate mai jos nu se foloseste in protocolul SET:
a) certificate digitale
b) SSL / TLS
c) semnatura duala
d) semnatura digitala
31. Modelul unui sistem electronic de plati (Electronic Payment System-EPS) implica, in
general, urmatoarele cel putin urmatoarele entitati care interactioneaza:

COMERT ELECTRONIC

a) o banca B, un cumparator C si un vanzator V


b) o banca B, un procesator de carduri P, un cumparator C si un vanzator V
c) un procesator de carduri P, un cumparator C si un vanzator V
d) un cumparator C, o banca a lui C, un vanzator V si o banca a lui V
32. Tranzactiile electronice reprezinta schimburile de mesaje, sub forma unor protocoale,
care se desfasoara intre entitatile ce joaca diverse roluri implicate intr-un EPS. Care dintre
enunturile de mai jos nu este o tranzactie tipica intr-un:
a) tranzactia de identificare a utilizatorilor
b) tranzactia de retragere
d) tranzactia de actualizare a platilor
d) tranzactia de clearing
33. Un <scrip> din cadrul protocolului MilliCent are urmatoarele proprietati principalele:
a) are valoare doar pentru anumiti vanzatori
b) se poate cheltui o singura data
c) este rezistent la falsicare si greu de contrafacut
d) toate
34. In domeniul platilor prin card, transferul electronic de fonduri poate fi realizat cu ajutorul:
a) ghiseul automat de banca (ATM - Automatic Teller Machine)
b) puncte electronice de vanzare la comercianti (EFT POS-Point of Sale)
c) carduri bancare (cu banda magnetica sau smartcard)
d) toate
35. La fiecare noua tranzactie, portofelul electronic vWALLET implementat de firma VeriFone
recunoaste urmatoarele tipuri de instrumente:
a) VISA, MasterCard
b) VISA, MasterCard, American Express, JCB
c) JCB
d) American Express
36. Care dintre enunturile de mai jos nu reprezinta o norma in domeniul comertului
electronic:
a) UNCITRAL
b) Directiva 31/2000/CE
c) Legea nr.1/2011
d) Legea 365/2002
37. Una dintre afirmatiile de mai jos referitoare la aspectele critice si dezavantajele
comertului electronic este falsa. Care este aceea?
a) aspectele privind securitatea comertului electronic cea mai complexa problema
b) acceptarea noilor modalitati de plata (bani electronici/digitali)
F VWRFXULOHSRWILPLQLPL]DWHVDXFKLDUHOLPLQDWHSULQSURFHVHGHSURGXFWLH-XVW-In-TLPH
d) cadrul legal si normativ: cadrul fiscal, drepturile asupra proprietatii, protectia datelor
consumatorului
38. In raport cu sursa de acoperire a cheltuielilor cardurile se impart in:
a) carduri cu banda magnetica - care contin pe 3 piste ce memoreaza informatii criptate
despre utilizator, emitent, algoritmul de codare etc.
b) carduri de credit - care asigura utilizatorului achizitionarea de bunuri si servicii sau
retrageri de numerar, pe baza unei linii de credit acordate posesorului de card
c) carduri de debit - care asigura utilizatorului achizitionarea de bunuri si servicii sau retrageri
de numerar, cu conditia prezervarii unor fonduri intr-un cont de card, si efectuarea de
cheltuieli in limita soldului disponibil

COMERT ELECTRONIC

d) numai b) si c)
39. Cardurile cu microprocesor se impart in urmatoarele categorii:
a) carduri cu contact (contact-card)
b) carduri cu memorie (memory-card)
c) carduri fara contact (contactless-card)
d) numai a) si c)
40. Marcati cu A-DGHYUDW VDX )-IDOV XUPWRDUHOH HQXQturi referitoare la securitatea ecommerce:
a) atacurile de tip DoS (Denial of Service Refuzul VHUYLFLXOXL  DIHFWHD] IXQFtia de
disponibilitate a informatiei; _____ A
E  XQ FUDNHU HVWH XQ XWLOL]DWRU ,QWHUQHW FDUH QX FDX]HD] SLHUGHUL VDX SDJXEH SULQ DFtiunile
sale; ______ F
c) printre cei mai cunoscutL DOJRULWPL GH FLIUDUH DVLPHWULF VXQW $(6 '(6, CAST, IDEA;
_____ F
G  HOHPHQWHOH GH ED] DOH 3., ,QIUDVWUXFWXUL GH &KHL 3XEOLFH  VXQW FHUWLILFDWHOH GLJLWDOH
DXWRULWtile de certificare si serviciile de management al certificatelor; _____ A
41. &DUHGLQXUPWRDUHOHHQXQtXULQXUHSUH]LQWXQWLSGHorganizatie de comert electronic:
a) organizatii de tip brick-and-mortar
b) organizatii de tip click-and-brick sau click-and-mortar
c) organizatii de tip click-and-click
d) organizatii de tip virtual business
42. Conform OG 34/2006, achizitLLOHSXEOLFHvQ5RPkQLDVHGHUXOHD]SHSODWIRUPDRQOLQH
a) SEAP
b) SETI
c) ANISP
d) ORDA
43. Tranzactiile electronice din punctul de vedere al comertXOXL HOHFWURQLF SUH]LQW
XUPWRDUHOHFHULQWH
a) cerinte privind legislatLDDSOLFDELO
b) cerinte privind standardele acceptate
c) cerinte privind securitatea tranzactiilor
d) toate
44. Utilizarea cardurilor bancare la retragerea de numerar dintr-un ATM presupune
autentificarea cu:
a) un factor sau A (ce am? sau ce stiu?)
b) doi factori sau AA (ce am ? si ce stiu?)
c) trei factori sau AAA (ce am ? si ce stiu? si cine sunt?)
d) patru factori sau AAAA (ce am ? si ce stiu? si cine sunt? si unde sunt?)
45. Principalele amenintari asupra tranzactiilor din comertul electronic sunt:
a) Interceptarea informatiilor referitoare la plata (de exemplu numarul cardului de credit si a
QXPUXOXL&99
b) Interceptarea parolelor sau a altor informatii de acces ale sistemului (de exemplu, PIN)
c) Modificarea datelor unei tranzactii inaintea livrarii
d) toate

COMERT ELECTRONIC

46. Un sistem electronic de plati (Electronic Payment System-EPS) poate fi definit ca un


ansamblu de tranzactii generate de:
a) conversia banilor numerar (cash sau din cont) in bani electronici si invers
b) transferul banilor electronici intre utilizatorii care folosesc sistemul EPS
c) extragerea de bani din cont, efectuarea unei plati sau depunerea banilor electronici vntr-o
banca
d) toate
47. &DUHGLQXUPDWRDUHOHUROXULGHPDLMRVQXHVWHDVRFLDWXQHL$XWRULWti de Certificare (AC):
a) s emit si sUHYRFHFHUWLILFDWHGLJLWDOH X.509 v3
E V efectueze tranzactii de bani electronici
c) s autentifice cererile de chei publice ale utilizatorilor
d) s vnlocuiasc certificate digitale X.509 v3
48. Un portofel electronic poate opera in XUPWRDUHOH moduri:
a) Inchis / Deschis - cand acelasi operator emite carduri si accept tranzactii sau cknd se
face compensarea tranzactiilor vntre diferiti emitenti
b) Pre-platit/Pre-autorizat. Un portofel electronic pre-platit inglobeaza (sub forma electronica)
bani reali, transferati dintr-un cont bancar sau dintr-un depozit de numerar. Un portofel
electronic pre-autorizat inglobeaza valoarea (costul) unei cumparaturi, pe care operatorul
portofelului o garanteaza (se bazeaza pe o linie de credit)
c) De unica folosinta / Reincarcabil
d) toate
49. Indicatorul Major de Industrie MII (Major Industry Identifier) pentru VISA si MasterCard
au valorile:
a) 2 si 3
b) 3 si 4
c) 4 si 5
d) 5 si 6
50. Un certificat digital emis de o Autoritate de Certificare nu contine:
a) cheia secreta a detinatorului
b) cheia publica a detinatorului
c) Autoritatea de Certificare care a emis certiificatul digital
d) algoritmii folositi (RSA cu MD5)