Documente Academic
Documente Profesional
Documente Cultură
FACULTATEA DE INFORMATIC
MODULUL 1
Limbaje i tehnici de programare
PROGRAMARE PROCEDURALA
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)
25.2
21.0
6.3
7.0
17.022058
17.0
16.0
21.219914
PROGRAMARE PROCEDURALA
}
printf("%d %d",t,a);
124
123
123
124
4
4
5
3
, 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);
PROGRAMARE PROCEDURALA
n=n/10;
}
printf("%d",s);
tiind c variabilele
de mai sus pentru
a)
b)
c)
d)
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);
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;
}
2
1
4
3
1,2
2,1
1,1
2,2
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;
}
3
2
4
1
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];
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)
10
14
18
"programaretesttest"
PROGRAMARE PROCEDURALA
char s[100];
strcpy(s,"");
strcat(s,"abcdefgh");
strcpy(s+2,s+4);
printf("%s %d" ,s,strlen(s));
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
cdabcd
6
cd
2
PROGRAMARE PROCEDURALA
c) 9
d) 7
abcabab
abcdab
abcab
abcdabd
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;
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;
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 =
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
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)
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;
}
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)
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;
}
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;
}
1 -3 -4
2 5
1 2 -3 -4
2 -3 -4 5
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 () ;
};
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)
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)
8. Fie clasa :
class c {
int a,b;
public:
float c (int, int)
int get_a {return a;}
c ();
};
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++
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)
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)
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
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
3UHFL]DLvQce VLWXDLHVHXWLOL]HD]FRQVWUXFWRUXOGHFRSLHUH
8
PROGRAMARE IN C++
a)
b)
c)
d)
e)
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
PROGRAMARE IN C++
a)
b)
c)
d)
Programul DILHD]:
a)
b)
c)
d)
2
2
3
2
5
6
6
5
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.
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
lista de parametri;
obiectul returnat;
precedena operatorilor;
aritatea operatorului.
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)
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++
6WDELOLLFDUHGLQWUHXUPWRDUHOHDILUPDLLVXQWDGHYUDWH
a)
b)
c)
d)
6HOHFWDLDILUPDLDFRUHFW
a)
b)
c)
d)
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)
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;
}
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;
&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)
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++
,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)
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)
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
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
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
'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();
}
}
afisare();
Student_1.afisare();
super.afisare();
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();
}
}
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
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);
}
}
20 -22
22 22
35 10
5 100
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
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)
Windows
UNIX
Mac OS X
Linux
a)
b)
c)
d)
PROGRAMARE IN JAVA
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
&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
$ILHD]:
a)
b)
c)
e)
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
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)
48. 2FODVGHFODUDWfinal
DFODVDQXSRDWHILLQVWDQLDW
b) orice cod exterior are acces la codul clasei
FLPSOHPHQWHD]RLQWHUID
d) nu poate avea subclase
i=0 j=0
i=0 j=1
i=0 j=2
i=1 j=0
i=1 j=1
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
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
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
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
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
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
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
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
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
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
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;
}
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)
Presupunnd c tabloul
a)
b)
c)
d)
3
2
8
4
-20
0
20
-5
a) 4
b) 6
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);
}
funcia
va ntoarce valoarea
5
6
8
10
n urma apelului
a)
b)
c)
d)
numrul natural
numrul natural
numrul natural
numrul natural
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;
sortarea rapid;
sortarea cu ansamble;
sortarea prin interclasare;
sortarea prin numrare.
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.
exact
de comparaii;
cel puin
de comparaii;
cel mult
de comparaii;
nu se poate folosi algoritmul de cutare binar n acest caz.
tiind c tabloul a este format din n numere ntregi, iar apelul subprogramului va fi
, precizai ce va calcula funcia :
a)
b)
c)
d)
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 ;
c) se ncheie algoritmul;
d) se ncearc alegerea unei valori pentru componenta
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)
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)
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:
a)
b)
c)
d)
37. La un ghieu stau la coad
a)
b)
c)
d)
10
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)
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
Greedy;
backtracking;
programrii dinamice;
Divide et Impera.
linii:
190
73
92
302
12
linii:
518
402
428
608
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
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
MODULUL 2
Baze 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
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
Subiecte SGBD
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
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
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
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.
MODULUL 3
Sisteme de operare, reele de calculatoare i securitatea
informaiei
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:
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.
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.
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.
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.
a.
b.
c.
d.
cutarea
cutarea
cutarea
cutarea
10
&
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
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
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
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.
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.
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
CRIPTOGRAFIE
CRIPTOGRAFIE
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.
MODULUL 4
Tehnologii web i comer electronic
TEHNOLOGII WEB
1.
a.
b.
c.
d.
a.
b.
c.
d.
substr()
replace()
length_string()
charCodeAtCh()
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;
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 ");
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
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();
COMERT ELECTRONIC
COMERT ELECTRONIC
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
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
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