Informatică, întrebare adresată de Loredanaokk, 8 ani în urmă

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 MichaelKing
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