Centrul Naional pentru Curriculum i Evaluare n nvmntul Preuniversitar
Subiectul III (30 de puncte) - Varianta 008
Pentru itemul 1, scriei pe foaia de examen litera corespunztoare rspunsului corect.
1. Utiliznd metoda backtracking sunt generate numerele de 3 cifre care au cifrele n ordine cresctoare, iar cifrele aflate pe poziii consecutive sunt de paritate diferit. tiind c primele cinci soluii generate sunt, n aceast ordine, 123, 125, 127, 129, 145, care este cel de al 8-lea numr generat? (4p.) a. 169 b. 149 c. 167 d. 147
Scriei pe foaia de examen rspunsul pentru fiecare dintre cerinele urmtoare.
2. Se consider subprogramul f, void f(int n) descris alturat. Ce se va afia { if (n!=0) n urma apelului f(3);? (6p.) { if (n%2==0) cout<<n<< ; | printf("%d ",n); f(n-1); cout<<n<< ; | printf("%d ",n); } else cout<<endl; | printf("\n"); } 3. Pe prima linie a fiierului text BAC.TXT se afl o valoare natural n (1<n50), iar pe a doua linie n numere naturale cu maximum 4 cifre fiecare, desprite prin cte un spaiu. n irul numerelor de pe a doua linie a fiierului exist cel pzin dou numere ptrate perfecte. Scriei un program C/C++ care citete toate numerele din fiier i afieaz pe ecran expresia aritmetic reprezentnd suma numerelor de pe a doua linie a fiierului care au proprietatea c sunt ptrate perfecte, cu simbolul + ntre ele i, dup un semn =, valoarea acestei sume, ca n exemplu. Termenii sumei afiate se pot afla n orice ordine. Exemplu: dac fiierul BAC.TXT are urmtorul coninut 5 9 5 36 9 8 atunci pe ecran se poate afia: 9+9+36=54 sau 9+36+9=54 sau 36+9+9=54 (10p.) 4. Subprogramul sub primete prin intermediul parametrilor: n i m dou numere naturale (1<n<100, 1<m<100) a i b dou tablouri unidimensionale, fiecare avnd componente numere naturale de maximum patru cifre, ordonate cresctor; tabloul a conine n numere, toate pare, iar tabloul b conine m numere, toate impare. Subprogramul va afia pe ecran, n ordine cresctoare, separate prin cte un spaiu, un ir format dintr-un numr maxim de elemente care aparin cel puin unuia dintre tablouri, astfel nct orice dou elemente aflate pe poziii consecutive s fie de paritate diferit. Exemplu: pentru n=5, m=3 i tablourile a=(2,4,8,10,14) i b=(3,5,11), subprogramul va afia 2 3 4 5 8 11 14 sau 2 3 4 5 10 11 14. a) Scriei definiia complet a subprogramului sub, alegnd pentru rezolvare un algoritm eficient din punctul de vedere al timpului de executare. (6p.) b) Descriei succint, n limbaj natural, algoritmul pe baza cruia a fost scris subprogramul de la punctul a), explicnd n ce const eficiena metodei utilizate. (4p.)
BACALAUREAT 2009 - INFORMATIC, limbajul C/C++ Subiectul III