Sunteți pe pagina 1din 3

Ministerul Educaiei, Cercetrii, Tineretului i Sportului Centrul Naional de Evaluare i Examinare

Examenul de bacalaureat 2011 Proba E. d) Proba scris la INFORMATIC Limbajul C/C++ Varianta 9
Filiera teoretic, profilul real, specializrile: matematic informatic matematic informatic intensiv informatic Filiera vocaional, profilul militar, specializarea matematic informatic Toate subiectele sunt obligatorii. Se acord 10 puncte din oficiu. Timpul efectiv de lucru 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).

SUBIECTUL I (30 de puncte) Pentru itemul 1, scriei pe foaia de examen litera corespunztoare rspunsului corect. 1. Indicai care dintre expresiile C/C++ de mai jos are valoarea 1 dac i numai dac numrul memorat n variabila ntreag x aparine reuniunii de intervale [-3,-1][1,3]. (4p.)

a. x>=-3 && x<=-1 && x>=1 && x<=3 b. !(x<-3 || x>-1) || !(x<1 || x>3) c. x>=-3 || x<=-1 || x>=1 || x<=3 d. !(x<-3 && x>3 && x>-1 || x<1) 2. Se consider algoritmul alturat, descris n pseudocod. a. Scriei numerele care se afieaz n urma executrii algoritmului, n ordine, dac pentru n se citete valoarea 5, iar pentru k se citete valoarea 2. (6p.) b. Dac pentru variabila k se citete valoarea 5, scriei cea mai mic i cea mai mare valoare care pot fi citite pentru variabila n astfel nct, n urma executrii algoritmului, ultimul numr care se afieaz, pentru fiecare dintre aceste valori, s fie 7. (6p.) c. Scriei n pseudocod un algoritm care s conin o singur structur repetitiv n loc de dou i care s fie echivalent cu cel dat. (4p.) d. Scriei programul algoritmului dat. C/C++ corespunztor (10p.) citete n,k (numere naturale nenule) t 0 ct timp n1 execut dac n>k atunci i k altfel i n t t+1 n n-i ct timp i1 execut scrie t,' ' i i-1

Prob scris la Informatic Limbajul C/C++ 1

Varianta 9

Filiera teoretic, profilul real, specializrile matematic informatic, matematic informatic intensiv informatic Filiera vocaional, profilul militar, specializarea matematic informatic

Ministerul Educaiei, Cercetrii, Tineretului i Sportului 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. a. c. 2. Numim pdure un graf neorientat n care fiecare component conex a sa este un arbore. Orice pdure cu cel puin doi arbori este un graf care: (4p.) are cicluri i este conex nu are cicluri i este conex b. d. are cicluri i nu este conex nu are cicluri i nu este conex

Se consider graful orientat cu 6 vrfuri, numerotate de la 1 la 6, i mulimea arcelor {(1,4), (2,1), (2,4), (2,6), (4,1), (4,6)}. Numrul de subgrafuri ale sale, fiecare avnd mulimea arcelor {(1,4), (2,1), (2,4), (4,1)}, este: (4p.) 2 b. 3 c. 4 d. 5

a.

Scriei pe foaia de examen rspunsul pentru fiecare dintre cerinele urmtoare. 3. Se consider graful neorientat cu 5 noduri, numerotate de la 1 la 5, reprezentat prin listele de adiacen alturate. Enumerai nodurile care fac parte din componenta conex a grafului dat care are cele mai puine noduri. (6p.) 1: 2: 3: 4: 5: 4, 5 3 2 1 1

4.

n secvena de instruciuni de mai jos variabilele i i j sunt de tip ntreg i variabila A este de tip tablou bidimensional cu 5 linii i 5 coloane, numerotate de la 0 la 4, cu elemente numere ntregi. Fr a utiliza alte variabile, scriei o instruciune care poate nlocui punctele de suspensie astfel nct, n urma executrii secvenei obinute, tabloul memorat n variabila A s aib elementele din figura de mai jos. nainte de executarea secvenei toate elementele tabloului sunt nule. for(i=0;i<5;i++) for(j=0;j<5;j++) .............. 0 1 2 3 4 1 2 3 4 5 2 3 4 5 6 3 4 5 6 7 4 5 6 7 8

(6p.)

5.

Scriei un program C/C++ care citete de la tastatur un numr natural n (2n20) i apoi n cuvinte distincte, fiecare fiind format din cel mult 20 de caractere, numai litere mici ale alfabetului englez. La introducerea datelor, dup fiecare cuvnt se tasteaz Enter. Programul afieaz pe ecran numrul de cuvinte dintre ultimele n-1 citite, care ncep cu primul cuvnt citit. Exemplu: dac n=5 i cuvintele citite sunt: bun buncar bunici abundent bunavoie pe ecran se afieaz 3 (deoarece numai cuvintele buncar, bunici i bunavoie ncep cu bun). (10p.)

Prob scris la Informatic Limbajul C/C++ 2

Varianta 9

Filiera teoretic, profilul real, specializrile matematic informatic, matematic informatic intensiv informatic Filiera vocaional, profilul militar, specializarea matematic informatic

Ministerul Educaiei, Cercetrii, Tineretului i Sportului 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. Se consider subprogramele recursive C1 i C2, definite mai jos. int C1 (int a, int b) { if(a==b) return a; else if(a>b) return C1(a-b,b); else return C1(a,b-a); } int C2 (int a, int b) { if(b==0) return a; else return C2(b,a%b); }

La apel, returneaz valoarea celui mai mare divizor comun al celor dou numere naturale nenule primite ca parametri: (4p.) a. numai C1 b. numai C2 c. att C1 ct i C2 d. nici C1 nici C2

Scriei pe foaia de examen rspunsul pentru fiecare dintre cerinele urmtoare. 2. Avnd la dispoziie cinci mrgele de culori diferite, rou, galben, verde, albastru, violet, se utilizeaz metoda backtracking pentru a obine toate posibilitile de a forma iruri de cte trei mrgele, tiind c n cadrul unui ir conteaz ordinea de aezare a mrgelelor. Culorile mrgelelor, corespunztoare primelor patru soluii obinute sunt, n aceast ordine: (rou, galben, verde), (rou, galben, albastru), (rou, galben, violet), (rou, verde, galben). Scriei ultimele dou soluii generate, n ordinea obinerii lor. (6p.) Subprogramul inserare are doi parametri: n, prin care primete un numr natural (2n20); a, prin care primete un tablou unidimensional care memoreaz un ir de n numere naturale, fiecare cu cel mult 4 cifre. Cel puin un element al tabloului este numr par. Subprogramul modific tabloul astfel nct dup fiecare termen par al irului insereaz valoarea 2011 i furnizeaz, tot prin parametrii n i a, valorile actualizate ale datelor primite. Scriei n limbajul C/C++ definiia complet a subprogramului. Exemplu: dac n=7 i a=(1,4,5,3,82,6,2) atunci, dup apel, n=11 i a=(1,4,2011,5,3,82,2011,6,2011,2,2011). (10p.) Se citesc de la tastatur dou numere naturale s1 i s2 (0<s118, 0s218) i se cere scrierea n fiierul BAC.TXT, fiecare pe cte o linie, n ordine strict cresctoare, a tuturor numerelor naturale cu exact 5 cifre, pentru care suma primelor dou cifre este egal cu s1, iar suma ultimelor dou cifre este egal cu s2. Pentru determinarea numerelor indicate se utilizeaz un algoritm eficient din punct de vedere al timpului de executare. Exemplu: dac s1=8, iar s2=7, atunci 35725 este unul dintre numerele care respect proprietatea cerut (3+5=8 i 2+5=7). a) Descriei n limbaj natural algoritmul utilizat, justificnd eficiena acestuia. (4p.) b) Scriei programul C/C++ corespunztor algoritmului descris. (6p.)

3.

4.

Prob scris la Informatic Limbajul C/C++ 3

Varianta 9

Filiera teoretic, profilul real, specializrile matematic informatic, matematic informatic intensiv informatic Filiera vocaional, profilul militar, specializarea matematic informatic