variante bac

101
Ministerul Educaţiei, Cercetării şi Tineretului Centrul Naţional pentru Curriculum şi Evaluare în Învăţământul Preuniversitar BACALAUREAT 2008 - INFORMATICĂ, limbajul C/C++ Subiectul III Specializarea Matematică-informatică intensiv informatică Subiectul III (30 de puncte) - Varianta 001 Pentru itemul 1, scrieţi pe foaia de examen litera corespunzătoare răspunsului corect. 1. Utilizând metoda backtracking se generează în ordine lexicografică cuvintele de câte patru litere din mulţimea A={a,b,c,d,e}, cuvinte care nu conţin două vocale alăturate. Primele opt cuvinte generate sunt, în ordine: abab, abac, abad, abba, abbb, abbc, abbd, abbe. Câte dintre cuvintele generate încep cu litera b şi se termină cu litera e? (4p.) a. 9 b. 15 c. 12 d. 20 Scrieţi pe foaia de examen răspunsul pentru fiecare dintre cerinţele următoare. Pentru definiţia de mai jos a subprogramului f, ce se afişează ca urmare a apelului f(121,1);? (6p.) 2. //C void f(long n, int i) { if(n!=0) if(n%3>0) { printf("%d",i); f(n/3,i+1); } } //C++ void f(long n, int i) { if(n!=0) if(n%3>0) { cout<<i; f(n/3,i+1); } } 3. Fişierul text bac.txt conţine, pe o singură linie, cel mult 1000 de numere naturale nenule cu cel mult 4 cifre fiecare, numerele fiind separate prin câte un spaţiu. Scrieţi un program C/C++ care citeşte de la tastatură un număr natural nenul n (n999) şi numerele din fişierul bac.txt şi care afişează pe ecran, separate prin câte un spaţiu, toate numerele din fişier care sunt divizibile cu n. Dacă fişierul nu conţine niciun astfel de număr, atunci se va afişa pe ecran mesajul NU EXISTA. Exemplu: dacă fişierul bac.txt conţine numerele: 3 100 40 70 25 5 80 6 3798, pentru n=10 atunci pe ecran se va afişa: 100 40 70 80 (10p.) 4. Subprogramul sub, cu trei parametri, primeşte prin intermediul parametrului: v un tablou unidimensional cu cel mult 100 de componente ce memorează numere întregi cu cel mult 4 cifre; n un număr natural nenul mai mic sau egal cu 100 ce reprezintă numărul efectiv de componente ale tabloului primit prin intermediul parametrului v; a un număr întreg cu cel mult 4 cifre. Subprogramul sub returnează numărul componentelor tabloului primit prin intermediul parametrului v ale căror valori sunt strict mai mici decât valoarea parametrului a. Exemplu: pentru valorile n=5, v=(1 ,21,9 ,21,403), a=20 ale parametrilor, în urma apelului, subprogramului sub va returna valoarea 2. a) Scrieţi definiţia completă a subprogramului sub. (4p.) b) Să se scrie un program C/C++ care să citească de la tastatură un număr natural nenul n (n100) şi n numere întregi, fiecare având cel mult 4 cifre, şi care, folosind apeluri utile ale subprogramului sub, să afişeze pe ecran mesajul DA dacă oricare două dintre cele n numere întregi citite sunt distincte două câte două, sau mesajul NU în caz contrar. Exemplu: pentru n=6 şi cele n numere citite de la tastatură: 47 183 69 8 134 -56 se va afişa pe ecran mesajul DA (6p.)

Upload: afa-fafa

Post on 18-Dec-2015

103 views

Category:

Documents


0 download

DESCRIPTION

Informatica

TRANSCRIPT

  • Ministerul Educaiei, Cercetrii i Tineretului Centrul Naional pentru Curriculum i Evaluare n nvmntul Preuniversitar

    BACALAUREAT 2008 - INFORMATIC, limbajul C/C++ Subiectul III Specializarea Matematic-informatic intensiv informatic

    Subiectul III (30 de puncte) - Varianta 001

    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. Cte dintre cuvintele generate ncep cu litera b i se termin cu litera e? (4p.)

    a. 9 b. 15 c. 12 d. 20

    Scriei pe foaia de examen rspunsul pentru fiecare dintre cerinele urmtoare. Pentru definiia de mai jos a subprogramului f, ce se afieaz ca urmare a apelului f(121,1);? (6p.)

    2.

    //C void f(long n, int i) { if(n!=0) if(n%3>0) { printf("%d",i); f(n/3,i+1); } }

    //C++ void f(long n, int i) { if(n!=0) if(n%3>0) { cout

  • Ministerul Educaiei, Cercetrii i Tineretului Centrul Naional pentru Curriculum i Evaluare n nvmntul Preuniversitar

    BACALAUREAT 2008 - INFORMATIC, limbajul C/C++ Subiectul III Specializarea Matematic-informatic intensiv informatic

    Subiectul III (30 de puncte) - Varianta 002

    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 ultimul cuvnt generat? (4p.)

    a. edcb b. eeee c. edde d. eded

    Scriei pe foaia de examen rspunsul pentru fiecare dintre cerinele urmtoare. 2. Pentru definiia de mai jos a subprogramului f, ce se afieaz ca urmare a apelului

    f(12345);? (6p.)

    //C void f(long n) { printf("%d",n%10); if(n!=0) { f(n/100); printf("%d",n%10); } }

    //C++ void f(long n) { cout

  • Ministerul Educaiei, Cercetrii i Tineretului Centrul Naional pentru Curriculum i Evaluare n nvmntul Preuniversitar

    BACALAUREAT 2008 - INFORMATIC, limbajul C/C++ Subiectul III Specializarea Matematic-informatic intensiv informatic

    Subiectul III (30 de puncte) - Varianta 003

    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 penultimul cuvnt generat? (4p.)

    a. edec b. eded c. edde 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(26);? (6p.)

    void f (int x) { if(x>0) if(x%4==0) { cout

  • Ministerul Educaiei, Cercetrii i Tineretului Centrul Naional pentru Curriculum i Evaluare n nvmntul Preuniversitar

    BACALAUREAT 2008 - 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

  • Ministerul Educaiei, Cercetrii i Tineretului Centrul Naional pentru Curriculum i Evaluare n nvmntul Preuniversitar

    BACALAUREAT 2008 - INFORMATIC, limbajul C/C++ Subiectul III Specializarea Matematic-informatic intensiv informatic

    Subiectul III (30 de puncte) - Varianta 005

    Pentru itemul 1, scriei pe foaia de examen litera corespunztoare rspunsului corect. 1. Folosind modelul combinrilor se genereaz numerele naturale cu cte trei cifre distincte din

    mulimea {1,2,3,7}, numere cu cifrele n ordine strict cresctoare, obinndu-se, n ordine: 123, 127, 137, 237. Dac se utilizeaz exact aceeai tehnic pentru a genera numerele naturale cu patru cifre distincte din mulimea {1,2,3,4,5,6,7,8}, cte dintre numerele generate au prima cifr 2 i ultima cifr 7? (4p.)

    a. 8 b. 3 c. 4 d. 6

    Scriei pe foaia de examen rspunsul pentru fiecare dintre cerinele urmtoare. Pentru subprogramul f definit mai jos, ce se afieaz ca urmare a apelului f(3,17)?(6p.) 2. //C void f ( int a, int b) { if(a

  • Ministerul Educaiei, Cercetrii i Tineretului Centrul Naional pentru Curriculum i Evaluare n nvmntul Preuniversitar

    BACALAUREAT 2008 - INFORMATIC, limbajul C/C++ Subiectul III Specializarea Matematic-informatic intensiv informatic

    Subiectul III (30 de puncte) - Varianta 006

    Pentru itemul 1, scriei pe foaia de examen litera corespunztoare rspunsului corect. 1. Utiliznd metoda backtracking sunt generate numerele de 3 cifre, avnd toate cifrele

    distincte i cu proprietatea c cifrele aflate pe poziii consecutive sunt de paritate diferit. tiind c primele ase soluii generate sunt, n aceast ordine, 103, 105, 107, 109, 123,125, care este a zecea soluie generat? (4p.)

    a. 145 b. 147 c. 230 d. 149

    Scriei pe foaia de examen rspunsul pentru fiecare dintre cerinele urmtoare. 2. Se consider subprogramul alturat:

    Ce valoare are f(128,2)? (6p.) int f(int a, int b){ if (b

  • Ministerul Educaiei, Cercetrii i Tineretului Centrul Naional pentru Curriculum i Evaluare n nvmntul Preuniversitar

    BACALAUREAT 2008 - INFORMATIC, limbajul C/C++ Subiectul III Specializarea Matematic-informatic intensiv informatic

    Subiectul III (30 de puncte) - Varianta 007

    Pentru itemul 1, scriei pe foaia de examen litera corespunztoare rspunsului corect. 1. Se consider subprogramul f definit

    alturat. Ce se va afia n urma apelului f(12345);? (4p.)

    void f(long int n) { if (n!=0) {if (n%2 == 0) cout

  • Ministerul Educaiei, Cercetrii i Tineretului Centrul Naional pentru Curriculum i Evaluare n nvmntul Preuniversitar

    BACALAUREAT 2008 - INFORMATIC, limbajul C/C++ Subiectul III Specializarea Matematic-informatic intensiv informatic

    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,

    descris alturat. Ce se va afia n urma apelului f(3);? (6p.)

    void f(int n) { if (n!=0) { if (n%2==0) cout

  • Ministerul Educaiei, Cercetrii i Tineretului Centrul Naional pentru Curriculum i Evaluare n nvmntul Preuniversitar

    BACALAUREAT 2008 - INFORMATIC, limbajul C/C++ Subiectul III Specializarea Matematic-informatic intensiv informatic

    Subiectul III (30 de puncte) - Varianta 009

    Pentru itemul 1, scriei pe foaia de examen litera corespunztoare rspunsului corect. 1. Se consider subprogramul f cu definiia

    alturat. Ce valoare are f(1213111,1)? (4p.)

    int f (long int n, int k){ if (n!=0) if(n%10==k) return 1+f(n/10,k); else return 0; else return 0;}

    a. 5 b. 3 c. 2 d. 1

    Scriei pe foaia de examen rspunsul pentru fiecare dintre cerinele urmtoare. 2. Utiliznd metoda backtracking, sunt generate toate numerele de 3 cifre, astfel nct cifrele

    sunt n ordine cresctoare, iar cifrele aflate pe poziii consecutive sunt de paritate diferit. tiind c primele trei soluii generate sunt, n aceast ordine, 123, 125, 127, cte dintre toate numerele generate au suma cifrelor egal cu 6? (6p.)

    3. Scriei definiia complet a subprogramului sub cu doi parametri: n (numr natural,0

  • Ministerul Educaiei, Cercetrii i Tineretului Centrul Naional pentru Curriculum i Evaluare n nvmntul Preuniversitar

    BACALAUREAT 2008 - INFORMATIC, limbajul C/C++ Subiectul III Specializarea Matematic-informatic intensiv informatic

    Subiectul III (30 de puncte) - Varianta 010

    Pentru itemul 1, scriei pe foaia de examen litera corespunztoare rspunsului corect. 1. Se consider subprogramul cu definiia

    alturat. Ce valoare are f(3,1)? (4p.)

    int f(int n,int y) { if(n!=0) { y=y+1; return y+f(n-1,y); } else return 0; }

    a. 9 b. 6 c. 7 d. 8

    Scriei pe foaia de examen rspunsul pentru fiecare dintre cerinele urmtoare. 2. Folosind tehnica backtracking, un elev a scris un program care genereaz toate numerele

    de cte n cifre (1n9), cifrele fiind n ordine strict cresctoare. Dac n este egal cu 5, cte dintre numerele generate au prima cifr 4? (6p.)

    3. Scriei definiia complet a subprogramului sub cu trei parametri: n (numr natural, 5

  • Ministerul Educaiei, Cercetrii i Tineretului Centrul Naional pentru Curriculum i Evaluare n nvmntul Preuniversitar

    BACALAUREAT 2008 - INFORMATIC, limbajul C/C++ Subiectul III Specializarea Matematic-informatic intensiv informatic

    Subiectul III (30 de puncte) - Varianta 011

    Pentru itemul 1, scriei pe foaia de examen litera corespunztoare rspunsului corect. 1. Un algoritm de tip backtracking genereaz, n ordine lexicografic, toate irurile de 5 cifre 0

    i 1 cu proprietatea c nu exist mai mult de dou cifre 0 pe poziii consecutive. Primele 7 soluii generate sunt: 00100, 00101, 00110, 00111, 01001, 01010, 01011. Care este a 8-a soluie generat de acest algoritm? (4p.)

    a. 01110 b. 01100 c. 01011 d. 01101

    Scriei pe foaia de examen rspunsul pentru fiecare dintre cerinele urmtoare. 2. Care este valoarea expresiei f(23159)

    pentru funcia f, cu definiia alturat? (6p.) int f(int n){ int c; if (n==0) return 9; else {c=f(n/10); if (n%10

  • Ministerul Educaiei, Cercetrii i Tineretului Centrul Naional pentru Curriculum i Evaluare n nvmntul Preuniversitar

    BACALAUREAT 2008 - INFORMATIC, limbajul C/C++ Subiectul III Specializarea Matematic-informatic intensiv informatic

    Subiectul III (30 de puncte) - Varianta 012

    Pentru itemul 1, scriei pe foaia de examen litera corespunztoare rspunsului corect. 1. Se consider subprogramul P, definit alturat.

    tiind c valoarea variabilei ntregi a este nainte de apel 4, care este valoarea ei dup revenirea din apelul P(a)? (4p.)

    void P(int &x) { x=x+5; }

    a. 10 b. 4 c. 9 d. 5

    Scriei pe foaia de examen rspunsul pentru fiecare dintre cerinele urmtoare. 2. Pentru a scrie valoarea 10 ca sum de numere prime se folosete metoda backtracking i

    se genereaz, n aceast ordine, sumele distincte: 2+2+2+2+2, 2+2+3+3, 2+3+5, 3+7, 5+5. Folosind exact aceeai metod, se scrie valoarea 9 ca sum de numere prime. Care sunt primele trei soluii, n ordinea generrii lor? (6p.)

    3. Fiierele text NR1.TXT i NR2.TXT conin, separate prin cte un spaiu, mai multe numere ntregi de cel mult 9 cifre fiecare. Fiecare dintre fiiere conine cel mult 100 de valori i numerele din fiecare fiier sunt ordonate strict cresctor. Se cere s se afieze pe ecran, n ordine cresctoare, numerele divizibile cu 5 care se gsesc doar n unul din cele dou fiiere. Exemplu: dac fiierul NR1.TXT conine numerele 1 2 3 4 7 20 60, iar fiierul NR2.TXT conine numerele 3 5 7 8 9 10 12 20 24, atunci se vor afia pe ecran valorile 5 10 60. a) Descriei un algoritm de rezolvare a acestei probleme, eficient din punct de vedere al timpului de executare i al spaiului de memorie utilizat, explicnd n ce const eficiena acestuia. (4p.) b) Scriei programul C/C++ corespunztor algoritmului descris. (6p.)

    4. Scriei un program C/C++ care citete de la tastatur o valoare natural nenul n (n20), apoi un ir de n numere naturale, avnd fiecare exact 5 cifre, i determin i afieaz pe ecran cte dintre cele n numere citite au toate cifrele egale. Exemplu: pentru n=5 i numerele 33333 12423 59824 11111 33443 se va afia valoarea 2 (exist dou numere cu toate cifrele egale i anume 33333 i 11111). (10p.)

  • Ministerul Educaiei, Cercetrii i Tineretului Centrul Naional pentru Curriculum i Evaluare n nvmntul Preuniversitar

    BACALAUREAT 2008 - INFORMATIC, limbajul C/C++ Subiectul III Specializarea Matematic-informatic intensiv informatic

    Subiectul III (30 de puncte) - Varianta 013

    Pentru itemul 1, scriei pe foaia de examen litera corespunztoare rspunsului corect. 1. Fie subprogramul fct definit alturat, parial. Iniial, variabile ntregi

    a, b i c au valorile a=8, b=31 i c=9, iar dup apelul fct(a,b,c), valorile celor trei variabile sunt a=9, b=31 i c=39. Care poate fi antetul subprogramului fct? (4p.)

    void fct(....) { x=x+1; y=y-1; z=x+y; }

    a. void fct(int &x,int &y,int &z) b. void fct(int x,int &y,int &z) c. void fct(int x,int y,int z) d. void fct(int &x,int y,int &z)

    Scriei pe foaia de examen rspunsul pentru fiecare dintre cerinele urmtoare. 2. Trei biei, Alin, Bogdan i Ciprian, i trei fete, Delia, Elena i Felicia, trebuie s

    formeze o echip de 3 copii, care s participe la un concurs. Echipa trebuie s fie mixt (adic s conin cel puin o fat i cel puin un biat). Ordinea copiilor n echip este important deoarece aceasta va fi ordinea de intrare a copiilor n concurs (de exemplu echipa Alin, Bogdan, Delia este diferit de echipa Bogdan, Alin, Delia). Cte echipe se pot forma, astfel nct din ele s fac parte simultan Alin i Bogdan? (6p.)

    3. Se consider irul 1, 2,1, 3,2,1, 4,3,2,1, ... construit astfel: prima grup este format din numrul 1, a doua grup este format din numerele 2 i 1, iar grupa a k-a, este format din numerele k, k-1,..., 1. Se cere s se citesc de la tastatur un numr natural n (n1000) i s se afieze pe ecran cel de al n-lea termen al irului dat. a) Descriei un algoritm de rezolvare a acestei probleme, eficient din punct de vedere al timpului de executare i al spaiului de memorie, explicnd n ce const eficiena acestuia. (4p.) b) Scriei programul C/C++ corespunztor algoritmului descris (6p.)

    4. Pe prima linie a fiierului text BAC.IN se gsesc, separate prin cte un spaiu, mai multe numere naturale de cel mult 9 cifre fiecare. Scriei un program C/C++ care citete numerele din acest fiier, elimin toate cifrele impare din fiecare dintre aceste numere i apoi scrie n fiierul text BAC.OUT numerele astfel obinute, separate prin cte un spaiu. Dac un numr din fiierul BAC.IN nu conine nicio cifr par nenul, acesta nu va mai aprea deloc n fiierul de ieire. (10p.) Exemplu: dac fiierul BAC.IN conine numerele 25 7 38 1030 45127 0 35 60 15, atunci BAC.OUT va avea coninutul: 2 8 42 60.

  • Ministerul Educaiei, Cercetrii i Tineretului Centrul Naional pentru Curriculum i Evaluare n nvmntul Preuniversitar

    BACALAUREAT 2008 - INFORMATIC, limbajul C/C++ Subiectul III Specializarea Matematic-informatic intensiv informatic

    Subiectul III (30 de puncte) - Varianta 014

    Pentru itemul 1, scriei pe foaia de examen litera corespunztoare rspunsului corect. 1. Care dintre urmtoarele variante reprezint antetul corect al unui subprogram care primete

    prin parametrii x i y dou numere ntregi i furnizeaz prin parametrul m cea mai mic dintre cele dou valori x i y? (4p.)

    a. int minim(int x,int y,int m) b. void minim(int x,int y,int &m) c. int minim(int x,int y) d. void minim(int x,int y,int m)

    Scriei pe foaia de examen rspunsul pentru fiecare dintre cerinele urmtoare. 2. Pentru funciile f1 i f2 definite

    alturat, stabilii care este valoarea lui f2(41382)? (6p.)

    long f1(int c) { if (c%2==1) return 1; else return 2; }

    long f2(long n) { if (n==0) return 0; else return f1(n%10)+f2(n/10); }

    3. Se citete de la tastatur un numr natural n (n500) i apoi n cifre. Se cere s se afieze pe ecran cele n cifre citite, n ordine cresctoare, separate prin cte un spaiu. Exemplu: pentru n=19 i cifrele 3 3 0 9 2 1 2 1 3 7 1 5 2 7 1 0 3 2 3 se va afia pe ecran 0 0 1 1 1 1 2 2 2 2 3 3 3 3 3 5 7 7 9. a) Descriei pe scurt un algoritm de rezolvare al problemei, eficient din punct de vedere al spaiului de memorie utilizat i al timpului de executare, explicnd n ce const eficiena metodei alese. (4p.) b) Scriei programul C/C++ corespunztor algoritmului descris. (6p.) Fiierul text BAC.TXT conine mai multe numere naturale, cu cel mult 6 cifre fiecare, cte un numr pe fiecare linie a fiierului.

    4.

    Scriei un program C/C++ care citete toate numerele din fiierul BAC.TXT i le afieaz pe ecran, cte 5 pe fiecare linie, separate prin cte un spaiu, cu excepia ultimei linii care poate conine mai puin de 5 numere. Programul va afia apoi pe ecran, pe o linie separat, cte numere din fiier au suma cifrelor par. Exemplu: dac fiierul are coninutul alturat, pe ecran se vor afia numerele de mai jos: 11 21 30 40 51 16 17 10 1 4 (10p.)

    11 21 30 40 51 16 17 10 1

  • Ministerul Educaiei, Cercetrii i Tineretului Centrul Naional pentru Curriculum i Evaluare n nvmntul Preuniversitar

    BACALAUREAT 2008 - INFORMATIC, limbajul C/C++ Subiectul III Specializarea Matematic-informatic intensiv informatic

    Subiectul III (30 de puncte) - Varianta 015

    Pentru itemul 1, scriei pe foaia de examen litera corespunztoare rspunsului corect. 1. Cte numere cu exact 3 cifre pot fi construite folosind doar cifre pare? (4p.)

    a. 125 b. 100 c. 64 d. 128

    Scriei pe foaia de examen rspunsul pentru fiecare dintre cerinele urmtoare. Pentru funciile f i g definite mai jos, stabilii care este rezultatul returnat la apelul f(6)? (6p.)

    2.

    long g(long x) { if (x>9) return (x/10 + x%10); else return x; }

    long f(int c) { if (c

  • Ministerul Educaiei, Cercetrii i Tineretului Centrul Naional pentru Curriculum i Evaluare n nvmntul Preuniversitar

    BACALAUREAT 2008 - INFORMATIC, limbajul C/C++ Subiectul III Specializarea Matematic-informatic intensiv informatic

    Subiectul III (30 de puncte) - Varianta 016

    Pentru itemul 1, scriei pe foaia de examen litera corespunztoare rspunsului corect. 1. Funcia F are definiia alturat. Ce valoare

    are F(3)? (4p.) int F(int n) {if(n==0 || n==1) return 1; else return 2*F(n-1)+2*F(n-2);}

    a. 1 b. 12 c. 6 d. 10

    Scriei pe foaia de examen rspunsul pentru fiecare dintre cerinele urmtoare 2. Un algoritm genereaz n ordine cresctoare toate numerele de n cifre, folosind doar cifrele

    3, 5 i 7. Dac pentru n=5, primele 5 soluii generate sunt 33333, 33335, 33337,33353, 33355, precizai care sunt ultimele 3 soluii generate, n ordinea generrii. (6p.)

    3. Scriei definiia complet a subprogramului multiplu care are 3 parametri: a, prin care primete un tablou unidimensional cu maximum 100 de numere naturale mai mici dect 1000, n, numrul de elemente ale tabloului i k, un numr natural (k9). Subprogramul returneaz numrul de elemente din tablou care sunt multipli ai numrului k i au ultima cifr egal cu k. Exemplu: dac n=6, a=(2,273,63,83,93,123), iar k=3, subprogramul va returna valoarea 4. (10p.)

    4. n fiierul numere.txt sunt memorate maximum 10000 de numere naturale cu cel mult 9 cifre fiecare. Fiecare linie a fiierului conine cte un numr. Se cere afiarea pe ecran, n ordine descresctoare, a tuturor cifrelor care apar n numerele din fiier. Alegei un algoritm de rezolvare eficient din punct de vedere al timpului de executare. Exemplu: dac fiierul numere.txt conine: 267 39628 79 se va tipri 9987766322. a) Descriei succint, n limbaj natural, strategia de rezolvare i justificai eficiena algoritmului ales. (4p.) b) Scriei programul C/C++ corespunztor algoritmului ales. (6p.)

  • Ministerul Educaiei, Cercetrii i Tineretului Centrul Naional pentru Curriculum i Evaluare n nvmntul Preuniversitar

    BACALAUREAT 2008 - INFORMATIC, limbajul C/C++ Subiectul III Specializarea Matematic-informatic intensiv informatic

    Subiectul III (30 de puncte) - Varianta 017

    Pentru itemul 1, scriei pe foaia de examen litera corespunztoare rspunsului corect. 1. Subprogramul f are definiia

    alturat. Ce se va afia n urma apelului f(12345);? (4p.)

    void f(long n) {if (n>9) {cout

  • Ministerul Educaiei, Cercetrii i Tineretului Centrul Naional pentru Curriculum i Evaluare n nvmntul Preuniversitar

    BACALAUREAT 2008 - INFORMATIC, limbajul C/C++ Subiectul III Specializarea Matematic-informatic intensiv informatic

    Subiectul III (30 de puncte) - Varianta 018

    Pentru itemul 1, scriei pe foaia de examen litera corespunztoare rspunsului corect. 1. Funcia f are definiia alturat. Ce se

    va afia n urma apelului f(12345,0);? (4p.)

    void f(long n, int i) {if (i

  • Ministerul Educaiei, Cercetrii i Tineretului Centrul Naional pentru Curriculum i Evaluare n nvmntul Preuniversitar

    BACALAUREAT 2008 - INFORMATIC, limbajul C/C++ Subiectul III Specializarea Matematic-informatic intensiv informatic

    Subiectul III (30 de puncte) - Varianta 019

    Pentru itemul 1, scriei pe foaia de examen litera corespunztoare rspunsului corect. 1. Funcia F are definiia alturat. Ce valoare

    are F(18)? (4p.) int F(int x){ if (x

  • Ministerul Educaiei, Cercetrii i Tineretului Centrul Naional pentru Curriculum i Evaluare n nvmntul Preuniversitar

    BACALAUREAT 2008 - INFORMATIC, limbajul C/C++ Subiectul III Specializarea Matematic-informatic intensiv informatic

    Subiectul III (30 de puncte) - Varianta 020

    Pentru itemul 1, scriei pe foaia de examen litera corespunztoare rspunsului corect. 1. Funcia F are definiia alturat. Ce valoare

    are F(5)? (4p.) int F(int x) {if(x!=0) return x+F(x-1); else return x; }

    a. 5 b. 10 c. 15 d. 6

    Scriei pe foaia de examen rspunsul pentru fiecare dintre cerinele urmtoare 2. Un algoritm genereaz n ordine descresctoare, toate numerele de n cifre (n

  • Ministerul Educaiei, Cercetrii i Tineretului Centrul Naional pentru Curriculum i Evaluare n nvmntul Preuniversitar

    BACALAUREAT 2008 - INFORMATIC, limbajul C/C++ Subiectul III Specializarea Matematic-informatic intensiv informatic

    Subiectul III (30 de puncte) - Varianta 021

    Pentru itemul 1, scriei pe foaia de examen litera corespunztoare rspunsului corect. 1. Care din urmtoarele probleme referitoare la mulimea de numere reale M={x1, x2, , xn}

    (n>1000) poate fi rezolvat cu un algoritm care are un numr minim de pai? (4p.) a. sortarea elementelor mulimii M b. generarea elementelor produsului

    cartezian M x M c. determinarea elementului minim al

    mulimii M d. generarea tuturor permutrilor mulimii M

    Scriei pe foaia de examen rspunsul pentru fiecare dintre cerinele urmtoare. 2. Se consider subprogramul, f, definit

    alturat. Ce valoare are f(100)? (6p.) int f(int n) { if(n==0) return 0; else return n%2+f(n/2); }

    3. Scriei definiia complet a unui subprogram i_prim care primete prin singurul su parametru, n, un numr natural din intervalul [2,30000] i returneaz diferena minim p2-p1 n care p1 i p2 sunt numere prime i p1np2. Exemplu: dac n=20 atunci i_prim(n)=4, valoare obinut pentru p1=19 i p2=23. (10p.) Fiierul text BAC.TXT conine pe prima linie dou numere naturale n i k separat de un spaiu (3n10000, 2kn/2), iar pe a doua linie un ir de n numere naturale x1, x2, ..., xn separate prin cte un spaiu, fiecare numr din acest ir avnd cel mult patru cifre. a) Scriei un program C/C++ care citete numerele din fiier i determin, utiliznd o metod eficient din punct de vedere al timpului de executare, cel mai mic indice i (1in-k+1) pentru care media aritmetic a numerelor xi, xi+1, ..., xi+k-1 este maxim. Programul afieaz valoarea lui i pe ecran. Exemplu: pentru fiierul alturat se afieaz 2, deoarece media maxim se obine pentru 9, 4, 7. (6p.)

    7 3 2 9 4 7 5 2 9

    4.

    b) Explicai succint, n limbaj natural, metoda utilizat la punctul a, justificnd eficiena acesteia. (4p.)

  • Ministerul Educaiei, Cercetrii i Tineretului Centrul Naional pentru Curriculum i Evaluare n nvmntul Preuniversitar

    BACALAUREAT 2008 - INFORMATIC, limbajul C/C++ Subiectul III Specializarea Matematic-informatic intensiv informatic

    Subiectul III (30 de puncte) - Varianta 022

    Pentru itemul 1, scriei pe foaia de examen litera corespunztoare rspunsului corect. 1. In timpul procesului de generare a permutrilor mulimii {1,2,,n} prin metoda

    backtracking, n tabloul unidimensional x este plasat un element xk (1kn). Acesta este considerat valid dac este ndeplinit condiia: (6p.)

    a. xk{x1, x2, , xk-1} b. xkxk-1 c. xk{x1, x2, , xn} d. xkxk-1 i xkxk+1

    Scriei pe foaia de examen rspunsul pentru fiecare dintre cerinele urmtoare. 2. Considerm subprogramul recursiv definit

    alturat. Ce se va afia n urma apelului de mai jos? f(C); (4p.)

    void f(char c) { if (c>A) f(c-1); cout

  • Ministerul Educaiei, Cercetrii i Tineretului Centrul Naional pentru Curriculum i Evaluare n nvmntul Preuniversitar

    BACALAUREAT 2008 - INFORMATIC, limbajul C/C++ Subiectul III Specializarea Matematic-informatic intensiv informatic

    Subiectul III (30 de puncte) - Varianta 023

    Pentru itemul 1, scriei pe foaia de examen litera corespunztoare rspunsului corect. 1. Algoritmul de generare a tuturor numerelor de 5 cifre nenule, fiecare avnd cifrele ordonate

    strict cresctor, este echivalent cu algoritmul de generare a: (6p.) a. submulimilor unei mulimi cu 5 elemente b. produsului cartezian a unor mulimi de

    cifre c. aranjamentelor de 9 elemente luate cte 5 d. combinrilor de 9 elemente luate cte 5

    Scriei pe foaia de examen rspunsul pentru fiecare dintre cerinele urmtoare. 2. Pentru subprogramul suma definit

    alturat, scriei valoarea expresiei suma(5,4). (4p.)

    int suma (int a,int b) { if (a==0 && b==0) return 0; else if (a==0) return 1+suma(a,b-1); else return 1+suma(a-1,b); }

    3. a) Scriei definiia complet a subprogramului shift care primete prin intermediul parametrului n o valoare natural nenul (n100), iar prin intermediul parametrului x, cele n componente ale unui tablou unidimensional. Fiecare component a acestui tablou este un numr ntreg care are cel mult 4 cifre. Subprogramul permut circular cu o poziie spre stnga elementele tabloului x i furnizeaz tabloul modificat tot prin parametrul x. Exemplu: dac nainte de apel n=4 i x=(1,2,3,4), dup apel x=(2,3,4,1). (4p.) b) Scriei un program C/C++ care citete de la tastatur o valoare natural nenul n (n100), apoi cele n elemente ale unui tablou unidimensional x. Programul va inversa ordinea elementelor tabloului x folosind apeluri utile ale subprogramului shift i va afia pe ecran, separate prin cte un spaiu, elementele tabloului rezultat n urma acestei prelucrri. Exemplu: dac se citesc pentru n valoarea 5, iar tabloul x este (1,2,3,4,5) programul va determina ca x s devin (5,4,3,2,1). (6p.) Fiierul text BAC.TXT conine pe prima linie un numr natural nenul n (1n1000), iar pe fiecare dintre urmtoarele n linii, cte dou numere ntregi a i b (1ab32000), fiecare pereche reprezentnd un interval nchis de forma [a,b]. Scriei un program C/C++ care determin intervalele care au proprietatea c intersecia cu oricare dintre celelalte n-1 intervale este vid i afieaz pe cte o linie a ecranului, separate printr-un spaiu, numerele care reprezint capetele intervalelor determinate. (10p.)

    4.

    Exemplu: dac fiierul BAC.TXT are coninutul alturat, pe ecran se va afia: 2 6 17 20

    4 17 20 2 6 10 15 8 16

  • Ministerul Educaiei, Cercetrii i Tineretului Centrul Naional pentru Curriculum i Evaluare n nvmntul Preuniversitar

    BACALAUREAT 2008 - INFORMATIC, limbajul C/C++ Subiectul III Specializarea Matematic-informatic intensiv informatic

    Subiectul III (30 de puncte) - Varianta 024

    Pentru itemul 1, scriei pe foaia de examen litera corespunztoare rspunsului corect. 1. Genernd irurile de maximum 3 caractere distincte din mulimea {A,B,C,D,E}, ordonate

    lexicografic, obinem succesiv: A, AB, ABC, ABD,. Ce ir va fi generat dup BAE? (4p.) a. BCA b. CAB c. BC d. BEA

    Scriei pe foaia de examen rspunsul pentru fiecare dintre cerinele urmtoare. 2. Funcia f are definiia alturat.

    a) Ce valoarea are f(17)? (3p.) b) Ce valoare are f(22)? (3p.)

    int f(int n) {if (n

  • Ministerul Educaiei, Cercetrii i Tineretului Centrul Naional pentru Curriculum i Evaluare n nvmntul Preuniversitar

    BACALAUREAT 2008 - INFORMATIC, limbajul C/C++ Subiectul III Specializarea Matematic-informatic intensiv informatic

    Subiectul III (30 de puncte) - Varianta 025

    Pentru itemul 1, scriei pe foaia de examen litera corespunztoare rspunsului corect. 1. Un program citete o valoare natural nenul impar pentru n i apoi genereaz i afieaz

    n ordine cresctoare lexicografic toate combinaiile formate din n cifre care ndeplinesc urmtoarele proprieti:

    - conin doar valori pozitive sau nule; - ncep i se termin cu 0; - modulul diferenei ntre oricare dou cifre alturate dintr-o combinaie este 1.

    Astfel, pentru n=5, combinaiile afiate sunt, n ordine, urmtoarele: 01010, 01210. Dac se ruleaz acest program i se citete pentru n valoarea 7, imediat dup combinaia 0101210 va fi afiat combinaia: (4p.)

    a. 0121210 b. 0123210 c. 0111210 d. 0121010

    Scriei pe foaia de examen rspunsul pentru fiecare dintre cerinele urmtoare. 2. Funcia f are definiia alturat:

    a) Ce valoare are f(16)? (3p.) b) Scriei cea mai mare valoare de dou cifre pe care o poate avea n astfel nct f(n) s fie egal cu 2. (3p.)

    int f(int n) { if (n

  • Ministerul Educaiei, Cercetrii i Tineretului Centrul Naional pentru Curriculum i Evaluare n nvmntul Preuniversitar

    BACALAUREAT 2008 - INFORMATIC, limbajul C/C++ Subiectul III Specializarea Matematic-informatic intensiv informatic

    Subiectul III (30 de puncte) - Varianta 026

    Pentru itemul 1, scriei pe foaia de examen litera corespunztoare rspunsului corect. 1. Pentru generarea numerelor cu n cifre formate cu elementele mulimii {0,2,8} se

    utilizeaz un algoritm backtracking care, pentru n=2, genereaz, n ordine, numerele 20,22,28,80,82,88. Dac n=4 i se utilizeaz acelai algoritm, care este numrul generat imediat dup numrul 2008 ? (4p.)

    a. 2002 b. 2020 c. 2080 d. 8002

    Scriei pe foaia de examen rspunsul pentru fiecare dintre cerinele urmtoare. 2. Subprogramul afis este definit alturat.

    Ce se afieaz ca urmare a apelului afis(8); ? (4p.)

    void afis (int n) { cout

  • Ministerul Educaiei, Cercetrii i Tineretului Centrul Naional pentru Curriculum i Evaluare n nvmntul Preuniversitar

    BACALAUREAT 2008 - INFORMATIC, limbajul C/C++ Subiectul III Specializarea Matematic-informatic intensiv informatic

    Subiectul III (30 de puncte) - Varianta 027

    Pentru itemul 1, scriei pe foaia de examen litera corespunztoare rspunsului corect. 1. Pentru generarea numerelor cu n cifre formate cu elementele mulimii {0,2,8} se

    utilizeaz un algoritm backtracking care, pentru n=2, genereaz, n ordine, numerele 20,22,28,80,82,88. Dac n=4 i se utilizeaz acelai algoritm, precizai cte numere generate sunt divizibile cu 100? (4p.)

    a. 601 b. 100 c. 6 d. 10

    Scriei pe foaia de examen rspunsul pentru fiecare dintre cerinele urmtoare. 2. Subprogramul scrie este definit alturat.

    Ce se afieaz ca urmare a apelului scrie(1,7); ? (6p.)

    void scrie (int x,int y) {cout

  • Ministerul Educaiei, Cercetrii i Tineretului Centrul Naional pentru Curriculum i Evaluare n nvmntul Preuniversitar

    BACALAUREAT 2008 - INFORMATIC, limbajul C/C++ Subiectul III Specializarea Matematic-informatic intensiv informatic

    Subiectul III (30 de puncte) - Varianta 028

    Pentru itemul 1, scriei pe foaia de examen litera corespunztoare rspunsului corect. 1. Generarea tuturor cuvintelor de trei litere mici, nu neaprat distincte, ale alfabetului englez,

    se poate realiza cu ajutorul unui algoritm echivalent cu cel de generare a: (4p.) a. produsului cartezian b. combinrilor c. aranjamentelor d. permutrilor

    Scriei pe foaia de examen rspunsul pentru fiecare dintre cerinele urmtoare. 2. Subprogramul f este definit alturat.

    Ce valoare are f(8,4)? (4p.) int f (int x,int y) { if(x

  • Ministerul Educaiei, Cercetrii i Tineretului Centrul Naional pentru Curriculum i Evaluare n nvmntul Preuniversitar

    BACALAUREAT 2008 - INFORMATIC, limbajul C/C++ Subiectul III Specializarea Matematic-informatic intensiv informatic

    Subiectul III (30 de puncte) - Varianta 029

    Pentru itemul 1, scriei pe foaia de examen litera corespunztoare rspunsului corect. 1. n cte dintre permutrile elementelor mulimii {I,N,F,O} vocalele apar pe

    poziii consecutive? (4p.) a. 24 b. 6 c. 12 d. 4

    Scriei pe foaia de examen rspunsul pentru fiecare dintre cerinele urmtoare. 2. Ce se afieaz ca urmare a

    apelului p(123); dac subprogramul p are definiia alturat? (6p.)

    void p (int x) {cout

  • Ministerul Educaiei, Cercetrii i Tineretului Centrul Naional pentru Curriculum i Evaluare n nvmntul Preuniversitar

    BACALAUREAT 2008 - INFORMATIC, limbajul C/C++ Subiectul III Specializarea Matematic-informatic intensiv informatic

    Subiectul III (30 de puncte) - Varianta 030

    Pentru itemul 1, scriei pe foaia de examen litera corespunztoare rspunsului corect. 1. Pentru generarea numerelor cu n cifre formate cu elementele mulimii {0,4,8} se

    utilizeaz un algoritm backtracking care, pentru n=2, genereaz, n ordine, numerele 40,44,48,80,84,88. Dac n=4 i se utilizeaz acelai algoritm, care este numrul generat imediat dup numrul 4008 ? (4p.)

    a. 4040 b. 4004 c. 4080 d. 8004

    Scriei pe foaia de examen rspunsul pentru fiecare dintre cerinele urmtoare. 2. Subprogramul f este definit alturat.

    Ce se afieaz ca urmare a apelului f(1,4);? (6p.)

    void f (int x,int y) {int i; for (i=x;i

  • Ministerul Educaiei, Cercetrii i Tineretului Centrul Naional pentru Curriculum i Evaluare n nvmntul Preuniversitar

    BACALAUREAT 2008 - INFORMATIC, limbajul C/C++ Subiectul III Specializarea Matematic-informatic intensiv informatic

    Subiectul III (30 de puncte) - Varianta 031

    Pentru itemul 1, scriei pe foaia de examen litera corespunztoare rspunsului corect. 1. Avnd la dispoziie cifrele 0, 1 i 2 putem genera, n ordine cresctoare, numere care au

    suma cifrelor egal cu 2 astfel nct primele 6 numere generate sunt, n aceast ordine: 2, 11, 20, 101, 110, 200. Folosind acelai algoritm se genereaz numere cu cifrele 0, 1, 2 i 3 care au suma cifrelor egal cu 4. Care va fi al 7-lea numr din aceast generare ? (4p.)

    a. 103 b. 301 c. 220 d. 130

    Scriei pe foaia de examen rspunsul pentru fiecare dintre cerinele urmtoare. 2. Se consider subprogramul recursiv f1

    definit alturat. Ce se va afia n urma apelului f1(5);? (6p.)

    void f1(int x) { if (x

  • Ministerul Educaiei, Cercetrii i Tineretului Centrul Naional pentru Curriculum i Evaluare n nvmntul Preuniversitar

    BACALAUREAT 2008 - INFORMATIC, limbajul C/C++ Subiectul III Specializarea Matematic-informatic intensiv informatic

    Subiectul III (30 de puncte) - Varianta 032

    Pentru itemul 1, scriei pe foaia de examen litera corespunztoare rspunsului corect. 1. n vederea participrii la un concurs, elevii de la liceul sportiv au dat o prob de selecie, n

    urma creia primii 6 au obinut punctaje egale. n cte moduri poate fi format echipa selecionat tiind c poate avea doar 4 membri, alei dintre cei 6, i c ordinea acestora n cadrul echipei nu conteaz? (4p.)

    a. 24 b. 30 c. 15 d. 4

    Scriei pe foaia de examen rspunsul pentru fiecare dintre cerinele urmtoare. 2. Subprogramul afis este definit alturat.

    Ce se va afia n urma apeluluiafis(17);? (6p.)

    void afis(int x) { if (x>3) { cout

  • Ministerul Educaiei, Cercetrii i Tineretului Centrul Naional pentru Curriculum i Evaluare n nvmntul Preuniversitar

    BACALAUREAT 2008 - INFORMATIC, limbajul C/C++ Subiectul III Specializarea Matematic-informatic intensiv informatic

    Subiectul III (30 de puncte) - Varianta 033

    Pentru itemul 1, scriei pe foaia de examen litera corespunztoare rspunsului corect. 1. Folosind un algoritm de generare putem obine numere naturale de k cifre care au suma

    cifrelor egal cu un numr natural s. Astfel, pentru valorile k=2 i s=6 se genereaz, n ordine, numerele: 15, 24, 33, 42, 51, 60. Care va fi al treilea numr generat pentru k=4 i s=5? (4p.)

    a. 1301 b. 1022 c. 2201 d. 1031

    Scriei pe foaia de examen rspunsul pentru fiecare dintre cerinele urmtoare. 2. Subprogramul re este definit alturat. Ce valoarea

    are re(1)? Dar re(14)? (6p.)

    int re(int i) { if (i

  • Ministerul Educaiei, Cercetrii i Tineretului Centrul Naional pentru Curriculum i Evaluare n nvmntul Preuniversitar

    BACALAUREAT 2008 - INFORMATIC, limbajul C/C++ Subiectul III Specializarea Matematic-informatic intensiv informatic

    Subiectul III (30 de puncte) - Varianta 034

    Pentru itemul 1, scriei pe foaia de examen litera corespunztoare rspunsului corect. 1. Completarea unui bilet de LOTO presupune colorarea a 6 numere dintre cele 49, nscrise

    pe bilet. O situaie statistic pe o anumit perioad de timp arat c cele mai frecvente numere care au fost extrase la LOTO sunt: 2, 20, 18, 38, 36, 42, 46, 48. Cte bilete de 6 numere se pot completa folosind doar aceste valori, tiind c numrul 42 va fi colorat pe fiecare bilet? (4p.)

    a. 21 b. 6! c. 42 d. 56

    Scriei pe foaia de examen rspunsul pentru fiecare dintre cerinele urmtoare. 2. Se consider definit subprogramul f .

    Scriei dou valori naturale, x1 i x2 (x1x2, x1

  • Ministerul Educaiei, Cercetrii i Tineretului Centrul Naional pentru Curriculum i Evaluare n nvmntul Preuniversitar

    BACALAUREAT 2008 - INFORMATIC, limbajul C/C++ Subiectul III Specializarea Matematic-informatic intensiv informatic

    Subiectul III (30 de puncte) - Varianta 035

    Pentru itemul 1, scriei pe foaia de examen litera corespunztoare rspunsului corect. 1. Pentru generarea tuturor mulimilor de cte 5 cifre, avnd la dispoziie cifrele de la 1 la 9,

    se poate utilza un algoritm echivalent cu algoritmul de generare a: (4p.) a. permutrilor de 5 elemente b. submulimilor mulimii

    {1,2,3,4,5,6,7,8,9} c. combinrilor de 9 elemente luate cte 5 d. aranjamentelor de 9 elemente luate cte

    5

    Scriei pe foaia de examen rspunsul pentru fiecare dintre cerinele urmtoare. 2. Subprogramul f este definit alturat. Ce se

    va afia n urma executrii secvenei de mai jos? a=3; b=9; f(b,a);f(b,b); (6p.)

    void f(int &a,int b) { a=a-5;b=a-2; cout

  • Ministerul Educaiei, Cercetrii i Tineretului Centrul Naional pentru Curriculum i Evaluare n nvmntul Preuniversitar

    BACALAUREAT 2008 - INFORMATIC, limbajul C/C++ Subiectul III Specializarea Matematic-informatic intensiv informatic

    Subiectul III (30 de puncte) - Varianta 036

    Pentru itemul 1, scriei pe foaia de examen litera corespunztoare rspunsului corect. 1. Subprogramul scif returneaz suma cifrelor unui numr natural transmis ca parametru.

    Care este valoarea expresiei scif(scif(518)+scif(518))? (4p.) a. 14 b. 10 c. 28 d. 1

    Scriei pe foaia de examen rspunsul pentru fiecare dintre cerinele urmtoare. 2. Utilizm metoda backtracking pentru generarea tuturor modalitilor de a scrie numrul 9 ca

    sum a cel puin dou numere naturale nenule distincte. Termenii fiecrei sume sunt n ordine strict cresctoare. Soluiile se genereaz n ordinea: 1+2+6, 1+3+5, 1+8, 2+3+4, 2+7, 3+6 i 4+5. Se aplic exact aceeai metod pentru scrierea lui 12. Scriei, n ordinea generrii, toate soluiile de forma 2+... (6p.)

    3. Subprogramul cifra primete prin intermediul parametrului a un numr natural cu cel mult 4 cifre i returneaz ultima cifr par a sa. Dac numrul nu conine cifre pare, subprogramul returneaz valoarea -1. De exemplu, dac a=8345, subprogramul va returna 4.

    a) S se scrie definiia complet a subprogramului cifra. (10p.) b) Pe prima linie a fiierului bac.in se afl un numr natural nenul n (n15000), iar pe a doua linie a fiierului se afl un ir de n numere naturale, desprite prin cte un spaiu, fiecare numr fiind format din cel mult 4 cifre. Scriei un program C/C++ care citete numerele din fiier i afieaz pe ecran, folosind apeluri utile la subprogramului cifra, cel mai mare numr care se poate forma cu ultimele cifre pare ale fiecrui element, dac acestea exist. Alegei o metod de rezolvare eficient ca timp de executare.

    Exemplu: dac fiierul bac.in are coninutul alturat, pe ecran se va afia: 64220 (6p.)

    7369 113 2 0 33 1354 42

    c) Descriei succint n limbaj natural, metoda de rezolvare folosit, explicnd n ce const eficiena ei (3 - 4 rnduri). (4p.)

  • Ministerul Educaiei, Cercetrii i Tineretului Centrul Naional pentru Curriculum i Evaluare n nvmntul Preuniversitar

    BACALAUREAT 2008 - INFORMATIC, limbajul C/C++ Subiectul III Specializarea Matematic-informatic intensiv informatic

    Subiectul III (30 de puncte) - Varianta 037

    Pentru itemul 1, scriei pe foaia de examen litera corespunztoare rspunsului corect. 1. Se utilizeaz un algoritm pentru a genera n ordine lexicografic invers toate permutrile

    mulimii {1,2,3,4,5}. Primele patru permutri generate sunt: 54321, 54312, 54231, 54213. A cincea permutare este: (4p.)

    a. 53421 b. 54321 c. 54132 d. 54123

    Scriei pe foaia de examen rspunsul pentru fiecare dintre cerinele urmtoare. 2. Considerm subprogramul f definit alturat.

    Ce valoare are f(11,7)? (6p.) int f(int x,int y) {if(x

  • Ministerul Educaiei, Cercetrii i Tineretului Centrul Naional pentru Curriculum i Evaluare n nvmntul Preuniversitar

    BACALAUREAT 2008 - INFORMATIC, limbajul C/C++ Subiectul III Specializarea Matematic-informatic intensiv informatic

    Subiectul III (30 de puncte) - Varianta 038

    Pentru itemul 1, scriei pe foaia de examen litera corespunztoare rspunsului corect. 1. Utilizm metoda backtracking pentru generarea tuturor modalitilor de a scrie numrul 9

    ca sum a cel puin dou numere naturale nenule distincte. Termenii fiecrei sume sunt n ordine strict cresctoare. Soluiile se genereaz n ordinea: 1+2+6, 1+3+5, 1+8, 2+3+4, 2+7, 3+6 i 4+5. Se aplic exact aceeai metod pentru scrierea lui 8. Cte soluii vor fi generate? (4p.)

    a. 3 b. 4 c. 6 d. 5

    Scriei pe foaia de examen rspunsul pentru fiecare dintre cerinele urmtoare. 2. Pentru definiia alturat a

    subprogramului sc, stabilii ce valoare are sc(901324). (6p.)

    int sc(long x) {if(x

  • Ministerul Educaiei, Cercetrii i Tineretului Centrul Naional pentru Curriculum i Evaluare n nvmntul Preuniversitar

    BACALAUREAT 2008 - INFORMATIC, limbajul C/C++ Subiectul III Specializarea Matematic-informatic intensiv informatic

    Subiectul III (30 de puncte) - Varianta 039

    Pentru itemul 1, scriei pe foaia de examen litera corespunztoare rspunsului corect. 1. Utilizm metoda backtracking pentru generarea tuturor modalitilor de a scrie numrul 6 ca

    sum a cel puin dou numere naturale nenule. Termenii fiecrei sume sunt n ordine cresctoare. Soluiile se genereaz n ordinea: 1+1+1+1+1+1, 1+1+1+1+2, 1+1+1+3,1+1+4, 1+5, 2+2+2, 2+4 i 3+3. Se aplic exact aceeai metod pentru scrierea lui 9. Care este penultima soluie? (6p.)

    a. 3+3+3 b. 3+6 c. 4+5 d. 2+7

    Scriei pe foaia de examen rspunsul pentru fiecare dintre cerinele urmtoare. 2. Pentru definiia alturat a subprogramului f,

    ce valoare are f(8)? (4p.) int f(int x) {if(x99 cu cel mult 9 cifre. S se realizeze un program C/C++ care citete numrul n i care, folosind apeluri utile ale subprogramul pr, afieaz pe ecran, separate prin cte un spaiu, doar valorile prime din irul numerelor obinute din n, prin eliminarea succesiv a ultimei cifre, apoi a ultimelor dou cifre, apoi a ultimelor trei cifre etc., pn se obine un numr de dou cifre, ca n exemplu. Exemplu: pentru n=193124 se obine irul de valori 19312,1931, 193, 19. din care se vor afia pe ecran doar valorile 1931 193 19. (6p.)

  • Ministerul Educaiei, Cercetrii i Tineretului Centrul Naional pentru Curriculum i Evaluare n nvmntul Preuniversitar

    BACALAUREAT 2008 - INFORMATIC, limbajul C/C++ Subiectul III Specializarea Matematic-informatic intensiv informatic

    Subiectul III (30 de puncte) - Varianta 040

    Pentru itemul 1, scriei pe foaia de examen litera corespunztoare rspunsului corect. 1. Utilizm metoda backtracking pentru generarea tuturor modalitilor de a scrie numrul 6 ca

    sum a cel puin dou numere naturale nenule. Termenii fiecrei sume sunt n ordine cresctoare. Soluiile se genereaz n ordinea: 1+1+1+1+1+1, 1+1+1+1+2, 1+1+1+3,1+1+4, 1+5, 2+2+2, 2+4 i 3+3. Se aplic exact aceeai metod pentru scrierea lui 9. Cte soluii de forma 2+... vor fi generate? (6p.)

    a. 2 b. 3 c. 4 d. 5

    Scriei pe foaia de examen rspunsul pentru fiecare dintre cerinele urmtoare. 2. Pentru definiia alturat a

    subprogramului f, stabilii ce valoare are f(23461). (4p.)

    int f(int x) {if(x

  • Ministerul Educaiei, Cercetrii i Tineretului Centrul Naional pentru Curriculum i Evaluare n nvmntul Preuniversitar

    BACALAUREAT 2008 - INFORMATIC, limbajul C/C++ Subiectul III Specializarea Matematic-informatic intensiv informatic

    Subiectul III (30 de puncte) - Varianta 041

    Pentru itemul 1, scriei pe foaia de examen litera corespunztoare rspunsului corect. 1. Utiliznd metoda backtracking, se genereaz numerele naturale formate din exact 3 cifre i

    care au suma cifrelor egal cu 4, n aceast ordine: 103, 112, 121, 130, 202, 211, 220, 301, 310, 400. Dac utilizm acelai algoritm pentru a genera toate numerele de 4 cifre care au suma cifrelor egal cu 7, precizai care este numrul generat imediat dup 1222. (4p.)

    a. 1321 b. 1223 c. 1213 d. 1231

    Scriei pe foaia de examen rspunsul pentru fiecare dintre cerinele urmtoare. 2. Subprogramul f are definiia alturat. Ce valoare

    are f(7,2)? Dar f(35,2)? (6p.) int f(int x, int y) {if(x%y==0)return y; else return f(x,y+1); }

    3. S se scrie un subprogram DIST, cu doi parametri, care primete prin intermediul parametrului a un tablou unidimensional cu cel mult 100 de elemente, numere naturale de cel mult 4 cifre fiecare, i prin intermediul parametrului n un numr natural nenul, n

  • Ministerul Educaiei, Cercetrii i Tineretului Centrul Naional pentru Curriculum i Evaluare n nvmntul Preuniversitar

    BACALAUREAT 2008 - INFORMATIC, limbajul C/C++ Subiectul III Specializarea Matematic-informatic intensiv informatic

    Subiectul III (30 de puncte) - Varianta 042

    Pentru itemul 1, scriei pe foaia de examen litera corespunztoare rspunsului corect. 1. Utiliznd metoda backtracking se genereaz toate permutrile mulimii {1,2,3,4}. Dac

    primele trei permutri generate sunt, n acest ordine: 1234, 1243, 1324 precizai care este permutarea generat imediat dup 3412. (4p.)

    a. 3214 b. 3413 c. 4123 d. 3421

    Scriei pe foaia de examen rspunsul pentru fiecare dintre cerinele urmtoare. 2. Subprogramul f are definiia alturat. Ce valoare

    are f(7)? Dar f(100)? (6p.) int f(int x) {if(x%6==0)return x; else return f(x-1); }

    3. Scriei definiia complet a unui subprogram P, cu trei parametri, care primete prin intermediul primului parametru, a, un tablou unidimensional de cel mult 100 de numere ntregi, cu cel mult 4 cifre fiecare, prin intermediul celui de-al doilea parametru, n, numrul efectiv de elemente ale tabloului, iar prin parametrul k, un numr natural (k

  • Ministerul Educaiei, Cercetrii i Tineretului Centrul Naional pentru Curriculum i Evaluare n nvmntul Preuniversitar

    BACALAUREAT 2008 - INFORMATIC, limbajul C/C++ Subiectul III Specializarea Matematic-informatic intensiv informatic

    Subiectul III (30 de puncte) - Varianta 043

    Pentru itemul 1, scriei pe foaia de examen litera corespunztoare rspunsului corect. 1. Utiliznd metoda backtracking se genereaz numerele formate din cte 3 cifre distincte din

    mulimea {1,3,5,7}. Dac primele trei numere generate sunt, n acest ordine: 135,137, 153 care este cel de-al patrulea numr generat? (4p.)

    a. 315 b. 173 c. 157 d. 357

    Scriei pe foaia de examen rspunsul pentru fiecare dintre cerinele urmtoare. 2. Subprogramul f are definiia alturat. Ce valoare

    are f(3)? Dar f(10)? (6p.) int f(int x) {if(x==0)return 0; else return f(x-1)+2; }

    3. Scriei definiia complet a unui subprogram P cu doi parametri, care primete prin intermediul primului parametru, a, un tablou unidimensional de cel mult 100 de numere ntregi, de cel mult 4 cifre fiecare, prin intermediul celui de-al doilea parametru, n, numrul efectiv de elemente ale tabloului i returneaz suma tuturor numerelor impare din tablou. Exemplu: dac n=6, iar irul este format din elementele (3, 2, 7, 1, 4, 3), atunci la apel se va returna 14. (10p.)

    4. Fiierul text numere.txt conine pe prima linie un numr natural n (0

  • Ministerul Educaiei, Cercetrii i Tineretului Centrul Naional pentru Curriculum i Evaluare n nvmntul Preuniversitar

    BACALAUREAT 2008 - INFORMATIC, limbajul C/C++ Subiectul III Specializarea Matematic-informatic intensiv informatic

    Subiectul III (30 de puncte) - Varianta 044

    Pentru itemul 1, scriei pe foaia de examen litera corespunztoare rspunsului corect. 1. Utiliznd metoda backtracking se genereaz permutrile cuvntului info. Dac primele trei

    soluii generate sunt: fino, fion, fnio care este cea de-a cincea soluie? (4p.) a. Foin b. Fnoi c. Foni d. Ifon

    Scriei pe foaia de examen rspunsul pentru fiecare dintre cerinele urmtoare. 2. Subprogramul f are definiia alturat. Ce

    valoare are f(5,10)? (6p.) int f(int x,int y) {if(x==y)return x; else if(x

  • Ministerul Educaiei, Cercetrii i Tineretului Centrul Naional pentru Curriculum i Evaluare n nvmntul Preuniversitar

    BACALAUREAT 2008 - INFORMATIC, limbajul C/C++ Subiectul III Specializarea Matematic-informatic intensiv informatic

    Subiectul III (30 de puncte) - Varianta 045

    Pentru itemul 1, scriei pe foaia de examen litera corespunztoare rspunsului corect. 1. Utiliznd metoda backtracking se genereaz toate cuvintele de cte 3 litere din mulimea

    {a,b,c}. Dac primele patru cuvinte generate sunt, n acest ordine: aaa, aab, aac,aba, care este cel de-al optulea cuvnt generat? (4p.)

    a. acb b. acc c. aca d. bca

    Scriei pe foaia de examen rspunsul pentru fiecare dintre cerinele urmtoare. 2. Subprogramul f are definiia alturat. Ce valoare are

    f(4)? Dar f(11)? (6p.) int f(int x) {if(x

  • Ministerul Educaiei, Cercetrii i Tineretului Centrul Naional pentru Curriculum i Evaluare n nvmntul Preuniversitar

    BACALAUREAT 2008 - INFORMATIC, limbajul C/C++ Subiectul III Specializarea Matematic-informatic intensiv informatic

    Subiectul III (30 de puncte) - Varianta 046

    Pentru itemul 1, scriei pe foaia de examen litera corespunztoare rspunsului corect. 1. Un program genereaz, n ordine cresctoare, numerele naturale de exact 5 cifre din

    mulimea {1, 2, 3, 4, 5}. Fiecare dintre numerele generate are cifrele distincte dou cte dou. Primele 3 numere astfel generate sunt: 12345, 12354, 12435. Care este numrul generat imediat dup 12543? (4p.)

    a. 15342 b. 12534 c. 13245 d. 13452

    Scriei pe foaia de examen rspunsul pentru fiecare dintre cerinele urmtoare. 2. Funcia f are definiia alturat. Dac f(x)

    are valoarea 10100, care este valoarea lui x? (6p.)

    long f(int n) { if(n

  • Ministerul Educaiei, Cercetrii i Tineretului Centrul Naional pentru Curriculum i Evaluare n nvmntul Preuniversitar

    BACALAUREAT 2008 - INFORMATIC, limbajul C/C++ Subiectul III Specializarea Matematic-informatic intensiv informatic

    Subiectul III (30 de puncte) - Varianta 047

    Pentru itemul 1, scriei pe foaia de examen litera corespunztoare rspunsului corect. 1. Valorile memorate de componentele

    tabloului unidimensional v, cu indicii de la 0 la 5, sunt, n aceast ordine: 183, 212, 453, 18, 42, 83. Care dintre urmtoarele apeluri ale subprogramului tab, cu definiia alturat, NU returneaz un numr par? (4p.)

    int tab (int i,int v[], int c) { int n; if(i

  • Ministerul Educaiei, Cercetrii i Tineretului Centrul Naional pentru Curriculum i Evaluare n nvmntul Preuniversitar

    BACALAUREAT 2008 - INFORMATIC, limbajul C/C++ Subiectul III Specializarea Matematic-informatic intensiv informatic

    Subiectul III (30 de puncte) - Varianta 048

    Pentru itemul 1, scriei pe foaia de examen litera corespunztoare rspunsului corect. 1. Valorile memorate de componentele

    tabloului v, cu indicii de la 0 la 5, sunt, n aceast ordine: 183, 212, 453, 18, 42, 83. Care este apelul corect al subprogramului t alturat pentru ca, n urma executrii apelului, valoarea variabilei ntregi x s fie 2? (4p.)

    int t (int i,int v[], int c) {int n; if(i9) { if(n%10==c) return 1+t(i-1,v,c); n=n/10; } return t(i-1,v,c); } }

    a. x=t(2,v,2); b. x=t(2,v,5); c. x=t(5,v,2); d. x=t(2,v,8);

    Scriei pe foaia de examen rspunsul pentru fiecare dintre cerinele urmtoare. 2. Se genereaz prin metoda backtracking mulimile distincte ale cror elemente sunt numere

    naturale nenule i care au proprietatea c suma elementelor fiecrei mulimi este egal cu 7. Astfel, sunt generate, n aceast ordine, mulimile: {1,2,4}, {1,6}, {2,5}, {3,4}, {7}. Folosind aceeai metod pentru a genera mulimile distincte ale cror elemente sunt numere naturale nenule i care au proprietatea c suma elementelor fiecrei mulimi este egal cu 9, stabilii n ce ordine sunt generate urmtoarele mulimi: M1={2,3,4}; M2={3,6}; M3={2,7}; M4={4,5}. (6p.)

    3. Se consider subprogramul cmdiv care primete prin parametrii x i y dou valori ntregi pozitive (0

  • Ministerul Educaiei, Cercetrii i Tineretului Centrul Naional pentru Curriculum i Evaluare n nvmntul Preuniversitar

    BACALAUREAT 2008 - INFORMATIC, limbajul C/C++ Subiectul III Specializarea Matematic-informatic intensiv informatic

    Subiectul III (30 de puncte) - Varianta 049

    Pentru itemul 1, scriei pe foaia de examen litera corespunztoare rspunsului corect. 1. Valorile memorate de

    componentele tabloului unidimensional v, cu indicii de la 0 la 5, sunt, n aceast ordine: 420, 48, 635, 628, 837, 93. Care este apelul corect al subprogramului tablou alturat pentru ca, n urma executrii apelului, valoarea variabilei ntregi x s fie 3? (4p.)

    int tablou (int i,int v[]) {int n; if(i

  • Ministerul Educaiei, Cercetrii i Tineretului Centrul Naional pentru Curriculum i Evaluare n nvmntul Preuniversitar

    BACALAUREAT 2008 - INFORMATIC, limbajul C/C++ Subiectul III Specializarea Matematic-informatic intensiv informatic

    Subiectul III (30 de puncte) - Varianta 050

    Pentru itemul 1, scriei pe foaia de examen litera corespunztoare rspunsului corect. 1. Valorile memorate de

    componentele vectorului v, cu indicii de la 0 la 5, sunt, n aceast ordine: 973, 51, 871, 350, 691, 15. Care este apelul corect al subprogramului tablou alturat pentru ca, n urma executrii apelului, valoarea variabilei ntregi x s fie 3? (4p.)

    int tablou (int i,int v[], int c) {int n; if(i

  • Ministerul Educaiei, Cercetrii i Tineretului Centrul Naional pentru Curriculum i Evaluare n nvmntul Preuniversitar

    BACALAUREAT 2008 - INFORMATIC, limbajul C/C++ Subiectul III Specializarea Matematic-informatic intensiv informatic

    Subiectul III (30 de puncte) - Varianta 051

    Pentru itemul 1, scriei pe foaia de examen litera corespunztoare rspunsului corect. 1. Care este antetul corect al subprogramului cifre, care primete prin intermediul primului

    parametru, x, un numr natural i furnizeaz prin intermediul celui de-al doilea parametru, y, suma cifrelor numrului natural x? (4p.)

    a. void cifre(int x, int &y) b. int cifre(int x) c. void cifre(int x, int y) d. int cifre(int &x, int y)

    Scriei pe foaia de examen rspunsul pentru fiecare dintre cerinele urmtoare. 2. Se consider un numr natural nenul x avnd exact 8 cifre, distincte dou cte dou; printre

    cifrele sale se gsete i cifra 0. Permutnd cifrele lui x se obin alte numere naturale. Cte dintre numerele obinute, inclusiv x, au exact 8 cifre? (6p.)

    3. Se consider subprogramul dist2, care primete prin intermediul parametrilor xa, ya, xb i respectiv yb, coordonatele carteziene ntregi pentru dou puncte din plan. Subprogramul returneaz ptratul distanei dintre cele dou puncte. a) Scriei n limbajul C/C++ definiia complet a subprogramului dist2. (4p.) b) Scriei un program C/C++ care citete de la tastatur 8 valori ntregi reprezentnd coordonatele carteziene pentru patru puncte din plan i afieaz mesajul Da dac cele patru puncte pot fi vrfurile unui ptrat, iar n caz contrar afieaz mesajul Nu,folosind apeluri utile ale subprogramului dist2.

    Exemplu: dac coordonatele punctelor sunt cele alturate atunci se va afia mesajul Da (6p.)

    0 0 3 0 3 3 0 3

    Fiierul text date.in conine pe prima linie un numr natural nenul n (n100), iar pe a doua linie n numere naturale nenule, separate prin cte un spaiu, fiecare numr avnd maximum 4 cifre. Scriei un program C/C++ care citete toate numerele din fiierul text date.in, construiete n memorie un tablou unidimensional a, cu cele n elemente din fiier i afieaz pe ecran perechile (ai, aj) , 1i

  • Ministerul Educaiei, Cercetrii i Tineretului Centrul Naional pentru Curriculum i Evaluare n nvmntul Preuniversitar

    BACALAUREAT 2008 - INFORMATIC, limbajul C/C++ Subiectul III Specializarea Matematic-informatic intensiv informatic

    Subiectul III (30 de puncte) - Varianta 052

    Pentru itemul 1, scriei pe foaia de examen litera corespunztoare rspunsului corect. 1. Utiliznd metoda backtracking, se genereaz n ordine lexicografic toate anagramele

    cuvntului caiet ( cuvinte formate din aceleai litere, eventual n alt ordine). Cte cuvinte vor fi generate? (4p.)

    a. 60 b. 100 c. 200 d. 120

    Scriei pe foaia de examen rspunsul pentru fiecare dintre cerinele urmtoare. 2. Se consider subprogramul f, definit alturat.

    Ce valoare are f(4)? Dar f(100)? (6p.) long f(unsigned int n) { if (n==0) return 0; else return n+f(n-1); }

    3. Subprogramul dist, cu doi parametri, primete prin intermediul primului parametru a un numr natural cu maximum 8 cifre i returneaz prin intermediul celui de-al doilea parametru, b, numrul cifrelor distincte ale lui a. Exemplu: dac a=1223712, atunci dup apelul subprogramului dist se obine b=4 (deorece cifrele distincte ale parametrului de apel sunt 1, 2, 3, 7). a) Scriei definiia complet a subprogramului dist. (4p.) b) Fiierul text date.in conine pe prima linie un numr natural nenul n (n100), iar pe a doua linie n numere naturale, separate prin cte un spaiu, fiecare numr avnd maximum 8 cifre. Scriei un program C/C++ care citete numerele din fiier i afieaz pe ecran, desprite prin cte un spaiu, numerele de pe a doua linie a fiierului text date.in, ce au numr maxim de cifre distincte, folosind apeluri utile ale subprogramului dist. Exemplu: dac fiierul date.in are coninutul alturat, atunci se vor afia numerele: 1775 242477 123 (6p.)

    6 16 1775 333 242477 123 55566

    4. Scriei un program C/C++ care citete de la tastatur un numr natural nenul n (n100) i apoi n numere naturale nenule, de maximum 4 cifre fiecare, reprezentnd elementele unui tablou unidimensional; programul afieaz mesajul Da n cazul n care elementele tabloului reprezint o permutare a elementelor mulimii {1,2,3,...,n}, iar n caz contrar afieaz mesajul Nu. (10p.)

  • Ministerul Educaiei, Cercetrii i Tineretului Centrul Naional pentru Curriculum i Evaluare n nvmntul Preuniversitar

    BACALAUREAT 2008 - INFORMATIC, limbajul C/C++ Subiectul III Specializarea Matematic-informatic intensiv informatic

    Subiectul III (30 de puncte) - Varianta 053

    Pentru itemul 1, scriei pe foaia de examen litera corespunztoare rspunsului corect. 1. Subprogramul f realizeaz interschimbarea valorilor a dou variabile ntregi transmise prin

    intermediul parametrilor x i y. Care este antetul corect al subprogramului f? (4p.) a. void f(int &x, int &y) b. int f(int x,int y) c. void f(int x, int &y) d. void f(int &x, int y)

    Scriei pe foaia de examen rspunsul pentru fiecare dintre cerinele urmtoare. 2. Se consider subprogramul f, definit

    alturat. Cte valori ale lui n aparinnd intervalului [10, 20] au proprietatea c la apelul f(n) se obine valoarea 0? ( 6p.)

    int f(unsigned int n) {if (n==0) return 0; else if(n%2==0)return n%10+f(n/10); else return f(n/10); }

    Se consider subprogramul cmmdc, care primete prin intermediul a doi parametri, a i b, dou numere naturale nenule, cu maximum 8 cifre fiecare, i returneaz cel mai mare divizor comun al valorilor parametrilor a i b. a) Scriei numai antetul subprogramului cmmdc. (4p.) b) Fiierul text date.in conine pe prima linie un numr natural nenul n (n100), iar pe a doua linie un ir format din n numere naturale nenule, separate prin cte un spaiu, fiecare numr avnd maximum 8 cifre. Scriei un program C/C++ care citete toate numerele din fiierul text date.in i afieaz pe ecran lungimea maxim a unei secvene din irul format cu elementele situate pe a doua linie a fiierului cu proprietatea c orice dou elemente aflate pe poziii consecutive sunt prime ntre ele.

    3.

    Exemplu: dac fiierul date.in are coninutul alturat, se va afia 3 pentru c cea mai lung secvena cu proprietatea cerut este 16 25 6. (6p.)

    7 16 25 6 12 10 4 5

    4. Scriei un program C/C++ care citete de la tastatur un numr natural nenul n (n

  • Ministerul Educaiei, Cercetrii i Tineretului Centrul Naional pentru Curriculum i Evaluare n nvmntul Preuniversitar

    BACALAUREAT 2008 - INFORMATIC, limbajul C/C++ Subiectul III Specializarea Matematic-informatic intensiv informatic

    Subiectul III (30 de puncte) - Varianta 054

    Pentru itemul 1, scriei pe foaia de examen litera corespunztoare rspunsului corect. 1. Utiliznd metoda backtracking se genereaz n ordine lexicografic toate anagramele

    cuvntului caiet ( cuvinte formate din aceleai litere, eventual n alt ordine). Care este a asea soluie? (4p.)

    a. catei b. actie c. actei d. catie

    Scriei pe foaia de examen rspunsul pentru fiecare dintre cerinele urmtoare. 2. Se consider subprogramul f

    definit alaturat. Ce se afieaz la apelul f(1)? (6p.)

    void f(int i) {if(i

  • Ministerul Educaiei, Cercetrii i Tineretului Centrul Naional pentru Curriculum i Evaluare n nvmntul Preuniversitar

    BACALAUREAT 2008 - INFORMATIC, limbajul C/C++ Subiectul III Specializarea Matematic-informatic intensiv informatic

    Subiectul III (30 de puncte) - Varianta 055

    Pentru itemul 1, scriei pe foaia de examen litera corespunztoare rspunsului corect. Utiliznd metoda backtracking se genereaz toate matricele ptratice de ordinul 4 ale cror elemente aparin mulimii {0,1}, cu proprietatea c pe fiecare linie i pe fiecare coloan exist o singur valoare 1. Primele 4 soluii generate sunt, n aceast ordine:

    1.

    1 0 0 0 0 1 0 0 0 0 1 0 0 0 0 1

    1 0 0 0 0 1 0 0 0 0 0 1 0 0 1 0

    1 0 0 0 0 0 1 0 0 1 0 0 0 0 0 1

    1 0 0 0 0 0 1 0 0 0 0 1 0 1 0 0

    Care este a opta soluie? (4p.) a. 0 1 0 0

    1 0 0 0 0 0 0 1 0 0 1 0

    b. 0 1 0 0 1 0 0 0 0 0 1 0 0 0 0 1

    c. 0 1 0 0 0 0 1 0 1 0 0 0 0 0 0 1

    d. 0 0 1 0 1 0 0 0 0 1 0 0 0 0 0 1

    Scriei pe foaia de examen rspunsul pentru fiecare dintre cerinele urmtoare. 2. Se consider subprogramul f, definit

    alturat. Cte valori ale parametrului n aparinnd intervalului [1,100] au proprietatea c la apelul f(n) se obine o valoare nenul ? (6p.)

    int f(unsigned int n) { if (n>20) return 0; else return 5+f(n+5); }

    3. Se consider subprogramul cifre, care primete prin intermediul primului parametru, a, un numr natural cu maximum 8 cifre nenule i returneaz, prin intermediul celui de-al doilea parametrul b, cel mai mic numr care se poate forma cu toate cifrele distincte ale lui a. a) Scriei definiia complet a subprogramului cifre. (4p.) b) Se consider fiierul text date.in ce conine pe prima linie un numr natural nenul n (n100), iar pe a doua linie n numere naturale, separate prin cte un spaiu, fiecare numr avnd maximum 8 cifre nenule. Scriei un program C/C++ care citete toate numerele din fiierul text date.in i afieaz pe ecran, desprite prin cte un spaiu, numerele situate pe a doua linie a fiierului, formate numai din cifre distincte ordonate strict cresctor, folosind apeluri utile ale subprogramului cifre. n cazul n care nu exist niciun astfel de numr se va afia valoarea 0.

    Exemplu: dac fiierul date.in are coninutul alturat, atunci se vor afia numerele: 16 269 (6p.) 6

    16 175 333 242477 321 269

    Scriei un program C/C++ care citete de la tastatur un numr natural nenul n (n100) i 2*n numere naturale de maximum 3 cifre; primele n reprezint elementele tabloului unidimensional a, iar urmtoarele n elementele tabloului unidimensional b; fiecare tablou are elementele numerotate ncepnd de la 1. Programul construieste n memorie i afieaz pe ecran cele n elemente ale unui tablou unidimensional c, n care orice element ci (1in) se obine conform definiiei urmtoare: ci = ai concatenat cu bi, dac ai

  • Ministerul Educaiei, Cercetrii i Tineretului Centrul Naional pentru Curriculum i Evaluare n nvmntul Preuniversitar

    BACALAUREAT 2008 - INFORMATIC, limbajul C/C++ Subiectul III Specializarea Matematic-informatic intensiv informatic

  • Ministerul Educaiei, Cercetrii i Tineretului Centrul Naional pentru Curriculum i Evaluare n nvmntul Preuniversitar

    BACALAUREAT 2008 - INFORMATIC, limbajul C/C++ Subiectul III Specializarea Matematic-informatic intensiv informatic

    Subiectul III (30 de puncte) - Varianta 056

    Pentru itemul 1, scriei pe foaia de examen litera corespunztoare rspunsului corect. 1. Pentru a genera toate numerele naturale cu exact 4 cifre i care au cifrele n ordine strict

    descresctoare, se poate utiliza un algoritm echivalent cu cel pentru generarea: (4p.) a. aranjamentelor de 4 obiecte luate cte 10 b. combinrilor de 10 obiecte luate cte 4 c. permutrilor a 10 obiecte d. permutrilor a 4 obiecte

    Scriei pe foaia de examen rspunsul pentru fiecare dintre cerinele urmtoare. 2. Se consider subprogramul f,

    definit alturat. Ce valoare are f(21114,1)? (6p.)

    int f(int n,int c) { if(n==0)return 0; if(n%10==c) return n%100+f(n/10,c); return f(n/10,c); }

    3. Fiierul text numere.txt conine, pe o singur linie, cel mult 1000 de numere naturale nenule cu cel mult 4 cifre fiecare, numerele fiind separate prin cte un spaiu. Scriei un program C/C++ care citete toate numerele din fiier i scrie pe ecran toate numerele pare citite, ordonate cresctor. Dac fiierul numere.txt nu conine niciun numr par, atunci se va afia pe ecran mesajul nu exista. Exemplu: dac fiierul numere.txt conine numerele 2 3 1 4 7 2 5 8 6, atunci pe ecran se va afia: 2 2 4 6 8 (10p.)

    4. Se consider subprogramul numar, care: primete prin intermediul parametrului, x, un numr natural nenul de cel mult 4 cifre; furnizeaz prin intermediul parametrului nrp numrul de numere prime mai mici sau egale

    cu x.

    a) Scriei numai antetul subprogramului numar. (4p.) b) Scriei declarrile de date i programul principal C/C++ n care se citesc de la tastatur dou numere naturale nenule de cel mult 4 cifre, a i b, i prin apeluri utile al subprogramului numar, se verific dac intervalul determinat de a i b conine cel puin un numr prim. Programul va afia pe ecran n caz afirmativ mesajul DA, iar n caz contrar mesajul NU. Prin intervalul determinat de a i b se nelege intervalul [a,b] dac a

  • Ministerul Educaiei, Cercetrii i Tineretului Centrul Naional pentru Curriculum i Evaluare n nvmntul Preuniversitar

    BACALAUREAT 2008 - INFORMATIC, limbajul C/C++ Subiectul III Specializarea Matematic-informatic intensiv informatic

    Subiectul III (30 de puncte) - Varianta 057

    Pentru itemul 1, scriei pe foaia de examen litera corespunztoare rspunsului corect. 1. Se utilizeaz metoda backtracking pentru a genera toate cuvintele de cte patru litere distincte

    din mulimea {d,a,n,s}. tiind c al doilea cuvnt generat este dans, iar al treilea este dsan, care va fi ultimul cuvnt obinut? (4p.)

    a. nsad b. snad c. snda d. dans

    Scriei pe foaia de examen rspunsul pentru fiecare dintre cerinele urmtoare. 2. Se consider subprogramul f,

    definit alturat. Ce se va afia la apelul f(38);? (6p.)

    void f(int x){ if(x){ if(x%3==0){ cout

  • Ministerul Educaiei, Cercetrii i Tineretului Centrul Naional pentru Curriculum i Evaluare n nvmntul Preuniversitar

    BACALAUREAT 2008 - INFORMATIC, limbajul C/C++ Subiectul III Specializarea Matematic-informatic intensiv informatic

    Subiectul III (30 de puncte) - Varianta 058

    Pentru itemul 1, scriei pe foaia de examen litera corespunztoare rspunsului corect. 1. Se utilizeaz metoda backtracking pentru a genera toate cuvintele de cte trei litere distincte

    din mulimea {i,n,f,o}. tiind c ultimele trei cuvinte generate sunt, n ordine, ion, inf i ino, care este cel de-al doilea cuvnt obinut? (4p.)

    a. ofn b. ifo c. foi d. nif

    Scriei pe foaia de examen rspunsul pentru fiecare dintre cerinele urmtoare. 2. Se consider subprogramul f, definit

    alturat. Ce valoare are f(3713,3)? (6p.)

    int f(int n,int c){ if(n==0) return 0; if(n%10==c) return f(n/10,c)*10+c; return f(n/10,c); }

    3. Fiierul text BAC.TXT conine, pe o singur linie, cel puin 3 i cel mult 100 de numere naturale nenule distincte de cel mult 4 cifre fiecare, numerele fiind separate prin cte un spaiu. Scriei un program C/C++ care citete toate numerele din fiierul BAC.TXT i scrie pe ecran, n ordine descresctoare, cele mai mici 3 numere citite. Exemplu: dac fiierul BAC.TXT conine numerele 1017 48 310 5710 162, atunci se va afia: 310 162 48 (10p.)

    4. Se consider subprogramul divizor, care: primete prin intermediul parametrului a un numr natural strict mai mare dect 1, de cel

    mult 4 cifre; furnizeaz prin intermediul parametrului d cel mai mare divizor al lui a strict mai mic dect

    a.

    a) Scriei numai antetul subprogramului divizor. (4p.) b) Scriei declarrile de date i programul principal C/C++ care citete de la tastatur un numr natural nenul x, de cel mult 4 cifre i, prin apeluri utile ale subprogramului divizor, verific dac x este numr prim. Programul va afia pe ecran n caz afirmativ mesajul DA, iar n caz contrar mesajul NU. (6p.)

  • Ministerul Educaiei, Cercetrii i Tineretului Centrul Naional pentru Curriculum i Evaluare n nvmntul Preuniversitar

    BACALAUREAT 2008 - INFORMATIC, limbajul C/C++ Subiectul III Specializarea Matematic-informatic intensiv informatic

    Subiectul III (30 de puncte) - Varianta 059

    Pentru itemul 1, scriei pe foaia de examen litera corespunztoare rspunsului corect. 1. Se utilizeaz metoda backtracking pentru a genera toate cuvintele care conin toate literele din

    mulimea {i,n,f,o}, astfel nct fiecare liter s apar exact o dat ntr-un cuvnt. tiind c al doilea cuvnt generat este info iar al treilea este ionf, care este ultimul cuvnt obinut? (4p.)

    a. nifo b. ofni c. ofin d. foni

    Scriei pe foaia de examen rspunsul pentru fiecare dintre cerinele urmtoare. 2. Se consider subprogramul f, definit

    alturat. Ce valoare are f(261,31)? (6p.)

    int f(int a,int b) { if(a1), i, prin apeluri utile ale subprogramului divizor, verific dac x este numr prim. Programul va afia pe ecran, n caz afirmativ, mesajul DA, iar n caz contrar mesajul NU. (6p.)

  • Ministerul Educaiei, Cercetrii i Tineretului Centrul Naional pentru Curriculum i Evaluare n nvmntul Preuniversitar

    BACALAUREAT 2008 - INFORMATIC, limbajul C/C++ Subiectul III Specializarea Matematic-informatic intensiv informatic

    Subiectul III (30 de puncte) - Varianta 060

    Pentru itemul 1, scriei pe foaia de examen litera corespunztoare rspunsului corect. 1. Se utilizeaz metoda backtracking pentru a genera toate cuvintele care conin toate literele din

    mulimea {i,n,f,o}, astfel nct fiecare liter s apar exact o dat ntr-un cuvnt i literele n i o s nu se afle pe poziii vecine. tiind c primul cuvnt generat este info, iar al treilea este nifo care este cel de-al doilea cuvnt obinut? (4p.)

    a. iofn b. inof c. ionf d. niof

    Scriei pe foaia de examen rspunsul pentru fiecare dintre cerinele urmtoare. 2. Se consider subprogramul f, definit

    alturat. Ce valoare are f(398,2008)? (6p.)

    int f(int a,int b){ if(2*a>=b) return 0; if(b%a==0) return b-a; return f(a+1,b-1); }

    3. Fiierul text bac.txt conine, pe o singur linie, cel mult 100 de numere naturale nenule de cel mult 4 cifre fiecare, numerele fiind ordonate cresctor i separate prin cte un spaiu. Scriei un program C/C++ care citete de la tastatur un numr natural x de cel mult 4 cifre i verific dac x se afl n fiierul bac.txt. n caz afirmativ, se va afia pe ecran mesajul DA, altfel se va afia mesajul NU. Exemplu: dac x=312, iar fiierul bac.txt conine numerele: 17 48 312 5742 8692 atunci se va afia: DA ; dac x=20, iar fiierul bac.txt conine numerele: 17 48 312 5742 8692 atunci se va afia: NU. (10p.)

    4. Se consider subprogramul radical, care: primete prin intermediul parametrului a, un numr natural nenul de cel mult 4 cifre; furnizeaz prin intermediul parametrului x cel mai mare numr natural cu proprietatea c

    x2 este mai mic sau egal cu a; de exemplu, dac a=20, subprogramul va furniza prin x valoarea 4.

    a) Scriei numai antetul subprogramului radical. (4p.) b) Scriei declarrile de date i programul principal C/C++ care citete de la tastatur un numr natural nenul de cel mult 4 cifre, n, i prin apeluri utile ale subprogramului radical, verific dac n este ptrat perfect. Programul va afia pe ecran n caz afirmativ mesajul DA, iar n caz contrar mesajul NU. (6p.)

  • Ministerul Educaiei, Cercetrii i Tineretului Centrul Naional pentru Curriculum i Evaluare n nvmntul Preuniversitar

    BACALAUREAT 2008 - INFORMATIC, limbajul C/C++ Subiectul III Specializarea Matematic-informatic intensiv informatic

    Subiectul III (30 de puncte) - Varianta 061

    Pentru itemul 1, scriei pe foaia de examen litera corespunztoare rspunsului corect. 1. Generarea matricelor ptratice de ordinul n, cu elemente 0 i 1, cu proprietatea c pe

    fiecare linie i pe fiecare coloan exist un singur element egal cu 1, se poate realiza utiliznd metoda backtracking. Algoritmul utilizat este echivalent cu algoritmul de generare a: (4p.)

    a. combinrilor b. permutrilor c. aranjamentelor d. produsului cartezian

    Scriei pe foaia de examen rspunsul pentru fiecare dintre cerinele urmtoare. 2. Se consider tabloul unidimensional a definit

    global, ce memoreaz elementele a1=12, a2=35,a3=2, a4=8 i subprogramul f, definit alturat. Ce valoare are f(4)? (6p.)

    int f(int x) {if(x>=1) return (a[x]+f(x-1))%10; else return 0;}

    3. Subprogramul cifra primete prin parametrul x un numr real nenul pozitiv i furnizeaz prin parametrul y valoarea cifrei unitilor prii ntregi a lui x. Exemplu: dac x=34.567, dup apel y=4. a) Scriei definiia complet a subprogramului cifra. (10p.)

    b) Fiierul text medii.txt conine cel mult 600 de linii. Pe fiecare linie se afl, separate printr-un spaiu, dou numere reale, cu cel mult dou zecimale, din intervalul [1,10], care reprezint media pe semestrul 1 respectiv media pe semestrul al 2-lea, ale cte unui elev. n situaiile statistice pe care coala le realizeaz, fiecare medie este ncadrat ntr-una dintre urmtoarele categorii de medii: [3,3.99], [4,4.99], [5,5.99], [6,6.99],[7,7.99], [8,8.99], [9,10]. Scriei un program C/C++ care citete datele din fiier i afieaz pe ecran numrul elevilor care au media din semestrul al 2-lea n categoria imediat urmtoare categoriei creia i aparine media din semestrul 1. Ordinea categoriilor este cea din enumerarea de mai sus. n program se vor folosi apeluri utile ale subprogramului cifra. Se va utiliza un algoritm eficient din punctul de vedere al memoriei utilizate.

    Exemplu: dac fiierul medii.txt conine: 9.45 7.90 6.34 7.60 8.75 9.90 6.34 9.90 (6p.)

    pe ecran se afieaz: 2

    c) Descriei succint, n limbaj natural, metoda de rezolvare folosit, explicnd n ce const eficiena ei (3 4 rnduri). (4p.)

  • Ministerul Educaiei, Cercetrii i Tineretului Centrul Naional pentru Curriculum i Evaluare n nvmntul Preuniversitar

    BACALAUREAT 2008 - INFORMATIC, limbajul C/C++ Subiectul III Specializarea Matematic-informatic intensiv informatic

    Subiectul III (30 de puncte) - Varianta 062

    Pentru itemul 1, scriei pe foaia de examen litera corespunztoare rspunsului corect. 1. Utiliznd metoda backtracking pentru afiarea tuturor modalitilor de descompunere a unui

    numr natural ca o sum de numere naturale nenule, pentru n=3 se obin, n ordine, soluiile: 1+1+1; 1+2; 2+1; 3. Ordinea de scriere a termenilor dintr-o descompunere este semnificativ. Folosind aceeai metod pentru n=10, care este soluia generat imediat dup 1+1+3+5? (4p.)

    a. 1+1+4+1+1+1+1 b. 1+1+7+1 c. 1+2+7 d. 1+1+4+4

    Scriei pe foaia de examen rspunsul pentru fiecare dintre cerinele urmtoare. 2. Considerm subprogramul f, definit alturat. Care va

    fi valoarea variabilei globale x dup apelul f(4962,x), dac nainte de apel, x are valoarea 0? (6p.)

    void f(int n,int &a) {int c; if(n!=0){c=n%10; if(a

  • Ministerul Educaiei, Cercetrii i Tineretului Centrul Naional pentru Curriculum i Evaluare n nvmntul Preuniversitar

    BACALAUREAT 2008 - INFORMATIC, limbajul C/C++ Subiectul III Specializarea Matematic-informatic intensiv informatic

    Subiectul III (30 de puncte) - Varianta 063

    Pentru itemul 1, scriei pe foaia de examen litera corespunztoare rspunsului corect. 1. Se genereaz, prin metoda backtracking, toate partiiile mulimii A={1,2,3} obinndu-se

    urmtoarele soluii: {1}{2}{3}; {1}{2,3}; {1,3}{2}; {1,2}{3}; {1,2,3}. Se observ c dintre acestea, prima soluie e alctuit din exact trei submulimi. Dac se folosete aceeai metod pentru a genera partiiile mulimii {1,2,3,4} stabilii cte dintre soluiile generate vor fi alctuite din exact trei submulimi. (4p.)

    a. 3 b. 12 c. 6 d. 5

    Scriei pe foaia de examen rspunsul pentru fiecare dintre cerinele urmtoare. 2. Se consider tabloul unidimensional a definit

    global, ce memoreaz elementele a1=1, a2=2,a3=0 i subprogramul f, definit alturat. Ce valoare are f(3,3)? (6p.)

    int f(int b,int i) { if(i>=1) return f(b,i-1)*b+a[i]; else return 0;}

    3. Subprogramul verif primete prin singurul su parametru, x, un numr natural nenul cu cel mult 9 cifre i returneaz valoarea 1 dac numrul conine cel puin o secven de 3 cifre impare alturate i 0 n caz contrar. Exemplu: dac x=7325972 se va returna valoarea 1. a) Scriei definiia complet a subprogramului verif. (10p.)

    b) Fiierul text date.txt conine pe prima linie un numr natural nenul n cu cel mult 4 cifre i pe fiecare dintre urmtoarele n linii cte un numr naturale, cu exact 6 cifre. Scriei un program C/C++ care citete numerele din fiierul date.txt i le afieaz pe ecran, separate prin cte un spaiu, numai pe acelea care au primele trei cifre impare. Se vor utiliza apeluri utile ale subprogramului verif. Dac nu exist niciun numr cu aceast proprietate, se va afia pe ecran mesajul nu. Alegei o metod eficient din punctul de vedere al memoriei utilizate.

    De exemplu: dac fiierul date.txt conine numerele alturate, pe ecran se afieaz: 133579 973314 (6p.)

    3 133579 345796 973314

    c) Descriei succint, n limbaj natural, metoda de rezolvare folosit, explicnd n ce const eficiena ei (3 4 rnduri). (4p.)

  • Ministerul Educaiei, Cercetrii i Tineretului Centrul Naional pentru Curriculum i Evaluare n nvmntul Preuniversitar

    BACALAUREAT 2008 - INFORMATIC, limbajul C/C++ Subiectul III Specializarea Matematic-informatic intensiv informatic

    Subiectul III (30 de puncte) - Varianta 064

    Pentru itemul 1, scriei pe foaia de examen litera corespunztoare rspunsului corect. 1. Se genereaz, prin metoda backtracking, toate modalitile de aezare a numerelor

    naturale de la 1 la 5, astfel nct oricare 2 numere consecutive s nu se afle pe poziii alturate. Dac primele dou soluii sunt: (1,3,5,2,4) i (1,4,2,5,3), care este prima soluie generat n care primul numr este 4? (4 p.)

    a. (4, 1, 3, 2, 5) b. (4,2,5,1, 3) c. (4, 3, 5, 3, 1) d. (4, 1, 3, 5, 2)

    Scriei pe foaia de examen rspunsul pentru fiecare dintre cerinele urmtoare. 2. Se consider subprogramul f, definit

    alturat. Ce se va afia n urma apelului f(5,0);? (6p.)

    void f(int i,int j) { if(j

  • Ministerul Educaiei, Cercetrii i Tineretului Centrul Naional pentru Curriculum i Evaluare n nvmntul Preuniversitar

    BACALAUREAT 2008 - INFORMATIC, limbajul C/C++ Subiectul III Specializarea Matematic-informatic intensiv informatic

    Subiectul III (30 de puncte) - Varianta 065

    Pentru itemul 1, scriei pe foaia de examen litera corespunztoare rspunsului corect. 1. Se genereaz, prin metoda backtracking, toate modalitile de aezare a numerelor

    naturale de la 1 la 5 astfel nct oricare dou numere consecutive s nu se afle pe poziii alturate. Dac primele dou soluii sunt: (1,3,5,2,4) i (1,4,2,5,3), care este prima soluie generat care ncepe cu 2? (4p.)

    a. (2, 4, 1, 3, 5) b. (2, 5, 4, 3, 1) c. (2, 4, 1, 3, 1) d. (2, 3, 5, 4, 1)

    Scriei pe foaia de examen rspunsul pentru fiecare dintre cerinele urmtoare. 2. Se consider funcia f, definit alturat.

    Ce se afieaz ca urmare a executrii secvenei de mai jos n care variabilele a i b sunt de tip unsigned int? a=4; b=18; printf(%d,f(a,b));/ cout

  • Ministerul Educaiei, Cercetrii i Tineretului Centrul Naional pentru Curriculum i Evaluare n nvmntul Preuniversitar

    BACALAUREAT 2008 - INFORMATIC, limbajul C/C++ Subiectul III Specializarea Matematic-informatic intensiv informatic

    Subiectul III (30 de puncte) - Varianta 066

    Pentru itemul 1, scriei pe foaia de examen litera corespunztoare rspunsului corect. 1. Se genereaz n ordine cresctoare, toate numerele naturale de 5 cifre distincte, care se

    pot forma cu cifrele 2,3,4,5 i 6. S se precizeze numrul generat imediat naintea i numrul generat imediat dup secvena urmtoare : 34256, 34265, 34526, 34562 (4p.)

    a. 32645 i 34625 b. 32654 i 34655 c. 32654 i 34625 d. 32645 i 34655

    Scriei pe foaia de examen rspunsul pentru fiecare dintre cerinele urmtoare. 2. Se consider subprogramul recursiv definit

    alturat. Ce valoare are functie(4)? (6p.) int functie(int x) { if (x

  • Ministerul Educaiei, Cercetrii i Tineretului Centrul Naional pentru Curriculum i Evaluare n nvmntul Preuniversitar

    BACALAUREAT 2008 - INFORMATIC, limbajul C/C++ Subiectul III Specializarea Matematic-informatic intensiv informatic

    Subiectul III (30 de puncte) - Varianta 067

    Pentru itemul 1, scriei pe foaia de examen litera corespunztoare rspunsului corect. 1. Se genereaz n ordine cresctoare, toate numerele naturale de 5 cifre distincte, care se

    pot forma cu cifrele 5,6,7,8 i 9. S se precizeze numrul generat imediat naintea i numrul generat imediat dup secvena urmtoare : 67589,67598,67859,67895. (4p.)

    a. 65987 i 67958 b. 65978 i 67988 c. 65978 i 67958 d. 65987 i 67988

    Scriei pe foaia de examen rspunsul pentru fiecare dintre cerinele urmtoare. 2. Se consider subprogramul recursiv definit

    alturat. Pentru ce valoare a parametrului u, alfa(u) are valoarea 25 ? Pentru u=6, ce valoarea returneaz alfa(u)? (6p.)

    int alfa(int u) {if (u==0) return 3; else return alfa(u-1)+3*u-2; }

    3. S se scrie n limbajul C/C++ definiia complet a subprogramului calcul, care primete prin intermediul parametrului n un numr natural nenul (1n10000), iar prin intermediul parametrului a, un tablou unidimensional care conine n valori ntregi, fiecare dintre aceste valori ntregi avnd cel mult 9 cifre. Subprogramul returneaz numrul de numere prime din tablou. (10p.)

    Exemplu: pentru n=5 i tabloul unidimensional (12,37,43,6,71) n urma apelului se va returna 3.

    4. Fiierul text NUMERE.TXT conine pe prima linie un numr natural n (1n10000) i pe a doua linie un ir cresctor de n numere naturale, fiecare avnd cel mult 9 cifre. Numerele de pe a doua linie sunt separate prin cte un spaiu. a) Scriei un program C/C++ care, utiliznd o metod eficient din punct de vedere al timpului de executare i al spaiului de memorie, afieaz pe ecran elementele distincte ale irului aflat pe a doua linie a fiierului. (6p.)

    Exemplu: dac fiierul NUMERE.TXT are coninutul alturat

    7 111 111 111 2111 4111 71111 71111

    atunci programul va afia pe ecran 111 2111 4111 71111. b) Descriei succint, n limbaj natural, metoda utilizat la punctul a), justificnd eficiena

    acesteia. (4p.)

  • Ministerul Educaiei, Cercetrii i Tineretului Centrul Naional pentru Curriculum i Evaluare n nvmntul Preuniversitar

    BACALAUREAT 2008 - INFORMATIC, limbajul C/C++ Subiectul III Specializarea Matematic-informatic intensiv informatic

    Subiectul III (30 de puncte) - Varianta 068

    Pentru itemul 1, scriei pe foaia de examen litera corespunztoare rspunsului corect. 1. Se utilizeaz metoda backtracking pentru a genera toate submulimile cu p elemente ale

    unei mulimi cu m elemente. Dac m=7 i p=4 atunci numrul de submulimi generate este: (4p.)

    a. 60 b. 35 c. 5 d. 15

    Scriei pe foaia de examen rspunsul pentru fiecare dintre cerinele urmtoare. 2. Se consider subprogramul

    recursiv definit alturat. Ce valori vor fi afiate pe ecran n urma apelului gama(6)? (6p.)

    void gama(int n) {int i; if(n>=3) {for(i=3;i

  • Ministerul Educaiei, Cercetrii i Tineretului Centrul Naional pentru Curriculum i Evaluare n nvmntul Preuniversitar

    BACALAUREAT 2008 - INFORMATIC, limbajul C/C++ Subiectul III Specializarea Matematic-informatic intensiv informatic

    Subiectul III (30 de puncte) - Varianta 069

    Pentru itemul 1, scriei pe foaia de examen litera corespunztoare rspunsului corect. 1. Construim anagramele unui cuvnt c1c2c3c4 prin generarea n ordine lexicografic a

    permutrilor indicilor literelor cuvntului i obinem c1c2c3c4 c1c2c4c3 c1c3c2c4 c4c3c1c2 c4c3c2c1. Pentru anagramele cuvntului pateu, dup irul paetu, paeut, paute cuvintele imediat urmtoare sunt: (4p.)

    a. pauet i ptaeu b. ptaeu i ptaue c. pauet i ptaue d. ptaeu i patue

    Scriei pe foaia de examen rspunsul pentru fiecare dintre cerinele urmtoare. 2. Se consider subprogramul recursiv

    definit alturat. Ce valori vor fi afiate pe ecran n urma apelului beta(15);? (6p.)

    void beta(int n) {if (n!=1) {printf(%d ,n); | cout

  • Ministerul Educaiei, Cercetrii i Tineretului Centrul Naional pentru Curriculum i Evaluare n nvmntul Preuniversitar

    BACALAUREAT 2008 - INFORMATIC, limbajul C/C++ Subiectul III Specializarea Matematic-informatic intensiv info