Toate subiectele sunt obligatorii. Se acord 10 puncte din oficiu.
Timpul de lucru efectiv este de 3 ore. n rezolvrile cerute, identificatorii utilizai trebuie s respecte precizrile din enun (bold), iar n lipsa unor precizri explicite, notaiile trebuie s corespund cu semnificaiile asociate acestora (eventual n form prescurtat). n programele cerute, datele de intrare se consider corecte, validarea acestora nefiind necesar.
SUBIECTUL I (30 de puncte)
Pentru itemul 1, scriei pe foaia de examen litera corespunztoare rspunsului corect. 1. Variabilele x, y i z sunt de tip ntreg i memoreaz cte un numr !(z<=y) && y>x natural nenul. Dac expresia C/C++ alturat are valoarea 1, indicai irul cresctor format cu valorile acestor variabile, n ordinea precizat mai jos. (4p.) a. x, y, z b. y, z, x c. z, x, y d. z, y, x
2. Se consider algoritmul alturat, reprezentat n citete n
pseudocod. (numr natural nenul) S-a notat cu x%y restul mpririi numrului natural x m n la numrul natural nenul y i cu [z] partea ntreag a p 1 numrului real z. ct timp np*10 execut c1 [n/p]%10 a) Scriei numrul afiat dac se citete valoarea c2 [n/(p*10)]%10 162453. (6p.) dac c1>c2 atunci b) Scriei dou numere de patru cifre distincte care n n-(c1-c2)*p pot fi citite astfel nct, n urma executrii p p*10 algoritmului, pentru fiecare dintre acestea, s se n n+(c1-c2)*p afieze valoarea 0. (4p.) altfel p p*10 c) Scriei n pseudocod un algoritm, echivalent cu
cel dat, n care s se nlocuiasc structura ct
timp...execut cu o structur repetitiv cu dac n=m atunci test final. (6p.) scrie 0 d) Scriei programul C/C++ corespunztor altfel algoritmului dat. (10p.) scrie n
Prob scris la informatic Varianta 2
Limbajul C/C++ Filiera teoretic, profilul real, specializrile: matematic-informatic, matematic-informatic intensiv informatic Filiera vocaional, profilul militar, specializarea matematic-informatic 1 Ministerul Educaiei Naionale Centrul Naional de Evaluare i Examinare
SUBIECTUL al II-lea (30 de puncte)
Pentru fiecare dintre itemii 1 i 2 scriei pe foaia de examen litera corespunztoare rspunsului corect. 1. Pentru a putea memora un tablou bidimensional cu maximum 21 de elemente, numere reale, variabila A se poate declara astfel: (4p.) a. A[3..7] int; b. A[3][7] float; c. int A[3;7]; d. float A[3][7]; 2. Se consider un graf neorientat conex i fr cicluri, n care gradul oricrui nod este mai mic sau egal cu 4. Dac ase dintre nodurile sale au gradul egal cu 1, atunci numrul maxim de noduri cu gradul egal cu 4 este: (4p.) a. 0 b. 1 c. 2 d. 3
Scriei pe foaia de examen rspunsul pentru fiecare dintre cerinele urmtoare.
3. Scriei matricea de adiacen prin care poate fi reprezentat graful orientat cu 5 vrfuri, numerotate de la 1 la 5, ilustrat n figura alturat. (6p.)
4. Se consider urmtoarea operaie prin care se transform un arbore cu rdcin: se
elimin din arbore nodul frunz numerotat cu valoarea minim, marcndu-se nodul tat al acestuia. Scriei vectorul de tai al unui arbore cu 6 noduri, numerotate de la 1 la 6, n care nodul 1 este rdcin, tiind c dac asupra acestui arbore se efectueaz de patru ori succesiv operaia de transformare menionat mai sus, se marcheaz, n aceast ordine, nodurile 5, 1, 1, 1. (6p.) 5. Se consider un text cu cel mult 100 de caractere, n care cuvintele sunt formate numai din litere mici ale alfabetului englez i sunt separate prin cte un spaiu. Scriei un program C/C++ care citete de la tastatur un text de tipul menionat mai sus i determin transformarea acestuia n memorie, astfel nct din fiecare cuvnt format dintr-un numr impar de litere (cel puin trei) s se elimine litera aflat pe poziia din mijloc, ca n exemplu. Programul afieaz pe ecran textul obinut, iar dac nu exist niciun cuvnt modificat, afieaz pe ecran mesajul nu exista. Exemplu: pentru textul pictura prin aceea arata o pace profunda se afieaz picura prin acea arta o pace profunda (10p)
Prob scris la informatic Varianta 2
Limbajul C/C++ Filiera teoretic, profilul real, specializrile: matematic-informatic, matematic-informatic intensiv informatic Filiera vocaional, profilul militar, specializarea matematic-informatic 2 Ministerul Educaiei Naionale Centrul Naional de Evaluare i Examinare
SUBIECTUL al III-lea (30 de puncte)
Pentru itemul 1, scriei pe foaia de examen litera corespunztoare rspunsului corect. 1. Utiliznd metoda backtracking, se genereaz toate posibilitile de a obine suma 4 cu numere naturale nenule. Dou sume sunt distincte dac difer prin cel puin un termen. Soluiile generate sunt, n aceast ordine, 1+1+1+1, 1+1+2, 1+3, 2+2. Aplicnd acelai algoritm pentru a genera toate posibilitile de a obine suma 6, dac prima soluie generat este 1+1+1+1+1+1, atunci soluia 1+2+3 este generat: (4p.) a. a 6-a b. a 7-a c. a 8-a d. a 9-a
Scriei pe foaia de examen rspunsul pentru fiecare dintre cerinele urmtoare.
2. Se consider subprogramul f, definit int f(int a, int b) alturat. Scriei valorile f(5,5) i { if (a==b) return 0; f(10,21). (6p.) if (b/a==0) return a+b; return f(a+2,b-3); } 3. Un numr natural nenul se numete perfect dac este egal cu suma divizorilor si naturali strict mai mici dect el. Exemplu: 28 este numr perfect pentru c 28=1+2+4+7+14. Se consider subprogramul perfect, cu doi parametri, a i b, prin care primete cte un numr natural (2a<b109). Subprogramul afieaz pe ecran, separate prin cte un spaiu, n ordine descresctoare, toate numerele perfecte din intervalul [a,b]. Dac n interval nu exist astfel de numere, subprogramul afieaz pe ecran mesajul nu exista. Scriei definiia complet a subprogramului. Exemplu: pentru a=5 i b=30, se afieaz pe ecran: 28 6 (10p.) 4. Numim secven uniform a unui ir de numere naturale un subir al acestuia, format din termeni cu aceeai valoare, aflai pe poziii consecutive n irul dat. Lungimea secvenei este egal cu numrul de termeni ai acesteia. Fiierul bac.txt conine un ir de cel puin dou i cel mult 1000000000 de numere naturale din intervalul [0, 109]. Numerele sunt separate prin cte un spaiu, iar n ir exist cel puin doi termeni egali pe poziii consecutive. Se cere s se determine o secven uniform de lungime maxim n irul aflat n fiier i s se afieze pe ecran lungimea acestei secvene i, pe o linie nou, separai prin cte un spaiu, termenii acesteia. Dac sunt mai multe astfel de secvene, se afieaz doar termenii ultimei dintre acestea. Pentru determinarea numerelor cerute se utilizeaz un algoritm eficient din punctul de vedere al memoriei necesare i al timpului de executare. Exemplu: dac fiierul bac.txt conine numerele 2 3 3 3 3 5 4 4 11 11 11 11 16 11 11 11 11 15 15 atunci pe ecran se afieaz valorile 4 11 11 11 11 a) Descriei n limbaj natural algoritmul utilizat, justificnd eficiena acestuia. (4p.) b) Scriei programul C/C++ corespunztor algoritmului descris. (6p.)