Ministerul Educa iei ✁ i Cercet✂ rii - Serviciul Na ional de Evaluare ✁ i Examinare
EXAMENUL DE BACALAUREAT – 2007
Proba scris la INFORMATIC PROBA E, limbajul C/C++ Varianta 46
♦ Toate subiectele sunt obligatorii. Se acord 10 puncte din oficiu.
♦ Timpul efectiv de lucru este de 3 ore. ♦ În programele cerute la subiectele II i III, identificatorii utiliza i trebuie s respecte preciz rile din enun (bold), iar în lipsa unor preciz ri explicite, nota iile trebuie s corespund cu semnifica iile asociate acestora (eventual în form prescurtat ).
SUBIECTUL I (40 de puncte)
Pentru fiecare din itemii de la 1 la 8, scrie i pe foaia de examen litera corespunz toare r spunsului corect. Fiecare r spuns corect se noteaz cu 5 puncte. 1. Fie graful orientat G cu n=5 noduri, dat prin urm✂ toarele liste de adiacen ✂ : 1: (2, 3), 2: (3, 4), 3: (4, 5), 4: (1, 2), 5: (4). Care dintre urm✂toarele propozi ii este fals ? a. exist✂ cel pu in un nod în graful G care are gradul intern egal cu cel extern b. exist✂ cel pu in un drum între oricare dou✂ noduri ale grafului G c. graful G nu are circuite d. graful G are 9 arce 2. Fie a, b ✁ i c oricare trei numere naturale nenule. ☎ tiind c✂ a este divizor al lui b, iar c nu este multiplu al lui a, care dintre urm✂ toarele expresii are valoare 1? a. !((b % a) || !(c % a)) b. (b % a) || !(c % a) c. !(a % b) && (a % c) d. (b % a) && !(c % a) 3. Un arbore cu r✂ d✂cin✂ are nodurile numerotate de la 1 la 5. Care dintre urm✂ torii vectori nu poate fi vector de ta i? a. 2 0 1 1 2 b. 4 1 1 0 2 c. 3 4 0 2 3 d. 3 1 0 1 2 4. Fie n un num✂ r natural format din 6 cifre. Pentru a memora în variabila a cifra miilor num✂ rului n, se folose✁ te atribuirea : a. a=n/1000%10 b. a=n/100/10 c. a=n%1000%100 d. a=n/1000%100 5. Pentru subprogramul al✂turat, int func(int x) { apelul func(4) are ca rezultat: if(x<=0) return -1; else return 1/func(x-1)-2*func(x-2); } a. -1 b. -5 c. -6 d. 0 6. Se consider✂ graful neorientat dat prin matricea de adiacen ✂ 0 1 1 0 0 0 al✂ turat✂. 1 0 1 0 0 0 Care dintre urm✂toarele afirma ii este adev✂ rat✂ ? 1 1 0 0 0 0 0 0 0 0 1 0 0 0 0 1 0 0 0 0 0 0 0 0 a. nodurile 1, 2, 4 se afl✂ în aceea✁ i component✂ conex✂ b. graful con ine 3 componente conexe ✁ i cel pu in un nod izolat c. graful contine 2 componente conexe ✁ i nu are cicluri d. graful con ine 3 componente conexe ✁ i nu are cicluri 7. Se genereaz✂ prin metoda backtracking mul imi distincte cu elemente numere naturale nenule ✁ i cu proprietatea c✂ suma elementelor fiec✂rei mul imi este egal✂ cu 7 astfel: {1, 2, 4}, {1, 6}, {2, 5}, {3, 4}, {7}. Folosind aceea✁ i metod✂ pentru a genera mul imi distincte cu elemente numere naturale nenule ✁ i cu proprietatea c✂ suma elementelor fiec✂rei mul imi este egal✂ cu 9, stabili i în ce ordine sunt generate urm✂toarele mul imi: a) {2, 3, 4}; b) {3, 6}; c) {2, 7}; d) {1, 8}. a. d a b c b. d a c b c. a c b d d. a b c d 8. Se consider✂ o list✂ liniar✂ simplu înl✂n uit✂ , cu cel pu in dou✂ noduri. Fiecare nod re ine în câmpul info o valoare numeric✂ iar în câmpul adr adresa urm✂torului nod din list✂ . Dac✂ p este adresa unui nod din list✂ atunci p ✁ i p->adr con in aceea✁ i informa ie în câmpul info dac✂ ✁ i numai dac✂ : a. p->adr == p b. p == p->info c. p->info == p->adr->info d. p.info == p->adr.info
INFORMATIC✄, limbajul C/C++ 1 Varianta 46
Ministerul Educa iei ✁ i Cercet✂ rii - Serviciul Na ional de Evaluare ✁ i Examinare
SUBIECTUL II (20 de puncte)
cite te n (nr. natural) Se consider programul pseudocod al turat: s1 0 S-a notat cu x%y restul împ✂r irii numerelor întregi x ✁ i y ✁ i cu s2 0 [x] partea întreag✂ a num✂ rului real x. nr 0 ┌cât timp n≠0 execută 1. Care este valoarea afi✁ at✂ pentru n=50324? (4p.) │ ┌dacă n % 2 = 0 atunci │ │ s1 s1 + n % 10 2. Pentru n = 31a2b , unde a este cifra sutelor iar b este │ │ altfel │ │ s2 s2 + n % 10 cifra unit✂ ilor, câte perechi ordonate (a,b) de cifre exist✂ │ └■ pentru ca valoarea afi✁ at✂ s✂ fie 1. (3p.) │ n [n/10] 3. Scrie i programul C/C++ corespunz✂ tor algoritmului dat. └■ (8p.) ┌dacă s1 = s2 atunci │ nr 1 4. S✂ se scrie un program pseudocod echivalent cu cel dat └■ folosindu-se un alt tip de structur✂ repetitiv✂. (5p.) scrie nr
SUBIECTUL III (30 de puncte)
Din fi✁ ierul bac.in se cite✁ te de pe prima linie un num✂r natural n (0<n<5000), iar de pe linia a 1. doua se citesc n numere naturale, fiecare având cel mult patru cifre. În fi✁ ier numerele sunt separate prin câte un spa iu. a) Se cere s✂ se aleag✂ un algoritm eficient pentru determinarea valorilor distincte ✁ i s✂ se descrie în 3-4 rânduri algoritmul justificându-se eficien a sa; (4p.) b) Scrie i programul C sau C++ ce realizeaz✂ prelucrarea descris✂ la punctul a. Valorile distincte determinate se scriu, cu spa iu între ele, în fi✁ ierul bac.out. (6p.) Realiza i urm✂ toarele cerin e utilizând limbajul C sau C++: 2. a) Scrie i defini ia complet✂ a unui subprogram recursiv sub, care prime✁te prin intermediul parametrului n un num✂r natural cu cel mult 8 cifre ✁ i returneaz✂ prin intermediul celui de-al doilea parametru max, cea mai mare cifr✂ din scrierea lui n; (4p.) b) Scrie i un program care cite✁ te de la tastatur✂ un num✂r natural nr cu cel mult 8 cifre ✁ i care, folosind subprogramul sub, afi✁ eaz✂ pe ecran cea mai mare cifr✂ a num✂ rului nr ✁ i de câte ori apare aceasta în scrierea sa. Exemplu, pentru nr=26361, se afi✁ eaz✂: 6 2. (6p.) Scrie i programul C sau C++ care cite✁ te de la tastatur✂ un ✁ ir de cel mult 100 de caractere, format 3. doar din literele mici ale alfabetului englez ✁ i caractere spa iu. Programul afi✁eaz✂ pe ecran ✁ irul codificat astfel: • dup✂ fiecare vocal✂ se adaug✂ consoana imediat urm✂toare (dup✂ a se insereaz✂ b, dup✂ i se insereaz✂ j ✁ .a.m.d.), • la sfâr✁ itul ✁ irului se adaug✂ grupul de litere stop. Exemplu: dac✂ ✁ irul ini ial este „azi este proba de informatica” , dup✂ codificare se afi✁ eaz✂ : „abzij efstef propbab def ijnfoprmabtijcabstop” (10p.)