Sunteți pe pagina 1din 20

Grile MTP

P1 - 06.01.2021

1. În C# un jagged array reprezintă:


a. Un vector de object
b. O matrice
c. Un vector de vectori
d. Un vector bidimensional
2. Care dintre următoarele afirmații este corectă în legătură cu metodele statice ale unei
clase?
a. O metodă statică poate fi declarată ca membru al unei clase nestatice.
b. Metodele statice pot accesa numai variabile membre care sunt statice.
c. Ambele afirmații de mai sus sunt corecte.
3. Ce va afișa la rulare următoarea secvență de cod?

a.

b.

c.
4. Care este specificatorul de acces care îi permite unei clase să își ascundă membrii față
de alte clase, cu excepția claselor derivate din cadrul aceleiași aplicații?
a. Internal
b. Private
c. Public
d. Protected
e. Protected internal
5. Ce se va întâmpla la apelarea metodei următoare?

a. Aplicația va intra în buclă infinită și va afișa la nesfârșit ”Hello”.


b. Va afișa o singură dată stringul ”Hello”.
c. Va apărea o eroare de tip StackOverflow.
d. Metoda va fi părăsită fără a se afișa nimic.
6. O interfață poate declara:
a. Variabile, metode și proprietăți.
b. Variabile, metode evenimente și delegați.
c. Metode, proprietăți și evenimente.
7. Ce va afișa la ieșire următoarea secvență de cod?
a. 0 2 4 0 0 2 4 0 2
b. 1 3 5 1 1 3 5 1 3
c. 0 0 1 0 1 2 0 1 2 3
8. Ce face metoda de mai jos?

a. Verifică dacă n este divizibil cu 10.


b. Returnează restul împărțirii lui n la 10.
c. Verifică dacă n este divizibil cu orice putere a lui 10.
d. Returnează suma cifrelor numărului n.
9. Ce va afișa la rulare codul de mai jos?
a. 11, 1,21, 11,
b. 11, 1, 11, 11,
c. 11, 11, 21, 21,
10. Ce va afișa la rulare programul următor?

a. Nu va rula din cauza unei erori de compilare.


b. Class2
c. Class3
d. Class1
11. Care dintre următoarele afirmații este adevărată?
a. Clasa care declară un indexator trebuie să declare cel puțin un constructor
static.
b. În cazul indexatorilor, C# impune limitarea ca tipul indexului să fie int.
c. În C# puteți declara indexatori multidimensionali.
12. Care afirmație este adevărată în legătură cu câmpurile readonly și const?
a. Valoarea unui câmp readonly este determinată la compilare.
b. Câmpurile const pot avea orice tip de dată dar nu pot fi inițializate cu orice
valoare.
c. Atât câmpurile readonly cât și cele const pot fi utilizate în etichetele case din
blocurile switch.
13. Ce va afișa la ieșire codul de mai jos?

a. b. c.
14. Ce proprietate trebuie să setați pentru a desena un text folosind antialiasing?
a. TextAntialiasing
b. TextSmoothingStyle
c. TextRenderingHint
15. Pentru ce este folosit în C# cuvântul cheie checked?
a. Verificarea faptului că variabilele implicate în operații aritmetice sunt
inițializate înainte de utilizare.
b. Verificarea compatibilității conversiilor între diferite tipuri de date.
c. Verificarea depășirilor (overflow) la efectuarea conversiilor și operațiilor
aritmetice.
16. Ce va afișa la rulare următorul program?
a. Programul va rula fără probleme însă nu va afișa nimic.
b.

c.
d. Nu va afișa nimic deoarece va da eroare la rulare.

e.
17. Care dintre afirmațiile următoare este falsă?
a. În declarația unui indexator nu putem folosi cuvântul this.
b. Metodele de extensie sunt metode statice.
c. Într-o metodă statică nu putem folosi cuvântul this.
18. Ce va returna apelul Metoda(”abcd”)?

a. abcd
b. dcb
c. abc
d. abcdcba
e. dcba
19. Care dintre următoarele afirmații este adevărată?
a. O proprietate write-only va avea numai accesorul get.
b. O proprietate write-only va returna întotdeauna o valoare.
c. O proprietate poate fi read-only sau write-only.
20. Ce va afișa la rulare următorul program?
a. 4 8 12 16 20
b. 2 4 6 8 10
c. 8 4 16 12 20
d. 4 8 16 32 64
21. Care dintre următoarele afirmații este adevărată?
a. Fereastra Command Window poate apela comenzi ale mediului de dezvoltare
integrat Visual Studio.
b. Fereastra Command Window poate executa secvențe de cod C#.
c. Fereastra Command Window poate apela orice comandă specifică sistemului
de operare Windows.
22. Ce va produce la ieșire următorul program?

a. Eroare: Function call without creating an object.


b. Eroare: Use of unassigned out parameter.
c. 3 2
d. 6 4
23. Se dă următoarea secvență de cod:

Cu ce este echivalentă aceasta?

a.
b.

c.
24. Cum poate o clasă derivată să oprească moștenirea caracterului virtual al unui membru
din clasa de bază?
a. Prin declararea acestuia ca sealed override.
b. Prin omiterea cuvântului cheie virtual în declarația acestuia.
c. Prin omiterea cuvântului cheie new în declarația acestuia.
25. Cum se face convertirea codului Intermediate Language în cod mașină în timpul
rulării unui program C#?
a. Prin lansarea compilatorului Just-In-Time.
b. Prin lansarea compilatorului .Net Core specific limbajului C#.
c. Prin lansarea compilatorului pentru cod gestionat.
26. Ce face funcția următoare?

a. Verifică dacă stringul s conține un număr impar de caractere.


b. Verifică dacă stringul s este palindrom (este același indiferent de sensul în care
este citit).
c. Verifică dacă stringul s conține un număr par de caractere.
d. Returnează stringul s inversat.
e. Verifică dacă stringul s conține caractere duplicate.
27. Care dintre următoarele variante este cea corectă pentru apelarea metodei Afisare din
clasa Test de mai jos?

a.

b.

c.
28. Care dintre următoarele variante ale metodei de mai jos va determina în mod corect
dacă un număr este par sau impar?

a.

b.

c.
29. Cum trebuie să fie nivelul de accesibilitate al clasei derivate?
a. Mai mare sau același cu cel al clasei de bază.
b. Același cu cel al clasei de bază.
c. Mai mic sau același cu cel al clasei de bază.
30. Ce va afișa la apelare metoda de mai jos?

a.
b.

c.

d.
31. Care dintre următoarele afirmații este falsă?
a. Metodele statice pot accesa numai membri statici.
b. Metodele de instanță nu pot accesa membri statici.
c. Metodele statice mu pot accesa membri de instanță.
32. Care dintre următoarele afirmații este falsă?
a. Un obiect DataSet stochează datele dintr-un tabel al unei baze de date.
b. BindingSource încapsulează toate datele din DataSet și oferă funcții pentru
controlul acestora din cadrul programului.
c. TableAdapterManager utilizează relațiile de tip foreign-key pentru
determinarea ordinii corecte de trimitere a comenzilor Insert, Update sau
Delete către o bază de date.
33. Ce efect va avea apelarea metodei următoare?

a. Modificarea valorilor parametrilor astfel: a=a+b și b=a-b


b. Valoarea parametrului b va rămâne neschimbată iar valoarea parametrului a va
fi egală cu a parametrului b.
c. Inversarea valorilor celor doi parametri,
d. Nici un efect.
34. În ce situație metoda următoare va returna true?

a. Numărul n este prim.


b. Numărul n este impar.
c. Numărul n este par.
d. Numărul n este pătrat perfect.
35. Ce va afișa la ieșire codul de mai jos?

a. 2 b. 2 c. 2
1 1 1
3 0 1
36. Ce face metoda de mai jos?

a. Verifică dacă n este divizibil cu orice putere a lui 10.


b. Verifică dacă n este divizibil cu 10.
c. Returnează restul împărțirii lui n la 10.
d. Returnează suma cifrelor numărului n.
37. Care este specificatorul de acces implicit pentru clase?
a. Internal
b. Private
c. Public
d. Protected
38. Care proprietăți ale unui formular permit desemnarea acțiunilor implicite efectuate la
apăsarea de către utilizator a tastelor ENTER, respectiv ESC?
a. Enter și Escape.
b. AcceptButton și CancelButton.
c. OkCommand și CancelCommand.
39. Ce va calcula metoda următoare?

a. Factorialul lui n
b. Al n-lea număr din șirul lui Fibonnacci.
c. Suma lui Gauss (1+2+…+n)
d. n*(n-1)
40. O conversie de la Int32 la Single reprezintă:
a. O conversie widening fără pierderi de informații.
b. O conversie narrowing.
c. O conversie cu posibile pierderi de informații.
41. Pentru afișarea modală a unui formular îi vom apela metoda:
a. DoModal()
b. ModalDisplay()
c. ShowDialog()
42. Ce va afișa la rulare programul următor?

a. 2 1
b. Programul nu va afișa nimic, deoarece va da eroare de compilare (inaccesibilitatea
unui membru).
c. Programul va compila cu succes, dar nu va afișa nimic.
d. 1 1
43. Care dintre următoarele clase permit instanțierea validă a unor obiecte de tip pensulă?
a. Brush, HatchBrush, PathGradientBrush.
b. Brush, TextureBrush, HatchBrush.
c. SolidBrush, HatchBrush, LinearGradientBrush.
44. Cum se poate face declararea, instanțierea și inițializarea unui vector cu 4 elemente pe
o singură linie de cod?

a.

b.

c.
45. Gradul de transparență (0% - 100%) a unei ferestre se poate indica prin setarea
proprietății:
a. Transparency
b. TransparencyKey
c. Opacity
46. Care este specificatorul de acces care permite doar claselor derivate să acceseze
membrii din clasa de bază?
a. Protected
b. Private
c. Public
d. Internal
47. Ce va afișa la ieșire codul de mai jos?

a.

b.

c.
48. Ce va fi afișat în consolă la rularea următorului program?

a.

b.

c.
49. Ce se întâmplă la modificarea valorii unui obiect de tip StringBuilder?
a. Se creează un nou obiect de tip String care conține valoarea modificată.
b. Se creează o copie a obiectului inițial care conține valoarea modificată.
c. Se modifică direct valoarea obiectului.
50. Se dă următoarea clasă:
Cum ar putea fi modificat primul constructor astfel încât să îl apeleze pe cel de-al doilea (cu
parametru)?

a.

b.

c.
51. Care dintre următoarele afirmații este adevărată?
a. Un obiect de tip DataAdapter transferă date între o conexiune și un DataSet.
b. Un obiect de tip DataAdapter transferă date între un DataTable și un DataSet.
c. Un obiect de tip DataAdapter transferă date între o conexiune și un DataTable.
52. Ce va afișa la rulare programul următor?

a. Afisare Deriv2,
b. Afisare Baza,
c. Afisare Deriv2, Afisare Deriv1, Afisare Baza,
53. Cum se face în C# asocierea prin cod a unui control cu un handler de eveniment?
a. button1.Click += button1_Click;
b. button1.Click() += button1_Click();
c. button1.Click = button1_Click();
54. Clasa Deriv moștenește clasa Baza. Clasa Baza are un constructor cu doi parametri.
Cum trebuie declarat un constructor din clasa Deriv?

a.

b.

c.
55. Care dintre următoarele afirmații este corectă în legătură cu spațiile de nume din C#?
a. Este permisă existența mai multor clase cu același nume, dacă fiecare face
parte dintr-un spațiu de nume diferit.
b. Cuvântul cheie using indică faptul că programul poate folosi direct numele
tipurilor de date definite într-un spațiu de nume, fără a fi nevoie de prefixarea
lor cu spațiul de nume.
c. Se poate defini un spațiu de nume în interiorul unui alt spațiu de nume.
d. Toate afirmațiile de mai sus sunt corecte.
e. Niciuna dintre afirmațiile de mai sus nu este corectă.
56. Care dintre următoarele afirmații este adevărată?
a. Metodele de extensie se declară prin adăugarea în definiția lor a cuvântului
cheie extend.
b. Metodele de extensie trebuie să returneze obiectul this.
c. Metodele de extensie pot fi definite numai ca membri ai claselor statice.

57. Se consideră două clase: Cls1, Cls2 și două interfețe: Interf1, Interf2. Care din
următoarele declarații ale clasei Cls3 va genera eroare la compilare?

a.
b.

c.
58. Care dintre următoarele secvențe de cod va genera eroare la compilare?

a.

b.

c.
59. Care sunt toate cuvintele cheie folosite pentru implementarea tratării erorilor în C#?
a. try, catch, throw, exception
b. try, catch, finally, throw
c. try, catch
d. try, catch, error
60. Care dintre afirmațiile următoare este corectă în legătură cu interfețele din C#?
a. Interfețele sunt declarate folosind cuvântul cheie interface.
b. Metodele interfețelor sunt publice.
c. Ambele afirmații de mai sus sunt corecte.
d. Niciuna dintre afirmațiile de mai sus nu este corectă.

S-ar putea să vă placă și