Advertisement
Guest User

Untitled

a guest
Mar 20th, 2018
85
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 33.29 KB | None | 0 0
  1. 1.Un obiect este :
  2. a. o instanţiere a unei clase;
  3. b. o abstractizare a unei clase;
  4. c. o structură a clasei.
  5. 2.O funcţie friend :
  6. a. poate fi declarată static;
  7. b. nu poate fi declarată static sau extern;
  8. c. poate fi declarată static dacă clasa prietenă nu are moştenitori.
  9. 3.Utilizarea funcţiilor inline este recomandată pentru :
  10. a. funcţii recursive;
  11. b. funcţii optimale;
  12. c. funcţii scurte.
  13. 4.În cadrul unei clase, declararea unei variabile static :
  14. a. alocă o singură dată memorie;
  15. b. alocă memorie la fiecare creeare a unui obiect de tipul clasei;
  16. c. nu alocă memorie pentru aceasta.
  17. 5.În fragmentul de mai jos este eronată linia-sursă nr.:
  18. ...
  19. class stiva{ //1
  20. int stiv[size]; //2
  21. public: //3
  22. int virf_stiva; //4
  23. void init(); //5
  24. void pune(int); //6
  25. int scoate(); //7
  26. }; //8
  27. ...
  28. main() //9
  29. { //10
  30. stiva st1,st2; //11
  31. st1.pune(44); //12
  32. st2.pune(122); //13
  33. st1.virf_stiva=11; //14
  34. cout<<st1.scoate()<<”\n”; //15
  35. cout<<st2.scoate()<<”\n”; //16
  36. return 0; //17
  37. } //18
  38. a) 6,13
  39. b) 14
  40. c) Nici o linie
  41. 6.Dacă se pasează un obiect către o funcţie, constructorul :
  42. a. va fi apelat întotdeaunaş
  43. b. va fi apelat pentru anumite tipuri de funcţii;
  44. c. nu este executat.
  45. 7.O variabilă membră a unei clase poate fi declarată astfel :
  46. a. de orice tip;
  47. b. nu poate fi declarată auto, extern sau register;
  48. c. poate fi doar char, integer sau float.
  49. 8.Ce se întâmplă la compilarea următorului program?
  50. ...
  51. class cl{
  52. int i;
  53. public:
  54. cl(int j) {i=j;}
  55. int ret_i() {return i;}
  56. };
  57. ...
  58. main ()
  59. { a. Se semnalează eroare de compilare la declararea matricii de obiecte;
  60. cl a[5]; b. Programul este corect;
  61. ... c. Se semnalează warning (atenţionare) la constructorul clasei.
  62. }
  63. 9.O clasă derivată are acces:
  64. a. la propriii membri şi la toţi membrii clasei de bază;
  65. b. la funcţiile sale membre şi la variabilele membre ale clasei de bază;
  66. c. la propriii membri şi la membrii publici ai clasei de bază.
  67. 10.Care este sintaxa corectă la iniţializare pentru clasa următoare?
  68. class cl{
  69. int i,j;
  70. public:
  71. cl(int k, int l) {i=k; j=l;}
  72. int ret_i() {return i;}
  73. int ret_j() {return j;}
  74. };
  75. a. cl ob[3]=(1,2),
  76. (3,4),
  77. (5,6);
  78. b. cl ob[3]={(1,2),(3,4),(5,6)};
  79. c. cl ob[3]= { cl(1,2),
  80. cl(3,4),
  81. cl(5,6)
  82. };
  83. 11.Care linie din programul de mai jos este eronată ?
  84. class baza{ //1
  85. int i; //2
  86. public: //3
  87. void set_i(int val) {i=val;} //4
  88. int ret_i() {return i;} //5
  89. }; //6
  90. class derivat::public baza { //7
  91. int j; //8
  92. public: //9
  93. void set_j(int val) {j=val;} //10
  94. int ret_j() {return j;} //11
  95. }; //12
  96. ...
  97. main() //13
  98. { //14
  99. baza *b; //15
  100. derivat d; //16
  101. b=&d; //17
  102. b->set_i(5); //18
  103. b->ret_i(); //19
  104. b->set_j(55); //20
  105. return 0; //21
  106. } //22
  107. a) 19
  108. b) 17
  109. c) 20
  110. 12.În programul următor, se va semnala eroare. De ce?
  111. class baza{
  112. protected: int i,j;
  113. public:
  114. void set_ij(int a, int b) {i=a;j=b;}
  115. void arata_ij() {cout<<i<<””<<j<<”\n”;}
  116. };
  117. class derivat: protected baza {
  118. int k;
  119. public:
  120. void set_k(int a, int b) {set_ij(a,b); k=i*j;}
  121. void arata_ijk() {cout<<k<<””;arata_ij();}
  122. };
  123. ...
  124. main(){
  125. derivat obd; a. În definirea funcţiei set_k nu poate apare apelul la set_ij().
  126. obd.set_ij(1,2); b. i şi j trebuie declarate public în clasa de bază;
  127. obd.set_k(3); c. set_ij nu poate fi apelat asociat obiectului obd deoarece
  128. obd.arata_ijk(); funcţia respectivă este membră protejată pentru clasa derivată
  129. return 0;
  130. }
  131. 13.Constructorul clasei derivate :
  132. a. trebuie în general să declare atât parametrii proprii de apel cât şi parametrii de apel ai clasei de bază;
  133. b. nu trebuie să declare parametrii constructorului clasei de bază;
  134. c. nu are voie să conţină declaraţii ale parametrilor de apel ai clasei de bază.
  135. 14.Funcţiilor friend :
  136. a. nu le sunt pasaţi pointeri this;
  137. b. le sunt pasaţi pointeri this;
  138. c. le sunt pasaţi pointeri this de tip special.
  139. 15.Instrucţia marcată cu „S” este :
  140. class clasa_ex{
  141. int i,j;
  142. public:
  143. clasa_ex(int v_init1, int v_init2) {i=v_init1; j=v_init2;}
  144. ...};
  145. ...
  146. main(){
  147. clasa_ex exemplu (5,55); //”S”
  148. ... a. incorectă;
  149. return 0; b. corectă;
  150. } c. incorectă în cele mai multe contexte;
  151. 16.Funcţiile virtuale:
  152. a. pot fi membri statici ai unei clase
  153. b. nu pot fi membri statici ai unei clase
  154. c. pot fi membri statici doar într-o clasă derivată şi dacă în clasa de bază nu există nici o definire a funcţiei.
  155. 17.Clasele abstracte sunt :
  156. a. clasele fără variabile membre;
  157. b. clasele care nu corespund necesităţilor de modelare ale unei entităţi fizice (reale)
  158. c. clasele care conţin cel puţin o functie virtuală pură.
  159. 18.Operatorul * din exemplul de mai jos este corect supraîncărcat?
  160. class exemplu { //1
  161. int a,b; //2
  162. public: //3
  163. exemplu() {} //4
  164. exemplu(int i,int j) {a=i; b=j;} //5
  165. void arata() {cout<<i<<””<<j<<”\n|;} //6
  166. exemplu operator* (exemplu ex); //7
  167. }; //8
  168. exemplu exemplu::operator* (exemplu ex) //9
  169. { //10
  170. exemplu tmp; //11 a. da
  171. tmp.a=ex.a*a; //12 b. Nu, greşeala e la linia 14, trebuie return tmp;
  172. temp.b=ex.b*b; //13 c. Nu, greşeala e la liniile 7 şi 9, funcţia trebuie să return ex; //14 fie de tipul void.
  173. } //15
  174.  
  175.  
  176. 19.Ce conţine variabila de stare (state) din clasa ios?
  177. a. un număr întreg care semnifică numărul de octeţi transmis prin stream la un moment dat;
  178. b. biţi individuali care specifică modul de desfăşurare a unei operaţii de intrare-ieşire, fiecare bit reprezentând câte o eroare posibilă;
  179. c. biţi individuali care specifică alinierea, formatul de reprezentare, afişare sau nu a bazei, a punctului zecimal, forma de afişare (punct fix/forma cu exponent) etc.
  180. 20.Un manipulator este :
  181. a. un operator care modelează un stream şi primeşte ca parametru şi întoarce ca rezultat adresa stream-ului asupra căruia acţionează;
  182. b. o instrucţiune de modificare şi conversie a unor valori de intrare sau de ieşire;
  183. c. un operator binar care specifică sensul fluxului şi dispozitivul cu care lucrează.
  184. 21. Care sunt funcţiile API care alcătuiesc o buclă de mesaje?
  185. a. SendMessage, GetMessage, DispatchMessage
  186. b. DispatchMessage, PutMessage, CallMessage
  187. c. GetMessage, TranslateMessage, DispatchMessage
  188. 22. O interfaţă MDI este :
  189. a. o interfaţă având posibilitatea lucrului cu fişiere baze de date
  190. b. o interfaţă ce permite lucrul cu mai multe dispozitive fizice (Multi-Device Interface)
  191. c. o interfaţă orientată-document ce permite afişarea şi prelucrarea simultană a mai multor fişiere, prin intermediul unor ferestre diferite.
  192. 23. Ce oferă clasa Cdocument?
  193. a. facilitatea de a deschide un fişier şi de a afişa datele conţinute
  194. b. funcţionalitatea de bază pentru colecţii de date pe care utilizatorul le poate accesa sau salva cu File Open sau File Save
  195. c. un editor de documente
  196. 24. Utilizatorul interacţionează cu un document prin intermediul:
  197. a. unui control Cedit
  198. b. unui obiect de tip Cview ascoiat cu acesta
  199. c. unei clase Cwind0
  200. 25. Incărcătorul de clase (class loader) serveşte pentru:
  201. a. verificarea corectitudinii sintaxei unei clase
  202. b. verificarea codului-octet
  203. c. incărcarea unei clase de către o subclasă a sa
  204. 26. Ce sunt variabilele instanţă?
  205. a. variabilele membre de tip public
  206. b. variabilele oarecare
  207. c. variabilele membre ale unei clase, care nu sunt de tip static
  208. 27. Ce inseamnă /** */?
  209. a. sintaxă eronată
  210. b. comentarii pe un rând
  211. c. comentarii pe mai multe linii, care sunt extrase automat din codul-sursă de către generatorul de documentaţie
  212. 28. Care este valoarea implicită a tipului referinţă?
  213. a. valoarea null care indică o referinţă încă neprecizată
  214. b. valoarea False
  215. c. valoarea 0(zero)
  216. 29. Instrucţiunea break produce:
  217. a. intreruperea execuţiei programului până când utilizatorul apasă Enter
  218. b. „scurtcircuitarea” unei bucle (for,do,while) – adică salt peste instrucţiunile de până la sfârşitul buclei
  219. c. intreruprea unei bucle (for,do,while) sau a unui bloc switch
  220.  
  221. 30. Care va fi efectul secvenţei următoare_
  222. do{ a. se prelucrează toate caracterele tastate până
  223. car_citit=(char)System.in.read(); când se apasă T; acesta nu va fi prelucrat
  224. rel(car_citit); b. se ignoră toate caracterele diferite de T
  225. } c. se prelucrează toate caracterele testate până
  226. while (car_citit!=’T’); se apasă T; acesta va fi de asemenea prel.
  227. 31. Instanţierea unui obiect se face prin:
  228. a. declararea obiectului
  229. b. operatorul new
  230. c. declarare şi atribuire
  231. 32. În fragmentul următor de program sintaxa liniei marcate este:
  232. public class Biblio{
  233. private nr_carti;
  234. public Biblio(int nr_init) a. validă
  235. {nr_carti=nr_init;} b. nu este validă
  236. public int CiteCarti() c. ambiguă
  237. {return nr_carti;}
  238. …}
  239. Int carti_in_biblio=new Biblio(100).CateCarti() ; //marcaj
  240.  
  241. 33. Cum putem afişa ceva pe ecran în cadrul unei miniaplicaţii?
  242. a. scriem în metoda init() secvenţa
  243. public void init(Thread th){
  244. th.drawstring(“textul de afisat”);
  245. }
  246. b. scriem în metoda repaint() secvenţa System.out.println(”textul de afişat”);
  247. c. suprascriem metoda paint() astfel:
  248. public void paint(Graphics gr){
  249. gr.drawstring(“textul de afisat”);
  250. }
  251. 34. Activităţile aferente precizării structurii statice în cadrul metodei Civello şi Mitchell au ca scop:
  252. a. precizarea structurii programului(module, funcţii, fişiere, clase, obiecte)
  253. b. definirea claselor şi a relaţiilor dintre ele(comunicaţia între clase, clasificări, atribuiri)
  254. c. definirea ierarhiilor de clase(moştenirea, polimorfism, supraîncărcarea, constructori, destructori).
  255. 35. Pentru un produs-program, pot fi distinse următoarele nivele generale de abstractizare:
  256. a. variabile de instanţă, instanţierea claselor generice, moştenire, mesaje
  257. b. domeniul problemei,utilizator, gestiunea fişierelor, gestiunea proceselor, structuri de date fundamentale, interfaţa cu perifericele
  258. c. nivelul logic, nivelul comunicaţiei, nivelul driver, nivelul fizic, nivelul aplicaţiei, nivelul interfeţei utilizator
  259.  
  260.  
  261. 36.Java permite realizarea programarii concurente prin:
  262. a)...
  263. b)...
  264. c)folosirea firelor de executie si sincronizarea metodelor
  265. 37.principalele biblioteci de clase Java sunt orientate pe
  266. a)pe GUI, imagini si audio, lucrul in retea
  267. b)TCP/IP, FTP
  268. c)interfata cu utilizatorul, interfata de retea,interfata cu baza de date
  269. 38.secventa de program Java de mai jos
  270. public class Apartament { //1
  271. private: //2
  272. int nr_cam; //3
  273. int supraf; //4
  274. public : //5
  275. Apartament(int nrc, int sup) //6
  276. {nr_cam = nrc; supraf = sup;} //7
  277. ...
  278. }; //8
  279. a)este corecta
  280. b)este eronata, trebuie private in liniile 3 si 4, public in linia 6, toate fara ":" si in linia 8 nu trebuie ";"
  281. c)...
  282. 39.ce semnifica sintaxa de la linia marcata ?
  283. public class Biblioteca {
  284. public Biblioteca() {this(0);} //marcaj
  285. public Biblioteca(int nrc)
  286. {nr_crt = private nr_crt; //aici am observat ca lipseste tipul campului !?
  287. ...
  288. }
  289. a)este un constructor care pune pe zero obiectul curent
  290. b)este o metoda speciala care genereaza o referinta la obiectul curent
  291. c) este un constructor care initializeaza cu o valoare redefinita (aici , zero) variabila instanta, prin apelul celuilalt constructor, inlocuind astfel conventia cu argumente implicite, care nu este disponibila in Java.
  292. 40.* Ce sunt variabilele de tip instanta in Java?
  293. a)variabile membre de tip public
  294. b)variabile oarecare
  295. c)variabilele membre ale unei clase, care nu sunt de tip static
  296. 41.Graphics este in Java :
  297. a)o variabila membra a java.applet.Applet care permite apelarea operatiilor de intrare/iesire
  298. b)un tip predefinit care contine mai multe metode pentru desenarea imaginilor si scrierea textului pe ecran
  299. c)denumirea engleza a aspectelor grafice ale miniaplicatiilor Java
  300.  
  301.  
  302. 42.Prin mostenire intelegem:
  303. a) separarea aspectelor externe ale unui obiect,accesibile altor obiecte,de cele interne.
  304. b) ca aceeasi metoda poate avea comportament diferit in clase diferite.
  305. c) transmiterea atributelor si operatiilor de-a lungul claselor bazate pe o relatie ierarhica.
  306. 43.In lipsa specificatorilor „public” si „private” toti membrii unei clase vor fi implicit:
  307. a) privati
  308. b) compilatorul va semnala eroare
  309. c) publici
  310. 44.O functie virtuala:
  311. a) defineste o metoda care nu poate fi apelata din clasa derivata chiar daca este publica.
  312. b) defineste o clasa generala de actiuni iar redefinirea ei introduce o metoda specifica.
  313. c) defineste o metoda specifica iar redefinirea ei introduce o clasa generala de actiuni.
  314. 45. Fie urmatoarea secventa de program:
  315. Class A
  316. {
  317. ...
  318. Public: int adunare(int x,int y)
  319. {
  320. ...
  321. }
  322. };
  323. Class B:public A
  324. {
  325. ...
  326. Public: float adunare(float x,float y)
  327. {
  328. ...
  329. }
  330. };
  331. Daca avem un obiect: B ob(de tipul lui B) atunci B.adunare(3,4) va apela:
  332. a) Va genera eroare deoarece B este o clasa si nu un obiect
  333. b) Functia adunare din clasa B
  334. c) Functia adunare din clasa A
  335. 46. Programul urmator are ca efect:
  336. #include<iostream.h>
  337. Class exemplu_static{
  338. Static int a; //aici e o variabila membra de tip static
  339. Int b; // aceasta nu e de tip static
  340. Public:
  341. Void seteaza(int i,int j) {a=i; b=j; }
  342. Void arata();
  343. };
  344. Int exemplu_static::a; // iata si definirea globala
  345. // pentru variabila de tip static
  346. Void exemplu_static::arata()
  347. {
  348. Cout<<”acesta este a static: „<<a;
  349. Cout<<”\nacesta este b ne-static: „<<b;
  350. Cout<<”\n”;
  351. }
  352. Main()
  353. {
  354. Exemplu_static ob1,ob2; //doua obiecte de tipul clasei
  355. Ob1.seteaza(1,2);
  356. Ob1.arata();
  357. Ob2.seteaza(3,4);
  358. Ob2.arata();
  359. Ob1.arata();
  360. Return 0;
  361. }
  362. Afisarea urmatoarelor texte:
  363.  
  364. a) Acesta este a static: 1 c) acesta este a static: 1
  365. Acesta este b ne-static: 2 acesta este b ne-static: 2
  366. Acesta este a static: 1 acesta este a static: 1
  367. Acesta este b ne-static: 4 acesta este b ne-static: 4
  368. Acesta este a static: 1 acesta este a static: 3
  369. Acesta este b ne-static: 2 acesta este b ne-static: 2
  370.  
  371. b) Acesta este a static: 1
  372. Acesta este b ne-static: 2
  373. Acesta este a static: 3
  374. Acesta este b ne-static: 4
  375. Acesta este a static: 3
  376. Acesta este b ne-static: 2
  377.  
  378.  
  379.  
  380.  
  381. 47. Daca avem o clasa student si constructorul acesteia de forma student( char *x,int y); atunci un obiect initializat se va declara:
  382. a) student a();
  383. b) student a(„Ion”,4);
  384. c) student („Ion”,4);
  385. 48. Avand secventa de program:
  386. Class aaa
  387. {
  388. Int x;
  389. ...
  390. Public:
  391. ...
  392. };
  393. ...
  394. aaa ob;
  395. cout<<ob.x;
  396. a) Secventa este corecta
  397. b) Secventa de cod nu este corecta deoarece trebuia scris cout<<x;
  398. c) Secventa de cod nu este corecta,deoarece nu avem acces la membrii privati ai unei clase.
  399. 49. Secventa urmatoare de program:
  400. #include<iostream.h>
  401. Class ordine{
  402. Public:
  403. Int cine;
  404. Ordine(int);
  405. ~ordine();
  406. } glob_ob1(10),glob_ob2(20); // doua obiecte globale
  407. ordine::ordine(int valinit)
  408. {
  409. Cout<<”Initializare „<<valinit<<”\n”;
  410. Cine=valinit;
  411. }
  412. Ordine::~ordine()
  413. {
  414. Cout<<”distrugere „<<cine<<”\n”;
  415. }
  416. Main()
  417. {
  418. Ordine local_ob1(30); // obiect local
  419. Cout<<”Vedeti? Aceasta nu e prima linie afisata! \n”;
  420. Ordine local_ob2(40); //alt obiect local
  421. Return 0;
  422. }
  423.  
  424. Va determina afisarea urmatoarelor texte:
  425. a) Initializare 10
  426. Initializare 20
  427. Initializare 30
  428. Initializare 40
  429. Vedeti? Aceasta nu e prima linie afisata!
  430. Distrugere 40
  431. Distrugere 30
  432. Distrugere 20
  433. Distrugere 10
  434.  
  435. b) Initializare 10
  436. Initializare 20
  437. Initializare 30
  438. Vedeti? Aceasta nu e prima linie afisata!
  439. Initializare 40
  440. Distrugere 40
  441. Distrugere 30
  442. Distrugere 20
  443. Distrugere 10
  444.  
  445. c) Initializare 10
  446. Initializare 20
  447. Initializare 30
  448. Vedeti? Aceasta nu e prima linie afisata!
  449. Initializare 40
  450. Distrugere 10
  451. Distrugere 20
  452. Distrugere 30
  453. Distrugere 40
  454. 50. Fie urmatoarea secventa de program:
  455. Class A
  456. {
  457. ...
  458. Public:
  459. Int functie(int x,int y)
  460. {
  461. ...
  462. }
  463. };
  464. Class B:public A
  465. {
  466. ...
  467. Public:
  468. ...
  469. };
  470.  
  471. Daca avem un obiect: B ob(de tipul lui B) atunci ob.functie(5,8) :
  472. a) Va apela functia din clasa A deoarece clasa B mosteneste public clasa A
  473. b) Va genera eroare deoarece in clasa B nu exista functia adunare.
  474. c) Va genera eroare deoarece clasa B nu are acces la functiile membre ale clasei A
  475. 51. O clasa poate avea:
  476. a) un singur constructor si un singur destructor.
  477. b) mai multi constructori si un singur destructor.
  478. c) mai multi constructori si destructori.
  479. 52. Care din urmatoarele afirmatii este falsa?
  480. a) constructorul nu poate fi virtual,destructorul poate fi.
  481. b) functiile virtuale nu pot fi membri statici ai clasei.
  482. c) functiile virtuale pot fi membri friend ai clasei.
  483. 53. Un constructor poate returna:
  484. a) numai tipuri de date predefinite in C sau C++.
  485. b) nu poate returna o valoare.
  486. c) tipuri de date definite de programatori sau tipuri de date predefinite in C sau C++.
  487. 54. Daca o clasa de baza este mostenita private, toti membrii publici ai clasei devin in clasa derivata membri:
  488. a) publici
  489. b) privati
  490. c) protejati
  491. 55. Secventa urmatoare de program:
  492. #include<iostream.h> //1
  493. Class un_param{ //2
  494. Int a; //3
  495. Public: //4
  496. Un_param(int i); //5
  497. Int da_a(){return a;} //6
  498. }; //7
  499. Main() //8
  500. {
  501. Un_param obiect=55; //9 paseaza 55 lui i din constructor si
  502. Cout<<obiect.da_a(); //10 afiseaza ca sa ne convingem ca asa e
  503. Return 0; //11
  504. } //12
  505.  
  506. Va da eroare de compilare deoarece:
  507. a) Linia 7 are „;” dupa acolada
  508. b) Linia 9 trebuie sa arate corect asa: un_param obiect(55)
  509. c) Constructorul nu e definit (trebuia: un_param(int i){a=i;})
  510.  
  511.  
  512.  
  513.  
  514.  
  515. 56. O clasa care contine o functie virtuala se numeste:
  516. a) clasa polimorfica
  517. b) clasa incapsulata
  518. c) clasa virtuala
  519. 57. Precizati varianta corecta de creare a unui tablou de obiecte de tipul A. Fie:
  520. Class A
  521. {
  522. Public:
  523. ...
  524. };
  525. A obiect;
  526. Pentru a crea un tablou de obiecte trebuie facut:
  527. a) Tablou A(10);
  528. b) Tablou A[10];
  529. c) A tablou[10];
  530.  
  531. 58. In cadrul unei clase se defineste o variabila membru statica.Atunci:
  532. a) pentru fiecare instantiere a clasei avem cate o variabila membru statica.
  533. b) pentru toate instantierile clasei avem o singura variabila membru statica.
  534. c) o clasa nu poate fi instantiata mai mult decat o data daca avem declarat in cadrul ei o variabila membru statica.
  535. 59. Care este avantajul folosirii clasei Carray?
  536. a) poate accesa liste foarte lungi
  537. b) permite verificarea domeniului la accesarea unui tablou
  538. c) permite ordonarea rapida a unei liste
  539. 60. Ce este biblioteca de tipare standard?
  540. a) un set de colectii,algoritmi si functii generale care utilizeaza masiv tiparele pentru functiile si clasele sale.
  541. b) un sistem grafic de preincarcare a unei imagini standardizate pentru fisiere bitmap.
  542. c) o biblioteca cu tipare de functii matematice standardizate.
  543. 61. Un container serveste pentru:
  544. a) stocarea mai multor tablouri de valori
  545. b) maparea evenimentelor la obiecte
  546. c) stocarea obiectelor
  547. 62. In ce ordine se vor afisa numerele de catre programul urmator?
  548. #include<stdafx.h>
  549. #include<iostream.h>
  550. #include<vector>
  551. #include<algorithm>
  552. Using namespace std;
  553. Typedef vector<int> vectsort;
  554. Int main(int argc,char *argv[])
  555. {
  556. Vectsort v;
  557. v.push_back(434);
  558. v.push_back(356);
  559. v.push_back(267);
  560. v.push_back(987);
  561. sort(v.begin(),v.end());
  562. vector<int>::reverse_iterator iter=v.rbegin();
  563. while(iter != v.rend())
  564. {
  565. Cout<<*iter<<endl;
  566. ++iter;
  567. }
  568. Return 0;
  569. }
  570.  
  571. a) 434,356,267,987
  572. b) 267,356,434,987
  573. c) 987,434,356,267
  574.  
  575. 62. Pentru o colectie de tip harta,mecanismul de regasire a informatiei este:
  576. a) fiecarui articol stocat intr-o harta ii este asociata o cheie unica,fiecare cheie este convertita mai intai intr-o valoare codificata (hash value), care este folosita apoi pentru a cauta articolul dorit dintr-o lista.
  577. b) fiecarui articol stocat intr-o harta ii este asociata o cheie unica,fiecare cheie este convertita mai intai intr-o valoare codificata (hash value), care este folosita apoi
  578. ca indice intr-o matrice unde sunt stocate articolele din colectie.
  579. d) exista o harta a memoriei (memory map) unde fiecarui articol ii corespunde un indice unic numit hash index, prin accesarea cu hash index se determina selectia automata a articolului dorit.
  580.  
  581. 63. Iteratorii se folosesc pentru:
  582. a) indicarea evolutiei calculelor in cadrul unor iteratii din algoritmii recursivi
  583. b) numararea elementelor dintr-un container
  584. c) deplasarea printre articolele stocate intr-un container.
  585. 64. Cum e corect?
  586. a)
  587. template<class T>
  588. class CStack
  589. {
  590. Public:
  591. Cstack();
  592. Virtual ~Cstack();
  593. BOOL IsEmpty()const;
  594. T Pop();
  595. Void Push(const T&item);
  596. Private:
  597. CStack <T> (const CStack &T) {};
  598. ...
  599. b)
  600. template<int T>
  601. class CStack
  602. {
  603. Public:
  604. Cstack();
  605. Virtual ~Cstack();
  606. BOOL IsEmpty()const;
  607. T Pop();
  608. Void Push(const T&item);
  609. Private:
  610. CStack <T> (const CStack &T) {};
  611. ...
  612. c)
  613. typedef template<int T>
  614. class CStack
  615. {
  616. Public:
  617. Cstack();
  618. Virtual ~Cstack();
  619. BOOL IsEmpty()const;
  620. T Pop();
  621. Void Push(const T&item);
  622. Private:
  623. CStack <T> (const CStack &T) {};
  624. ...
  625. 65. Tiparele de programare au avantajul ca permit:
  626. a) definire de clase care pot fi usor reutilizate prin mostenire
  627. b) utilizarea de clase si functii care accepta parametri la folosire
  628. c) apeluri simple pentru transferul parametrilor actuali
  629.  
  630. 66. In codul sursa de mai jos instructia marcata cu $ este:
  631. ...
  632. Class cladire{
  633. Int camere;
  634. Int etaje;
  635. Public:
  636. Void nr_camere(int);
  637. Int cate_camere();
  638. Void nr_etaje(int);
  639. Int cate_etaje();
  640. };
  641. Class apartament:public cladire{
  642. Int dormitoare;
  643. Public:
  644. Void nr_dormitoare(int);
  645. Int cate_dormitoare();
  646. };
  647. ...
  648. Main()
  649. {
  650. Apartament ap;
  651. Ap.nr_dormitoare(2);
  652. Ap.nr_camere(5); // $
  653. ...
  654. a) corecta daca cuvantul-cheie public de la clasa apartament e schimbat in private
  655. b) incorecta
  656. c) valida
  657. 67. Executabilul generat de un mediu de dezvoltare pentru sisteme incorporate ruleaza:
  658. a) pe microcontrollerul incorporat din sistemul gazda (host)
  659. b) pe calculatorul pe care ruleaza mediul de dezvoltare
  660. c) pe microcontrollerul din sistemul incorporat
  661.  
  662. 68. Intr-o aplicatie dintr-un sisem incorporat care contine senzori,care sunt avantajele utilizarii unei clase abstracte senzor, care contine functii virtuale pure pentru citirea propriu-zisa a valorii de la senzor si metode de acces la valoarea citita?
  663. a) metodele care permit citirea valorii fiind in clasa derivata,se permite astfel programatorului sa citeasca valorile folosind obiecte de tip derivat,ceea ce simplifica modul de programare.
  664. b) metodele care permit accesarea valorii citite sunt deja prezente in clasa de baza,ceea ce permite programului sa utilizeze principiul de substitutie al lui Liskov si astfel sa acceseze valorile de la senzori folosind acelasi cod,indiferent de senzor,iar detaliile de implementare (citirea propriu-zisa) sunt in clasele derivate,programatorul nu trebuie astfel sa cunoasca modul concret de implementare.
  665. c) metodele care permit citirea propriu-zisa a valorii de la senzor sunt astfel protejate de accese neautorizate si programatorul se poate concentra asupra implementarii preluarii valorii.
  666.  
  667. 69. Pentru a implementa arhitectura document-view intr-o aplicatie MFC,pentru partea de document:
  668. a) Se deriveaza o clasa din Cdocument pentru fiecare tip de document,se adauga variabile membre pentru a stoca fiecare data document,se implementeaza functii membre pentru citirea si modificarea datelor document si se suprascrie functia membra Cobject::On-Update pentru a actualiza datele de pe disc.
  669. b) Se deriveaza o clasa din Cdocument pentru fiecare tip de document,se adauga variabile membre pentru a stoca fiecare data document,se implementeaza functii membre pentru citirea si modificarea datelor document si se suprascrie functia membra Cobject::Serialize in clasa document pentru a scrie si citi date document pe si de pe disc.
  670. c) Se deriveaza o clasa din Cdocument pentru fiecare tip de document,se adauga variabile membre pentru a stoca fiecare data document,se implementeaza functia UpdateAllViews pentru actualizarea tuturor vizualizarilor si se suprascrie functia membra Cobject::Serialize in clasa document pentru a scrie si citi date document pe si de pe disc.
  671.  
  672.  
  673. 70. Mecanismul de actualizare a tuturor vizualizarilor in cadrul arhitecturii document-view presupune:
  674. a) Modificarea documentului prin accesul din cadrul vizualizarii la metoda de modificare a variabilei membre din clasa derivata din CDocument,apelul metodei UpdateAllViews din acea clasa,care trimite notificari catre toate vizualizarile active si suprascrierea metodelor OnDraw (de desenare) din clasele de vizualizare,pentru a implementa actualizarile dorite pe aceste vizualizari.
  675. b) Modificarea documentului prin accesul din cadrul vizualizarii la metoda de modificare a variabilei membre din clasa derivata din CDocument,apelul metodei UpdateAllViews din acea clasa,care trimite notificari catre toate vizualizarile active si suprascrierea metodelor OnUpdate din clasele de vizualizare,pentru a implementa actualizarile dorite pe aceste vizualizari.
  676. c) Modificarea documentului prin accesul din cadrul vizualizarii la metoda de serializare a variabilei membre din clasa derivata din CDocument,apelul metodei UpdateAllViews din acea clasa,care trimite notificari catre toate vizualizarile active si suprascrierea metodelor OnRedraw (de redesenare) din clasele de vizualizare,pentru a implementa actualizarile dorite pe aceste vizualizari.
  677.  
  678. 71. Modelarea orientata pe obiecte parcurge urmatoarele etape:
  679. a) definirea claselor si a relatiilor dintre ele (comunicatia intre clase,clasificari, atribute)
  680. b) analiza a ceea ce face sistemul sa functioneze, examinarea domeniului problemei, utilizarea entitatilor si relatiilor dintre acestea pentru a concepe arhitectura aplicatiei.
  681. c) analiza a ceea ce face sistemul, determinarea functiunilor necesare prin descompunerea problemei in altele mai mici, determinarea claselor si a relatiior dintre acestea.
  682.  
  683. 72. In cadrul modelarii orientate pe obiecte, avem urmtoarele avantaje fata de abordarea structurata:
  684. a) este mai bine deoarece programul este vazut ca un model al realitatii, fiind format din obiecte care interactioneaza actiunile intreprinse in program se fac de catre obiecte si cu ajutorul lor.
  685. b) entitatile sunt mai stabile decat functiile, intretinerea aplicatiei este mai usoara, componentele de program sunt mai usor reutilizabile si tranzitia de la analiza la proiectare si implementare este naturala.
  686. c) etapele de dezvoltare sunt mai coerente deoarece se incepe cu ceea ce face sistemul sa functioneze, apoi se examineaza domeniul problemei,pentru a gasi entitati care au limite( frontiere) fizice sau conceptuale care le separa de restul domeniului si se utilizeaza entitatile si relatiile dintre acestea pentru a concepe arhitectura aplicatiei.
  687.  
  688. 73. Analiza orientata pe obiecte este:
  689. a) analiza solutiilor posibile prin inventarea (conceperea) sau alegerea claselor de obiecte pentru domeniul solutiilor si stabilirea relatiilor logice si interactiunilor dintre ele.
  690. b) descoperirea obiectelor esentiale (key objects) la nivelul curent de abstractizare si transferarea responsabilitatilor sistemului catre obiecte.
  691. c) procesul de identificare si definire a claselor (obiectelor) ce apartin domeniului problemei.
  692.  
  693. 74. In UML mesajul este:
  694. a) abstractie a unei unitati de comunicare intre un obiect sursa si un obiect tinta( cel care receptioneaza mesajul)
  695. b) un apel CallAction
  696. c) trimiterea unui semnal de la un obiect sursa la un obiect tinta (cel care receptioneaza mesajul).
  697.  
  698. 75. Relatiile dintre clase si obiecte sunt de tipul:
  699. a) colaborare, extensie, specializare, principiul de susbstitutie al lui Liskov
  700. b) asociere, agregare, compozitie, generalizare, dependenta
  701. c) parte/intreg, catalog, fizic,tip mesaj, compozitie, dependenta,generalizare.
  702. 76. Cerintele functionale in UML
  703. a) sunt codificate prin note text
  704. b) sunt reprezentate direct de cazurile de utilizare
  705. c) sunt reprezentate prin diagrame de secventa si prin diagrame de stare.
  706.  
  707. 77. Un caz de utilizare este:
  708. a) o capabilitate nominalizata a unei entitati structurale in cadrul unui model.
  709. b) un obiect in afara scopului sistemului considerat dar care are interactiuni semnificative cu acesta prin cazul de utilizare respectiv.
  710. c) o entitate structurala (un subsistem) din cadrul sistemului respectiv care cuprinde o realizare a unei functiuni.
  711.  
  712. 78. In UML conectarea modelului de obiecte cu modelul cazurilor de utilizare se realizeaza prin aceea ca:
  713. a) fiecare caz de utilizare corespunde cate unui obiect
  714. b) fiecare caz de utilizare va fi realizat de un set de obiecte care lucreaza impreuna.
  715. c) fiecare model de obiecte este realizat de un set de cazuri de utilizare care trimite secvente de mesaje.
  716.  
  717. 79. O stare este:
  718. a) o descriere a comportamentului unui obiect in timpul intrarii,iesirii sau persistentei.
  719. b) o conditie de existenta a unui clasificator (clasa sau caz de utilizare) care persista o perioada semnificativa de timp si poate fi cumva distinsa fata de alte conditii similare de existenta.
  720. c) o descriere complet constructiva de descompunere a comportamentului complex in bucati mai mici, fiecare fiind valabila in anumite conditii specifice.
  721.  
  722.  
  723. 80. Pentru identificarea cazurilor de utilizare analistul sta de vorba cu clientul si ii adreseaza intrebari cheie precum:
  724. a) care este rolul actorilor si al sistemului in fiecare scenariu? Care sunt interactiunile (fluxurile)? Care sunt secventele de evenimente si date si posibile variatiuni?
  725. b) care sunt actorii? Care sunt mesajele pe care le trimit si receptioneaza? Care sunt grupele care alcatuiesc cazuri de utilizare?
  726. c) care sunt functiile primare ale sistemului? Care sunt functiile secundare ale sistemului? De ce a fost construit sistemul? Ce inlocuieste si de ce?
  727.  
  728. 81. In UML comportamentul continual este modelat prin:
  729. a) un limbaj propriu de simulare (SimUML)
  730. b) nu exista posibilitati directe de simulare in UML
  731. c) comportament de stare
  732.  
  733. 82. Agregarea este:
  734. a) un tip special de asociere care implica proprietatea logica sau fizica.
  735. b) o forma tare de compozitie in care partile sunt in intregime in responsabilitatea clasei compozite
  736. c) o relatie de tip clasa parinte/clasa descendent
  737.  
  738. 83. Asocierile sunt:
  739. a) relatii care se manifesta la rulare pentru a permite schimb de mesaje intre obiecte
  740. b) relatii de colaborare definite prin existenta unui server si respectiv a unui pachet de metode
  741. c) codificate prin existenta unei clase asociative
  742.  
  743. 84. In UML o operatie este:
  744. a) specificarea unui comportament
  745. b) specificarea unui mesaj
  746. c) descrierea unui secvente de apeluri de metode
  747.  
  748. 85. Diagramele de secventa sunt:
  749. a) cea mai uzuala cale de reprezentare a scenariilor
  750. b) cea mai uzuala cale de reprezentare a cazurilor de utilizare
  751. c) diagrame care cuprind caile de realizare a asocierilor dintre obiecte si mesaje
  752. 86. Tipurile de operatii sunt:
  753. a) constructor, destructor, modificator, selector, iterator
  754. b) ortogonale, primitive, compozite, colectii, containere
  755. c) binare, constructor, destructor, primitive, ne-primitive
  756. 87. Un sablon (pattern)
  757. a) abstractizeaza si identifica aspectele cheie ale unei structuri comune de proiectare pe care o face utila pentru crearea unui design OO, reutilizabil.
  758. b) abstractizeaza si identifica aspectele cheie ale unei structuri comune de proiectare in care o singura sursa de informatie actioneaza ca un server pentru mai multi clienti.
  759. c) abstractizeaza si identifica aspectele cheie ale unei structuri comune de proiectare prin utilizarea claselor abstracte si a mostenirii si a functiilor virtuale.
  760.  
  761. 88. Sablonul Container este o buna solutie pentru cazul:
  762. a) cand un obiect are asociere 1 la mai multi si dorim sa imbunatatim reuzabilitatea si atunci acea clasa de la capatul „1” va gestiona un set de obiecte stocate intr-un container.
  763. b) cand devine mai usoara adaugarea unui nou container –un vector extensibil-prin crearea unei interfete care asigura clientilor serviciile cerute de acestia dar folosesc operatiile primitive ale containerelor existente.
  764. c) cand un obiect are nevoie de o implementare comuna potrivita pentru o varietate de utilizari.
  765.  
  766. 89. Cand, in cadrul sablonului Observer, serverul primeste un apel subscribe
  767. a) apeleaza periodic o metoda Gimme() de interogare direct a valorii urmarite
  768. b) creaza un obiect NotificationHandle care include adresa obiectului.
  769. c) creaza un obiect de tip ConcreteObserver care adauga stocarea locala in aributele dorite.
  770.  
  771. 90. Un sablon (pattern) este:
  772. a) o structura de program orientat pe obiecte
  773. b) o regula care leaga printr-o ierarhie de clase o descriere de solutie de un set de specificatii.
  774. c) o regula care exprima o relatie dintre un context,o problema si o solutie.
  775.  
  776. 91. Sablonul Observer rezolva problema
  777. a) in care un server trebuie sa furnizeze la cerere date citite din proces
  778. b) in care un obiect trebuie sa afiseze periodic (observe) schimbarile survenite in valorile citite de la un senzor
  779. c) in care o singura sursa de informatie actioneaza ca un server pentru mai multi clienti care trebuie sa isi actualizeze autonom datele cand acestea se schimba.
  780.  
  781. 92. La un sablon Interface participa clasele:
  782. a) Stack, List, Interface
  783. b) Client, Server, List, Interface
  784. c) Client, Interface, Implementation
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement