Sunteți pe pagina 1din 6

Aplicaii / grile tipul STRUCT

1. Fie declarrile alturate. Dac variabila x reine struct elev{


informaii despre un elev, precizai care este arianta char nume[30];
corect ce afieaz prima liter din numele acestuia? float nota;};
(4p.) elev x;
a. cout<<nume; c. cout<<x.nume;
b. cout<<x; d. cout<<x.nume[0];

2. Considerm declararea alturat folosit pentru a struct elev{


memora numele, prenumele i media unui elev. Care char nume[10],prenume[20];
dintre expresiile de mai jos are ca valoare prima liter a float medie;
}p;
numelui unui elev ale crui informaii sunt memorate n
variabila p? (4p.)

a. p.nume[1] b. p.nume[0] c. p.nume d. nume[1]

3. Considerm declararea alturat folosit pentru a struct elev{


memora numele, prenumele i cele 2 note ale unui char nume[10],prenume[20];
elev. Care dintre instruciunile de mai jos calculeaz n float nota1,nota2;
variabila real m media aritmetic a notelor elevului ale } x;
crui informaii sunt memorate n variabila x? (4p.)

a. m=(x.nota1+x.nota2)/2; b. m=(nota1+nota2)/2;
c. x.m=(x.nota1+x.nota2)/2; d. m=(x,nota1+x,nota2)/2;

4. Considerm declararea alturat. Care dintre struct punct{


urmtoarele instruciuni este corect din punct de int x,y;
vedere sintactic? (4p.) } p;

a. p->y=p->y+1; b. p=9; c. p.x=7; d. p=p+1;

5. Variabila x este utilizat pentru a memora numele, prenumele i salariul unei persoane. Numele i
prenumele pot avea cel mult 20 de litere fiecare, iar salariul este un numr natural nenul mai mic
dect 30000 . Care dintre urmtoarele declarri este corect? (4p.)
a. float x[3][21];
b. int x[3][21];
c. struct persoana{
char nume[21],prenume[21];
int sal;} x;
d. struct x[
char nume[21],prenume[21];
int sal;] x;

6. Variabila t este utilizat pentru a memora valoarea i numele autorului unei cri. Valoarea crii
este un numr natural de cel mult 3 cifre, iar numele autorului nu poate avea mai mult de 20 de litere.
Care dintre urmtoarele declarri este corect? (4p.)
a. struct carte{ int val;char nume;} t;
b. struct carte{int val,nume;} t;
c. struct carte{ int val;char nume[21];} t;
d. struct carte{ int val[21][21];char nume;} t;

7. Variabila t este utilizat pentru a memora numrul de exemplare disponibile ntr-o bibliotec i titlul
unei cri. Numrul de exemplare este un numr natural de cel mult 2 cifre, iar titlul nu poate avea mai
mult de 20 de litere. Care dintre urmtoarele declarri este corect? (4p.)
a. struct carte{float nr,titlu;} t;
b. struct carte{int nr; char titlu[21];} t;
c. struct carte{char nr; int titlu ;} t;
d. struct carte{long nr,titlu;} t;
8. Considernd declarrile alturate, care dintre struct complex
urmtoarele referiri este corect din punct de vedere {float re,im;};
sintactic ? (4p.) complex x,y;

a. complex.re b. x.re c. complex.x d. re.x

9. Considernd declarrile alturate, care dintre struct elev {char nume[30];


urmtoarele referiri este corect din punct de vedere datan dn,da;} e;
sintactic ? (4p.)
struct datan{int zi,ln,an;};
a. e.datan.ln b. nume.e c. e.dn.an[2] d. e.dn.zi

10. Considernd declarrile alturate, care dintre struct punct{float x,y;};


urmtoarele referiri este corect din punct de vedere struct cerc
sintactic ? (4p.) {float raza;
punct centru;} c;
a. c.punct.y b. c.raza.punct c. c.centru.x d. c.y.centru

11. Cum se poate accesa prima liter a denumirii unui produs struct produs{
ale crui caracteristici sunt memorate n variabila p, declarat char denumire[15];
alturat? (4p.) int pret;}p;
a. produs.denumire[0] b. denumire.p[0]
c. p.denumire[0] d. p->denumire[0]

12. Cum se poate accesa prima liter a numelui unei char


persoane ale crei date de identificare sunt memorate n nume[20],prenume[20];
variabila p, declarat alturat? (4p.) int varsta;} p;
struct persoana{
a. p.nume[0] b. persoana.nume[0]
c. p->nume[0] d. nume.p[0]

13. Cum se poate accesa prima liter a denumirii unui struct material{
material ale crui caracteristici sunt memorate n variabila m, char denumire[20];
declarat alturat? (4p.) int pret;} m;
a. denumire.m[0] b. m->denumire[0]
c. material.denumire[0] d. m.denumire[0]

14. Cum se poate accesa prima liter a numelui unui elev ale struct elev{
crui date de identificare sunt memorate n variabila e, char
declarat alturat? (4p.) nume[20],prenume[20];
int varsta;}e;
a. e->nume[0] b. e.nume[0]
c. elev.nume[0] d. nume.e[0]

15. tiind c fiecare dintre variabilele var1, var2 memoreaz struct elev
numele i nota cte unui elev n forma dat de declararea { char nume[30];
alturat, indicai care dintre urmtoarele instruciuni float nota;
determin, n urma executrii, memorarea n variabila real m }var1,var2;
a mediei aritmetice a notelor celor doi elevi. (4p.)
a. m=(var1.nota+var2.nota)/2; b. m=var1.nota+var2.nota/2;
c. m=(var1+var2).nota/2; d. m=nota(var1+var2)/2;
16. Se consider declarrile alturate. Care este tipul struct A
expresiei x.x.y ? (4p.) { int x;
char y;
};
struct B
{ float x;
long y;
};
struct C
{ struct A x;
struct B y;
} x, y;.
a. long b. int c. char d. float

17. n declararea alturat, variabila p memoreaz n cmpul struct


x abscisa, iar n cmpul y ordonata unui punct din planul {float x;
xOy. Dac punctul se afl chiar n originea axelor, care dintre float y;} p;
expresiile de mai jos are valoarea true? (4p.)
a. (p.x==0)&&(p.y==0) b. (x.p==0)&&(y.p==0)
c. p==0 d. (p(x)==0)&&(p(y)==0)

18. n declararea alturat, variabila p memoreaz n cmpul struct


x abscisa, iar n cmpul y ordonata unui punct din planul {float x;
xOy. Dac punctul se afl pe cel puin una dintre axele de float y;}p;
coordonate, care dintre expresiile de mai jos are valoarea 1?
(4p.)
a. p.x*p.y==0 b. (p.x==0)&&(p.y==0) c. x.p+y.p==0 d. (p(x)==0)||(p(y)==0)

19. n declararea alturat, variabila p memoreaz n cmpul struct


x abscisa, iar n cmpul y ordonata unui punct din planul {float x;
xOy. Dac punctul se afl pe cel puin una dintre axe, care float y;}p;
dintre expresiile de mai jos are valoarea 1? (4p.)
a. p.x*p.y==0 b. (p.x==0)&&(p.y==0)
c. x.p==y.p d. p(x)==0

20. n declararea alturat, variabila p memoreaz n cmpul struct


x abscisa, iar n cmpul y ordonata unui punct din planul {float x;
xOy. Dac punctul se afl n interiorul suprafeei float y;}p;
dreptunghiulare determinate de punctele A(1,1), B(4,1),
C(4,3), D(1,3), care dintre expresiile de mai jos are valoarea
1? (4p.)
a. (p.x>1)&&(p.x<4)&&(p.y>1)&&(p.y<3)
b. (x.p>1)&&(x.p<4)&&(y.p>1)&&(y.p<3)
c. (p.x>1)&&(p.x<4)||(p.y>1)&&(p.y<3)
d. (p(x)>1)&&(p(x)<4)||(p(y)>1)&&(p(y)<3)

21. n declararea alturat, variabila p memoreaz n cmpul x struct


abscisa, iar n cmpul y ordonata unui punct din planul xOy. Dac {
punctul se afl n semiplanul din dreapta axei Oy (dar nu pe float x;
aceast ax), care dintre expresiile de mai jos are valoarea 1? float y;
(4p.) }p;
a. p.x>0 b. p.y>0 c. x.p+y.p>0 d. p(x)+p(y)>0

22. n declararea alturat, cmpurile x i y ale nregistrrii struct punct


pot memora coordonatele carteziene ale unui punct din planul {
xOy. Care dintre urmtoarele expresii are valoarea 1 dac i float x,y;
numai dac punctul P este situat pe axa Ox ? (6p.) }P;
a. P.x==0 b. P.y==0 c. P.x+P.y==0 d. P.x==P.y
struct elev
23. Pentru declaraia alturat precizai care
{char nume[20];
din instruciunile de atribuire este greit: (6p.)
int nota1;
int nota2;} e1,e2;
a. e1=e2+1; b. e1.nume[2]=x; c. e1=e2; d. e1.nota1=e2.nota2+1;

24. Care dintre urmtoarele variante reprezint o declarare corect pentru o variabil x care
memoreaz simultan numrtorul i numitorul unei fracii ireductibile: (4p.)
a. float x; b. char x[2]; c. struct x{int n1,n2;}; d. struct fractie {int
n1,n2;} x;

25. Care dintre urmtoarele variante reprezint o declarare corect pentru o variabil x care
memoreaz simultan coordonatele reale (abscisa i ordonata) ale unui punct n planul xOy? (4p.)
a. struct punct{float ox,oy;} x; b. char x[2];
c. struct x{float ox,oy;}; d. float x;

26. Care dintre urmtoarele variante reprezint o declarare corect pentru o variabil x care
memoreaz simultan codul de identificare al unui candidat la un examen, exprimat printr-un numr
natural de cel mult 4 cifre i media obinut de acesta la examen, exprimat printr-un numr real?
(4p.)
a. struct x { int cod; c. int x.cod ;
float media;}; float x.media;
b. struct {int cod; d. struct candidat {int x.cod;
float media;} x; float x.media;};

27. Care dintre urmtoarele variante reprezint o declarare corect pentru o variabil x care
memoreaz simultan vrsta n ani mplinii i media la bacalaureat a unui elev? (4p.)
a. struct {float media; c. float x.media;
int varsta;} x; int x.varsta;
b. struct x {float media; d. struct elev {float x.media;
int varsta;}; int x.varsta};

28. Considernd declararea alturat, care dintre struct {


urmtoarele secvene de instruciuni afieaz valorile int a, b;
memorate n cele dou cmpuri ale variabilei x, separate }x;
printr-un spaiu? (4p.)
a. cout<<x.a<< <<x.b; c. cout<<x;
b. cout<<a.x<< <<b.x; d. cout<<a->x<< <<b->x;

29. Considernd declararea alturat, care dintre struct {


urmtoarele secvene realizeaz n mod corect citirea de int a;
la tastatur a valorilor celor dou cmpuri ale variabilei int b;} x;
x? (4p.)
a. cin>>x.a>>x.b; c. cin>>x;
b. cin>>a.x>>b.x; d. cin>>a->x>>b->x;

30. Variabila d, declarat alturat, memoreaz n struct dreptunghi


cmpurile a i b limea i, respectiv, lungimea unui {
dreptunghi. Care dintre urmtoarele instruciuni atribuie float a,b,aria;
cmpului aria al variabilei d valoarea ariei }d;
dreptunghiului respectiv? (4p.)
a. d.aria==d.a*d.b; b. aria.d=a.d*b.d;
c. aria.d=d.a*d.b; d. d.aria=d.a*d.b;
31. Variabila t, declarat alturat, memoreaz n struct triunghi
cmpurile a, b i c lungimile laturilor unui triunghi. Care {
dintre urmtoarele instruciuni atribuie cmpului p al float a,b,c,p;
variabilei t valoarea perimetrului triunghiului respectiv? }t;
(4p.)
a. p.t=t.a+t.b+t.b; b. p.t=a.t+b.t+c.t;
c. t.p=t.a+t.b+t.c; d. t.p==t.a+t.b+t.c;

32. n declararea alturat, cmpurile x i y ale struct punct


nregistrrii pot memora coordonatele carteziene ale unui {
punct din planul xOy. Scriei o secven de instruciuni float x,y;
prin executarea creia se memoreaz n variabila C }A,B,C;
coordonatele mijlocului segmentului cu capetele n
punctele ale cror coordonate sunt memorate n
variabilele A i B. (6p.)

33. n declararea alturat, cmpurile x i y ale struct fractie


nregistrrii pot memora numrtorul, respectiv numitorul {
unei fracii. Scriei secvena de instruciuni prin int x,y;
executarea creia se construiete n variabila f o fracie }f,f1,f2;
obinut prin nsumarea fraciilor memorate n variabilele
f1 i f2. (6p.)

34. Fiecare dintre variabilele a i b, declarate alturat, struct punct{


memoreaz simultan coordonatele reale ale cte unui float x,y;}a,b;
punct n planul xOy.
Completai punctele de suspensie din secvena urmtoare de program, astfel nct, n urma executrii
ei, s se afieze cuvntul DA dac dreapta determinat de punctele cu coordonatele memorate n
variabilele a i b este paralel cu axa Ox, respectiv cuvntul NU n caz contrar.
if() cout<<DA;
else cout<<NU;

35. Se consider declarrile de mai jos, n care variabila ev memoreaz date despre un anumit elev.
Scriei instruciunea C/C++ prin care se iniializeaz anul naterii acestui elev cu valoarea 1990. (6p.)
struct data{
int zi;
int luna;
int an;
};
struct elev {
char nume[30];
struct data data_nasterii;
float media;
}ev;

36. n declararea alturat, cmpurile x i y ale struct fractie


nregistrrii reprezint numrtorul, respectiv numitorul {
unei fracii de forma x/y. Scriei instruciunile prin int x,y;
executarea crora se memoreaz n variabila H fracia } F,G,H;
obinut prin adunarea fraciilor reinute n F i G. (6p.)

Pentru declaraiile alturate, care este numrul maxim de struct punct3D {


numere ntregi ce pot fi memorate n variabila a? (6p.) int x; int y; int z;};
struct punct3D a[10][10];
37. Tipul de date structurat COLET permite reinerea a dou numere reale, reprezentnd valoarea
exprimat n euro a unui colet potal, respectiv greutatea exprimat n kilograme, i un ir de caractere
reprezentnd numele oraului expeditorului, format din cel mult 30 de caractere. Scriei n limbajul
C/C++ o declarare pentru tipul de date COLET i o secven de instruciuni care permite citirea
valorilor componentelor variabilei x de tipul COLET. Denumii sugestiv componentele tipului de date
COLET.

38. Scriei definiia corect a unui tip de date necesar pentru a memora simultan ntr-o singur variabil
de acest tip, urmtoarele caracteristici ale unui cerc: abscisa i ordonata centrului cercului (numere
ntregi cu cel mult 4 cifre) i raza acestuia (numr real), astfel nct expresia de mai jos s calculeze
diametrul cercului ale crui caracteristici sunt memorate n variabila x.
2*x.raza

39. Scriei definiia corect a unui tip de date necesar pentru a memora simultan, ntr-o singur
variabil de acest tip, urmtoarele caracteristici ale unui autoturism: marca (cuvnt de maximum 20
caractere) i anul fabricaiei (numr natural format din exact 4 cifre), astfel nct expresia C/C++ de
mai jos s aib ca valoare vechimea mainii ale crei caracteristici sunt memorate n variabila x.
2008-x.anul_fabricatiei

40. Variabila x, declarat alturat, memoreaz n struct elev {


cmpurile med1 i med2 mediile semestriale ale unui int matricol;
elev. Scriei o expresie a crei valoare va fi media float med1,med2;
anual a acestui elev. (6p.) }x;

41. n declararea alturat variabila a reine n struct punct


cmpurile x i y coordonatele unui punct n planul { float x,y;
xOy. Care este expresia a crei valoare reprezint }a;
distana punctului respectiv fa de originea axelor de
coordonate? (6p.)

42. n declararea alturat, cmpurile a i b ale struct rap


nregistrrii reprezint numrtorul, respectiv numitorul { int a, b; } f;
unei fracii. Care este expresia cu care se pot nlocui int k;
punctele de suspensie n secvena de mai jos astfel nct
dac fracia memorat n variabila f se simplific prin
numrul natural nenul k se afieaz mesajul DA?
if ( ) cout<< DA;(6p.)

43. Scriei o expresie logic C/C++ care s struct punct {float x; float y;};
codifice condiia ca variabila v din declaraiile struct segment {
alturate s reprezinte segmentul nul (segmentul struct punct origine;
care are originea identic cu extremitatea). (4p.) struct punct extremitate;} v;

44. Fiecare dintre variabilele declarate alturat memoreaz struct elev{


numele i nota cte unui elev. Scriei secvena de char nume[20];
instruciuni prin care se citesc de la tastatur numele i float nota;
nota pentru fiecare dintre variabilele e1 i e2 i apoi se };
afieaz numele elevului cu nota cea mai mare. Dac cele elev e1,e2;
dou note sunt egale, se va afia numele elevului memorat
n variabila e1. (6p.)

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