Professional Documents
Culture Documents
Simulare Info MI
Simulare Info MI
2. Subprogramul f este definit alăturat. Știind că v memorează int f(int st, int dr, int v[], int x) {
tabloul cu elementele (2, 5, 8, 33, 129, 230), în aceasta ordine, if(v[(st + dr) / 2] == x)
numerotate de la 0 la 5 iar x memorează valoarea 5, indicați return 1;
if(v[(st + dr) / 2] > x)
valoarea f(0, 5, v, x)
return 1 + f(st, (st + dr) / 2 - 1, v, x);
return 1 + f((st + dr) / 2 + 1, dr, v, x);
a. 2 b. 4 c. 3 d. 10 }
3. Cristian a primit o temă ce consta în scrierea lui 16 că suma de 4 numere aflate în ordine crescătoare. Astfel
primele 4 soluții generate sunt {1, 2, 4, 9}, {1, 2, 5, 8}, {1, 2, 6, 7}, {1, 3, 4, 8}. Indicați soluția generată imediat
după {1 ,3 ,5 ,7}
a. {1, 3, 4, 8} b. {1 ,4 ,5 ,6}
c. {2 ,3 ,4 ,7} d. {2 ,3 ,5 ,6}
4. Variabila ziar declarată alăturat, memorează date despre 1000 de ziare si contine titlul acestora si anul
aparitiei. Stiindu-se că acestea sunt numerotate de la 1, indicați expresia care afișează atât titlul cât și
mileniul în care a fost redactat ziarul cu numărul 5, separate printr-un spatiu.Mileniul unui an este fie prima
cifră a anului, în cazul în care anul este un număr ce are la sfârșit 3 zerouri (1000, 2000, 3000.. etc) fie
prima cifră a anului + 1 dacă anul este compus din cel puțin 2 cifre diferite(2001, 2010.. etc).
(4p.)
a. cout << ziar[4].titlu << ' ' << ziar[4].an_aparitie / 1000
struct {
a. cout << titlu[0].ziar[5] << ' ' << ziar[0].an_aparitie / 1000 char titlu[50];
int an_aparitie;
a. cout << ziar[4].titlu << an_aparitie % 1000 } ziar[1000];
(4p.)
a. cout << ziar[5].titlu << ziar[5].an_aparitie / 1000 + (ziar[5].an_aparitie % 1000 != 0)
5. Se consideră graful neorientat reprezentat prin următoarea lista de muchii [1, 2], [1, 3], [1, 5], [1, 6],
[2, 3], [2, 4], [6, 3], [6,5]. Câte dintre aceste noduri au ca grad un număr impar?
a. 4 b. 3 c. 2 d. 6