Centrul Naional pentru Curriculum i Evaluare n nvmntul Preuniversitar
BACALAUREAT 2009 - INFORMATIC, limbajul C/C++ Subiectul III Specializarea Matematic-informatic intensiv informatic Subiectul III (30 de puncte) - Varianta 004
Pentru itemul 1, scriei pe foaia de examen litera corespunztoare rspunsului corect. 1. Utiliznd metoda backtracking se genereaz n ordine lexicografic cuvintele de cte patru litere din mulimea A={a,b,c,d,e}, cuvinte care nu conin dou vocale alturate. Primele opt cuvinte generate sunt, n ordine: abab, abac, abad, abba, abbb, abbc, abbd, abbe. Care este antepenultimul cuvnt generat? (4p.) a. edde b. eddb c. edeb d. edcb
Scriei pe foaia de examen rspunsul pentru fiecare dintre cerinele urmtoare. 2. Pentru definiia alturat a subprogramului f, ce se afieaz ca urmare a apelului f(15,2);? (6p.) void f (int n, int x) { if(x>n) cout<<0; | printf(%d,0); else if(x%4<=1) f(n,x+1); else { f(n,x+3); cout<<1; | printf(%d,1); } } 3. Fiierul text NR.TXT conine pe o singur linie, separate prin cte un singur spaiu, cel mult 100 de numere naturale, fiecare numr avnd cel mult 4 cifre. Scriei un program C/C++ care citete numerele din fiierul NR.TXT i afieaz pe ecran, separate prin cte un spaiu, n ordine descresctoare, toate numerele din fiier care au cel mult 2 cifre. Dac fiierul nu conine astfel de numere se va afia pe ecran mesajul NU EXISTA. (10p.) 4. Subprogramul cif, cu doi parametri, primete prin intermediul parametrului a un numr natural cu cel mult 8 cifre i prin intermediul parametrului b o cifr; subprogramul returneaz numrul de apariii ale cifrei b n scrierea numrului a. Exemplu: pentru a=125854 i b=5, subprogramul va returna valoarea 2. a) Scriei definiia complet a subprogramului cif. (4p.) b) Scriei un program C/C++ care citete de la tastatur un numr natural n cu exact 8 cifre, fiecare cifr fiind nenul, i care determin i afieaz pe ecran, folosind apeluri utile ale subprogramului cif, cel mai mic numr palindrom ce poate fi obinut prin rearanjarea tuturor cifrelor numrului n. Dac nu se poate obine un palindrom din toate cifrele numrului n, programul va afia pe ecran numrul 0. Un numr natural este palindrom dac este egal cu numrul obinut prin scrierea cifrelor sale n ordine invers. Exemplu: dac n=21523531 atunci se va afia pe ecran numrul 12355321, iar dac n=12272351 atunci se va afia pe ecran numrul 0. (6p.)