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. Expresia C/C++ alturat are valoarea: (4p.) 17/3/2%17 a. 0 b. 2 c. 10 d. 17
2. Se consider algoritmul alturat, citete n,a,b
reprezentat n pseudocod. (numere naturale nenule, an, bn) S-a notat cu a%b restul mpririi numrului 0 ok natural a la numrul natural nenul b. 1 x a) Scriei ce se afieaz dac se citesc, n ct timp xn execut aceast ordine, numerele 15, 3 i 4. (6p.) dac x%a=0 i x%b0 sau x%a0 i x%b=0 atunci b) Scriei dou seturi distincte de date de scrie x, intrare astfel nct, n urma executrii 1 ok algoritmului, pentru fiecare dintre acestea s se afieze valoarea 0. (4p.) x+1 x c) Scriei n pseudocod un algoritm echivalent cu cel dat, nlocuind adecvat structura dac ok=0 atunci ct timp...execut cu o structur scrie 0
repetitiv de tip pentru...execut. (6p.) d) Scriei programul C/C++ corespunztor algoritmului dat. (10p.)
Prob scris la informatic Simulare
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. Variabila s din secvena urmtoare permite memorarea unui ir de cel mult 20 de caractere. strcpy(s,"tezauriza"); cout<<strstr(s,"za"); | printf("%s",strstr(s,"za")); n urma executrii secvenei, se afieaz pe ecran: (4p.) a. 3 b. 2 c. za d. zauriza 2. Matricea de adiacen a unui graf neorientat cu 7 noduri are 10 elemente nenule. Numrul maxim de componente conexe ale grafului este: (4p.) a. 2 b. 3 c. 4 d. 5
Scriei pe foaia de examen rspunsul pentru fiecare dintre cerinele urmtoare.
3. Se consider arborele cu 8 noduri, numerotate de la 1 la 8, cu rdcina 5 i muchiile [1,5], [2,7], [3,7], [3,8], [4,5], [5,7], [6,7]. Enumerai nodurile care sunt descendeni direci (fii) ai nodului 7. (6p.) 4. Variabila m memoreaz simultan, pentru fiecare dintre cele 20 de maini oferite spre nchiriere, urmtoarele date: anul fabricaiei mainii (numr natural) i tipul de carburant al acesteia (ir de maximum 50 de caractere). tiind c expresiile C/C++ de mai jos au ca valori anul fabricaiei celei de a treia maini, respectiv tipul de carburant al acesteia, scriei definiia unei structuri cu eticheta masina, care permite memorarea datelor despre o main, i declarai corespunztor variabila m. m[2].an m[2].carburant (6p.) 5. Scriei un program C/C++ care citete de la tastatur un numr natural n (n [2,20]) i construiete n memorie un tablou bidimensional cu n linii i n coloane n care: - ultima coloan conine numerele naturale din intervalul [1,n], n ordine strict descresctoare; - toate elementele primei linii au valoarea n; - oricare alt element este obinut prin nsumarea celor dou elemente vecine cu el, unul aflat pe coloana din dreapta, pe aceeai linie cu el, iar cellalt pe aceeai coloan cu el, dar pe linia anterioar, ca n exemplu. Programul afieaz pe ecran tabloul obinut, fiecare linie a tabloului pe cte o linie a ecranului, elementele fiecrei linii fiind separate prin cte un spaiu. Exemplu: pentru n=4 pe ecran se afieaz: 4 4 4 4 15 11 7 3 35 20 9 2 65 30 10 1 (10p.)
Prob scris la informatic Simulare
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. Subprogramul f este definit alturat. void f(int x) Indicai ce se afieaz n urma { cout<<x; | printf(%d,x); apelului de mai jos. if(x>3) f(6); { f(x-2); (4p.) cout<<x; | printf(%d,x); } } a. 642 b. 6446 c. 64246 d. 642246
Scriei pe foaia de examen rspunsul pentru fiecare dintre cerinele urmtoare.
2. Se utilizeaz metoda backtracking pentru a obine toate buchetele formate din cte trei tipuri de flori de primvar din mulimea {brndu, iasomie, lalea, liliac, margaret}, astfel nct iasomia i liliacul nu vor fi plasate n acelai buchet. tiind c n cadrul unui buchet nu conteaz ordinea de aezare a florilor, primele patru soluii obinute sunt, n aceast ordine: (brndu, iasomie, lalea), (brndu, iasomie, margaret), (brndu, lalea, liliac), (brndu, lalea, margaret). Scriei cea de a cincea i cea de a asea soluie, n ordinea obinerii lor. (6p.) 3. Subprogramul ranguri are un singur parametru, n, prin care primete un numr natural [0,109]). Subprogramul returneaz numrul de cifre ale lui n care sunt egale cu (n poziiile pe care le ocup n scrierea acestuia. Poziiile sunt numerotate de la dreapta la stnga, iar cifra unitilor ocup poziia 0. Scriei definiia complet a subprogramului. Exemplu: dac n=6594270, subprogramul returneaz numrul 4. (10p.) 4. Fiierul bac.in conine pe prima linie dou numere naturale din intervalul [2,104], m i n, iar pe fiecare dintre urmtoarele dou linii cte un ir de m, respectiv n numere naturale din intervalul [0,109], ordonate strict cresctor. Numerele aflate pe aceeai linie a fiierului sunt separate prin cte un spaiu. Se cere s se afieze pe ecran, n ordine strict descresctoare, numerele pare care apar n cel puin unul dintre cele dou iruri. Numerele afiate sunt separate prin cte un spaiu, iar dac nu exist niciun astfel de numr, se afieaz pe ecran mesajul nu exista. Pentru determinarea numerelor cerute se va utiliza un algoritm eficient din punctul de vedere al timpului de executare. Exemplu: dac fiierul conine numerele 5 6 1 4 8 9 10 2 4 10 12 15 18 se afieaz pe ecran 18 12 10 8 4 2 a) Descriei n limbaj natural algoritmul utilizat, justificnd eficiena acestuia. (2p.) b) Scriei programul C/C++ corespunztor algoritmului descris. (8p.)