Exercitii-tip struct

1. Subiect tip II - Varianta 001 subiectul 3-Bacalaureat 2009

În declararea alăturată, câmpurile x şi y ale înregistrării pot memora coordonatele carteziene ale unui punct din planul xOy. Scrieţi o

secvenţă de instrucţiuni prin executarea căreia se memorează în variabila C coordonatele mijlocului segmentului cu capetele în punctele ale căror coordonate sunt memorate în variabilele A şi B.

struct punct {

float x,y;

}A,B,C;

2. Subiect tip II - Varianta 002 subiectul 2-Bacalaureat 2009

Variabila t, declarată alăturat, memorează în câmpurile a, b şi c lungimile laturilor unui triunghi. Care dintre următoarele instrucţiuni atribuie câmpului p al variabilei t valoarea perimetrului triunghiului respectiv?

struct triunghi {

float a,b,c,p;

}t;

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;

3. Subiect tip II - Varianta 003 subiectul 3-Bacalaureat 2009

În declararea alăturată, câmpurile x şi y ale înregistrării pot memora numărătorul, respectiv numitorul unei fracţii. Scrieţi secvenţa de instrucţiuni prin executarea căreia se construieşte în variabila f o fracţie obţinută prin însumarea fracţiilor memorate în variabilele f1 şi f2.

struct fractie {

int x,y;

}f,f1,f2;

4. Subiect tip II - Varianta 005 subiectul 2-Bacalaureat 2009

Variabila d, declarată alăturat, memorează în câmpurile a şi b lăţimea şi, respectiv, lungimea unui dreptunghi. Care dintre următoarele instrucţiuni atribuie câmpului aria al variabilei d valoarea ariei dreptunghiului respectiv?

struct dreptunghi {

float a,b,aria;

}d;

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;

5. Subiect tip II - Varianta 009 subiectul 1-Bacalaureat 2009

Considerând declararea alăturată, care dintre următoarele secvenţe realizează în mod corect citirea de la tastatură a valorilor celor două câmpuri ale variabilei x?

struct {

int a;

int b;} x;

a. cin>>x.a>>x.b; b. cin>>a.x>>b.x; c. cin>>x; d. cin>>a->x>>b->x;

6. Subiect tip II - Varianta 010 subiectul 1-Bacalaureat 2009

Considerând declararea alăturată, care dintre următoarele secvenţe de instrucţiuni afişează valorile memorate în cele două câmpuri ale variabilei x, separate printr-un spaţiu?

struct {

int a, b;

}x;

a. cout<<x.a<<” ”<<x.b; b. cout<<a.x<<” ”<<b.x; c. cout<<x; d. cout<<a->x<<” ”<<b->x;

7. Subiect tip II - Varianta 016 subiectul 2-Bacalaureat 2009

Care dintre următoarele variante reprezintă o declarare corectă pentru o variabilă x care memorează simultan vârsta în ani împliniţi şi media la bacalaureat a unui elev?

8. Subiect tip II - Varianta 017 subiectul 2-Bacalaureat 2009

Care dintre următoarele variante reprezintă o declarare corectă pentru o variabilă x care memorează simultan codul de identificare al unui candidat la un examen, exprimat printr-un număr natural de cel mult 4 cifre şi media obţinută de acesta la examen, exprimată printr-un număr real?

9. Subiect tip II - Varianta 018 subiectul 2-Bacalaureat 2009

Care dintre următoarele variante reprezintă o declarare corectă pentru o variabilă x care memorează simultan coordonatele reale (abscisa şi ordonata) ale unui punct în planul xOy?

10. Subiect tip II - Varianta 019 subiectul 4-Bacalaureat 2009

Fiecare dintre variabilele a şi b, declarate alăturat, memorează simultan coordonatele reale ale câte unui punct în planul xOy.

struct punct{

float x,y;}a,b;

Completaţi punctele de suspensie din secvenţa următoare de program, astfel încât, în urma executării ei, să se afişeze cuvântul DA dacă dreapta determinată de punctele cu coordonatele memorate în variabilele a şi b este paralelă cu axa Ox, respectiv cuvântul NU în caz contrar.

if(…)cout<<”DA”;

else cout<<”NU”

11. Subiect tip II - Varianta 020 subiectul 2-Bacalaureat 2009

Care dintre următoarele variante reprezintă o declarare corectă pentru o variabilă x care memorează simultan numărătorul şi numitorul unei fracţii ireductibile:

12. Subiect tip II - Varianta 021 subiectul 3-Bacalaureat 2009

Se consideră declarările de mai jos, în care variabila ev memorează date despre un anumit elev. Scrieţi instrucţiunea C/C++ prin care se iniţializează anul naşterii acestui elev cu valoarea 1990.

struct data{

int zi;

int luna;

int an;

};

struct elev {

char nume[30];

struct data data_nasterii;

float media;

}ev;

13. Subiect tip II - Varianta 022 subiectul 2-Bacalaureat 2009

Pentru declaraţia alăturată precizaţi care din instrucţiunile de atribuire este greşită:

struct elev{char nume[20];

int nota1;

int nota2;} e1,e2;

14. Subiect tip II - Varianta 023 subiectul 4-Bacalaureat 2009

Pentru declaraţiile alăturate, care este numărul maxim de numere întregi ce pot fi memorate în variabila a?

struct punct3D {

int x; int y; int z;};

struct punct3D a[10][10];

15. Subiect tip II - Varianta 027 subiectul 3-Bacalaureat 2009

În declararea alăturată, câmpurile x şi y ale înregistrării reprezintă numărătorul, respectiv numitorul unei fracţii de forma x/y. Scrieţi instrucţiunile prin executarea cărora se memorează în variabila H fracţia obţinută prin adunarea fracţiilor reţinute în F şi G.

struct fractie

{int x,y; } F,G,H;

16. Subiect tip II - Varianta 031 subiectul 3-Bacalaureat 2009

Scrieţi definiţia corectă a unui tip de date necesar pentru a memora simultan, într-o singură variabilă de acest tip, următoarele caracteristici ale unui autoturism: marca (cuvânt de maximum 20 caractere) şi anul fabricaţiei (număr natural format din exact 4 cifre), astfel încât expresia C/C++ de mai jos să aibă ca valoare vechimea maşinii ale cărei caracteristici sunt memorate în variabila x.

2008-x.anul_fabricatiei

17. Subiect tip II - Varianta 033 subiectul 3-Bacalaureat 2009

Scrieţi definiţia corectă a unui tip de date necesar pentru a memora simultan într-o singură variabilă de acest tip, următoarele caracteristici ale unui cerc: abscisa şi ordonata centrului cercului (numere întregi cu cel mult 4 cifre) şi raza acestuia (număr real), astfel încât expresia de mai jos să calculeze diametrul cercului ale cărui caracteristici sunt memorate în variabila x.

2*x.raza

18. Subiect tip II - Varianta 037 subiectul 1-Bacalaureat 2009

Fie declarările alăturate. Dacă variabila x reţine informaţii despre un elev, precizaţi care este varianta corectă ce afişează prima literă din numele acestuia?

struct elev{

char nume[30];

float nota;};

elev x;

19. Subiect tip II - Varianta 047 subiectul 4-Bacalaureat 2009

În declararea alăturată, câmpurile a şi b ale înregistrării reprezintă numărătorul, respectiv numitorul unei fracţii. Care este expresia cu care se pot înlocui punctele de suspensie în secvenţa de mai jos astfel încât dacă fracţia memorată în variabila f se simplifică prin numărul natural nenul k se afişează mesajul DA?

struct rap

{ int a, b; } f;

int k;

if ( … ) cout<<” DA”;