11. Pentru a memora denumirea unui medicament şi preţul acestuia se foloseşte variabila m. Scrieţi declararea
variabilei m ştiind că denumirea medicamentului este un şir cu maximum 30 de caractere, preţul acestuia este un
număr real, iar majorarea cu 10% a preţului se face folosind următoarea atribuire:
m.pret=m.pret*1.1;
12. 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};
13. 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 ca un număr natural de cel mult 4 cifre şi media
obţinută de acesta la examen, exprimată ca 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;};
14. 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;
15. Care dintre următoarele variante reprezintă o declarare corectă pentru o variabilă x care memorează simultan
partea reală şi partea imaginară a unui număr complex?
a. struct x {float im,re;}; b. char x[2]; c. struct complex{
float im, re;} x;
d. float x;
16. 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:
a. struct fractie{int n1,n2;} x; b. char x[2]; c. struct x{int n1,n2;}; d. float x;
17. Se consideră declarările de mai jos, în care variabila ev memorează date despre un anumit elev. Scrieţi
instrucţiunea 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;
18. Pentru declararea alăturată precizaţi care dintre instrucţiunile de atribuire este greşită: struct elev
{char nume[20];
int nota;} e1,e2;
a. e1=e2+1; b. e1.nume[2]=’x’; c. e1=e2; d. e1.nota=e2.nota+1;
19. Pentru declaraţiile alăturate care este numărul maxim de numere întregi ce pot fi memorate în variabila a?
struct punct2D {
int x; int y;};
struct punct2D a[10][10];
20. În declararea alăturată, câmpurile x şi y ale înregistrării reprezintă numărătorul, respectiv numitorul unei fracţii
de forma . 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;
Răspunsuri la întrebare
Răspuns:
11.
#include <iostream>
#include <string>
struct medicament {
string nume;
float pret;
} m;
int main() {
m.nume = "Ibuprofen";
m.pret = 20.5;
// majorarea cu 10% a pretului
m.pret = m.pret * 1.1;
std::cout << "Denumire medicament: " << m.nume << std::endl;
std::cout << "Pret medicament: " << m.pret << std::endl;
return 0;
}
Acest cod declară structura medicament, cu membrii nume şi pret, iar apoi declară variabila m ca fiind de tipul medicament. Variabila m este inițializată cu denumirea "Ibuprofen" și prețul 20.5. Apoi se aplică majorarea cu 10% a prețului utilizând atribuirea m.pret = m.pret * 1.1;, iar la sfarsit se afiseaza denumirea si pretul medicamentulu
12.
a. struct {float media; int varsta;} x;
b. struct x {float media; int varsta;};
sunt cele mai potrivite variante pentru a declara o variabilă x care memorează simultan vârsta în ani împliniţi şi media la bacalaureat a unui elev.
c. float x.media; int x.varsta;
d. struct elev {float x.media; int x.varsta};
nu sunt declarări corecte pentru o variabilă care memorează simultan vârsta în ani împliniţi şi media la bacalaureat a unui elev.
13.
a. struct x { int cod; float media;} este o declarare corectă pentru o variabilă x care memorează simultan codul de identificare al unui candidat la un examen, exprimat ca un număr natural de cel mult 4 cifre şi media obţinută de acesta la examen, exprimată ca un număr real.
14.
a. struct punct {float ox,oy;} x;
15.
c. struct complex {float im, re;} x;
16.
a. struct fractie{int n1,n2;} x;
Aceasta declară o structură numită "fractie" care conține două variabile int "n1" și "n2" și o variabilă numită "x" care este o instanță a acestei structuri și poate stoca simultan numărătorul și numitorul unei fracții ireductibile.
17.
#include <iostream>
struct data{
int zi;
int luna;
int an;
};
struct elev {
char nume[30];
struct data data_nasterii;
float media;
}ev;
int main() {
ev.data_nasterii.an = 1990;
std::cout<<ev.data_nasterii.an;
return 0;
}
18.
a. e1=e2+1; este greșită. Este o încercare de a adăuga o valoare numerică la o variabilă de tip struct elev, care nu este permisă.
19.
Numărul maxim de numere întregi ce pot fi memorate în variabila a este 100 (10 x 10).
20.
Pentru a aduna fracțiile din variabilele F și G și a memora rezultatul în variabila H, puteți utiliza următoarele instrucțiuni:
1. calculați numitorul comun al fracțiilor F și G, numit "z"
2. calculați numărătorul fracției H, adunând numărătorii fracțiilor F și G multiplicați cu z/numitorul lor
3. memorați valoarea calculată pentru numărătorul fracției H în câmpul "x" al înregistrării H
4. memorați valoarea lui z ca numitor al fracției H în câmpul "y" al înregistrării H