1. Î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. 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;
3. Î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. 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. 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. 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<
c. cout<x<<” ”<x;
7. 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?
a. struct {float media;int varsta;} x;
b. struct x {float media;int varsta;};
c. float x.media; int x.varsta;
d. struct elev {float x.media; int x.varsta};
8. 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?
a. struct x { int cod; float media;};
b. struct {int cod; float media;} x;
c. int x.cod ; float x.media;
d. struct candidat {int x.cod; float x.media;};
9. 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?
a. struct punct{float ox,oy;} x; b. char x[2];
c. struct x{float ox,oy;}; d. float x;
10. 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”;
Răspunsuri la întrebare
Răspuns de
23
1) C.x=(A.x+B.x)/2;
C.y=(A.y+B.y)/2;
2) t.p=t.a+t.b+t.c;
3) f.x=f1.x*f2.y+f1.y*f2.x;
f.y=f1.y*f2.y;
4) punctul d: d.aria=d.a*d.b;
5) punctul a: cin>>x.a>>x.b;
6) cout<<x.a<<” ”<<x.b;
7) a
8) b
9) a
10) if (a.y==b.y && a.x
!=b.x)
cout<<”DA”;
else
cout<<”NU”;
Obs: daca se doreste ca punctele a si b sa fie distincte,
atunci conditia va fi: a.y==b.y && a.x !=b.x
Alte întrebări interesante
Limba română,
8 ani în urmă
Matematică,
8 ani în urmă
Limba română,
8 ani în urmă
Matematică,
9 ani în urmă
Matematică,
9 ani în urmă