Documente Academic
Documente Profesional
Documente Cultură
Struct Teste
Struct Teste
Tipul înregistrare
1. Ştiind că s-a făcut una dintre definiţiile de tip alăturate, care din următoarele
construcţii este o declarare corectă pentru un tablou cu 10 elemente de tip
elev?
Pascal C C++
Type elev= record typedef struct struct elev{
nume:string[30]; elev{ char nume[30];
nota:real char nume[30]; float nota;};
end; float nota;};
3. Ştiind că variabila p este utilizată pentru a memora coordonatele reale ale unui
punct în plan, care dintre următoarele declarări este corectă?
a. var p:record x,y:real end; a. struct punct{float x,y;}
p;
b. var p:record b. struct punct{int x,y,z;}
x,y,z:integer end; p;
c. real p; c. float p;
d. double p; d. double p;
114
4. Ştiind că s-au făcut declarările alăturate, stabiliţi care dintre următoarele
expresii este corectă din punct de vedere sintactic?
Type elev = record struct elev {
char nume[30];
Nume:string[30];nota:real float nota;} a[100];
end;
Var a : array[1..100] of elev;
a. elev[1].nota b. a[1].nota[1]
c. a.nota[1] d. a[1].nota
5. Ştiind că fiecare dintre variabilele e1, e2 conţine numele şi media unui elev
în forma dată de declararea alăturată, indicaţi care dintre următoarele
expresii atribuie variabilei reale m media aritmetică a mediilor celor doi elevi:
type elev = record struct elev
nume:string[30]; { char nume[30];
media:real; end; float media;
var e1,e2:elev; } e1,e2;
a. m:=media(e1+e2)/2 a. m=media(e1+e2)/2;
b. m:=e1.media+e2.media/2 b. m=e1.media+e2.media/2;
c. m:=(e1+e2).media/2 c. m=(e1+e2).media/2;
d. m:=(e1.media+e2.media)/2 d. m=(e1.media+e2.media)/2;
7. Se defineşte tipul
a. a[i]^.x=a[i]^.y
A a. a[i]->x==a[i]->y
115
b. Bx[a[i]]=y[a[i]] b. x[a[i]]==y[a[i]]
c. ca[i].x=a[i].y c. a[i].x==a[i].y
d. .a.x[i]=a.y[i] d. a.x[i]==a.y[i]
a. writeln(x[11].nume,’ ’,x[11].media);
Varianta b. writeln(x.nume,’ ’,x.media);
Pascal c. writeln(x.nume[11],’ ’,x.media);
d. writeln(x[11]^.nume,’ ’, x[11]^.media);
a. cout<<x[10].nume<<” ”<<x[10].media;
/ printf(”%s %f”, x[10].nume,x[10].media);
Varianta b. cout<<x.nume<<” ”<<x.media;
/ printf(”%s %f”, x.nume,x.media);
C/C++ c. cout<<x.nume[11]<<” ”<<x.media;
/ printf(”%s %f”, x.nume[11],x.media);
d. cout<<x[10]->nume<<” ”<< x[10]->media);
/ printf(”%s %f”, x[10]->nume,x[10]->media);
116
10. Se consideră declararea
type fractie = struct fractie
record x,y:integer;end {unsigned int x,y;}s,f1,f2;
şi variabilele s,f1,f2 de acest tip în care câmpurile x şi y reprezintă
numărătorul, respectiv numitorul unei fracţii. Care dintre următoarele variante
construieşte în variabila s o fracţie echivalentă cu suma fracţiilor f1 şi f2?
a. s.x:=f1.x+f2.x; a. s.x=f1.x+f2.x;
s.y:=f1.y+f2.y s.y=f1.y+f2.y
b. s.x:=f1.x*f2.y+f1.y*f2.x; b. s.x=f1.x*f2.y+f1.y*f2.x;
s.y:=f1.y*f2.y
s.y=f1.y*f2.y
c. s:=f1+f2 c. s=f1+f2
d. s.x:=f1.x*f1.y+f2.x*f2.y; d. s.x=f1.x*f1.y+f2.x*f2.y;
s.y:=f1.y*f2.y s.y=f1.y*f2.y
Cum se poate accesa prima literă a denumirii unui produs ale cărui
caracteristici sunt memorate în variabila p ?
a. p.denumire[0] a. p.denumire[1]
b. p^denumire b. p->denumire
c. p.denumire[1] c. p.denumire[0]
d. p^denumire[1] d. p->denumire[1]
117
type persoana=record struct persoana
nume,prenume:string[10]; { char nume[10];
varsta:integer; char prenume[10];
end; int varsta;
var p:persoana; } p;
Cum se poate accesa prima literă a numelui unei persoane ale cărei date de
identificare sunt memorate în variabila p ?
a. p^nume[1] a. p->nume[1]
b. p^nume b. p->nume
c. p.nume[1] c. p.nume[0]
d. p.nume[0] d. p.nume[1]
14. Variabila elev este utilizată pentru a memora numele unui elev şi media sa
la bacalaureat. Declararea corectă a variabilei elev este:
16. Într-un vector sunt memorate înregistrări. Fiecare înregistrare reţine numele şi
media notelor unui elev la examenul de bacalaureat. Vectorul are 1000 de
elemente şi este ordonat după numele elevilor. Care din următoarele metode
este mai eficientă pentru a găsi media notelor unui elev al cărui nume îl
cunoaştem ?
a. căutarea binară b. căutarea secvenţială
c. Backtracking d. interclasarea
118
17. Dacă în cadrul unui program variabila p urmează să memoreze simultan
coordonatele reale (abscisa şi ordonata) pentru un punct în plan, atunci
variabila p trebuie declarată astfel:
a. Var p:record x,y:real;end; a. struct punct{float x,y;} p;
b. Var p:string[2]; b. char p[2];
19. Variabila b reţine în câmpul fraza un text, format din cel mult 255 de
caractere şi în câmpul nrl numărul de litere mici din text. Care dintre referirile
următoare reprezintă primul caracter din câmpul fraza al variabilei b?
type a=record struct
fraza:string;nrl:integer; {char fraza[256];
end; int nrl;} b;
var b:a;
a. b.fraza[1] a. b.fraza[0]
b. b.fraza b. b.fraza
c. b[1].fraza[1] c. b[0].fraza[0]
d. b[1].fraza d. b[0].fraza
119
2.4.2. Probleme
120