21. 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), astfel încât expresia C++ de mai jos să aibă ca valoare vechimea maşinii ale cărei caracteristici sunt
memorate în variabila x.
2012-x.anul_fabricatiei
22. 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) şi raza acestuia (număr
real), astfel încât expresia C++ de mai jos să calculeze diametrul cercului ale cărui caracteristici sunt memorate în
variabila x.
2*x.raza
23. 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;
a. cout<<x; b. cout<<x.nume[0]; c. cout<<x.nume; d. cout<<nume;
24. În declararea alăturată, câmpurile a şi b ale înregistrării reprezintă numărătorul, respectiv numitorul unei fracţii.
struct rap
{ int a, b; } f;
int k;
if ( … ) cout<<” DA”;
Care este expresia cu care se pot înlocui punctele de suspensie în secvenţa de mai SUS astfel încât dacă fracţia
memorată în variabila f se simplifică prin numărul natural nenul k se afişează mesajul DA?
25. În declararea alăturată variabila a reţine în câmpurile x şi y coordonatele unui punct în planul xOy. Care este
expresia a cărei valoare reprezintă distanţa punctului respectiv faţă de originea axelor de coordonate?
struct punct
{
float x,y;
}a;
26. Variabila x declarată alăturat memorează în câmpurile med1 şi med2 mediile semestriale ale unui elev. Scrieţi
expresia a cărei valoare va fi media anuală a acestui elev.
struct elev {
int matricol;
float med1,med2;
}x;
27. Se consideră declararea alăturată şi următoarea secvenţă de instrucţiuni: struct carte
{char nume_autor[15],titlu[20];
int nr_pag;
}x,y;
char n,m,a;
strcpy(x.titlu,”Ion”); strcpy(y.titlu,”Mara”);
m=x.titlu[1]; n = y.titlu[2];
if(m > n) a=m;
else a=n;
Ce valoare va memora variabila a la finalul executării secvenţei?
28. Considerăm declararea alăturată folosită pentru a memora numele, prenumele şi media unui elev.
Care dintre expresiile de mai jos are ca valoare prima literă a numelui unui elev ale cărui informaţii sunt memorate în
variabila p?
struct elev{
char nume[10],prenume[20];
float medie;
}p;
a. p.nume[1] b. p.nume[0] c. p.nume d. nume[1]
29. Considerăm declararea alăturată folosită pentru a memora numele, prenumele şi cele 2 note ale unui elev. Care
dintre instrucţiunile de mai jos calculează în variabila reală m media aritmetică a notelor elevului ale cărui
informaţii sunt memorate în variabila x?
struct elev{
char nume[10],prenume[20];
float nota1,nota2;
} x;
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;
30. Considerăm declararea alăturată. Care dintre următoarele instrucţiuni este corectă din punct de vedere sintactic?
struct punct{
int x,y;
} p;
a. p->y=p->y+1; b. p=9; c. p.x=7; d. p=p+1;
Răspunsuri la întrebare
Răspuns de
1
21.
struct autoturism{
char marca[21];
unsigned anul_fabricatiei;
} x;
22.
struct cerc{
int x,y;
float raza;
} x;
23.
b. cout<<x.nume[0];
24.
if(f.a%k==0 && f.b%k==0) cout << "DA";
25.
float dist = sqrt(a.x*a.x + a.y*a.y);
26.
float media = (x.med1 + y.med1)/2;
27.
m=x.titlu[1]; n = y.titlu[2]; -- m='a'; n='r'
if(m > n) a=m; -- fals
else a=n; -- a='r'
Variabila a va avea valoarea 'r'
28.
b. p.nume[0]
29.
a. m=(x.nota1+x.nota2)/2;
30.
a. nu e buna, p nu este pointer
b. valoarea 9 nu e compatibila cu timpul de date punct
c. corect
d. operatia de adunare nu e definita pentru un punct si un numar intreg.
Alte întrebări interesante
Matematică,
8 ani în urmă
Limba română,
8 ani în urmă
Istorie,
8 ani în urmă
Limba română,
8 ani în urmă
Engleza,
9 ani în urmă