Sunteți pe pagina 1din 3

Ministerul Educaiei Naionale Centrul Naional de Evaluare i Examinare

Examenul de bacalaureat naional 2013 Proba E. d) Informatic Limbajul C/C++ Varianta 7 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 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. a. c. Indicai expresia care are valoarea 1 dac i numai dac numrul natural memorat n variabila ntreag x are exact dou cifre. (4p.) x/100==0 && x>9 x%100==0 && x<100 b. d. x/100==0 || x<100 x%100==0 || x>9 citete a,b (numere naturale nenule, ab) nr 1 pentru i a,b execut scrie * dac nra atunci scrie # nr nr*2 scrie *

2. Se consider algoritmul alturat, reprezentat n pseudocod. a) Scriei ce se afieaz dac pentru variabila a se citete valoarea 5, iar pentru variabila b se citete valoarea 9. (6p.) Dac pentru variabila a se citete valoarea 10, scriei numrul care poate fi citit pentru variabila b astfel nct, n urma executrii algoritmului, caracterul # s fie afiat de exact trei ori. (4p.)

b)

c) d)

Scriei n pseudocod un algoritm, echivalent cu cel dat, n care s se nlocuiasc structura pentru...execut cu o structur repetitiv de alt tip. (6p.) Scriei programul C/C++ corespunztor algoritmului dat. (10p.)

Prob scris la informatic Limbajul C/C++ 1

Varianta 7

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

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 a memoreaz elementele unui tablou bidimensional cu 100 de linii i 100 de coloane, numerotate de la 1 la 100. Un element aflat pe diagonala secundar a tabloului poate fi accesat prin: (4p.) a[1][3] b. a[15][15] c. a[16][24] d. a[42][59] ntr-un arbore cu rdcin considerm c un nod se afl pe nivelul x dac lanul elementar care are o extremitate n nodul respectiv i cealalt extremitate n rdcina arborelui are lungimea x. Pe nivelul 0 se afl un singur nod (rdcina). Se consider un arbore cu rdcin, cu patru niveluri. Toate nodurile de pe acelai nivel (cu excepia ultimului nivel) au un numr egal (nenul) de descendeni direci (fii) i nu exist dou niveluri cu acelai numr de noduri. Numrul minim de noduri de pe nivelul 3 este: (4p.) 6 b. 8 c. 9 d. 12

a. 2.

a.

Scriei pe foaia de examen rspunsul pentru fiecare dintre cerinele urmtoare. 3. n declararea alturat, variabilele f i fs memoreaz n struct fractie { int a,b; cmpurile a i b numrtorul, respectiv numitorul cte unei } f,fs; fracii. Scriei o secven de instruciuni C/C++ care s memoreze n variabila fs fracia obinut prin nsumarea 2 fraciei memorate n variabila f i a fraciei . (6p.) 3 Scriei toate ciclurile elementare distincte ale unui graf neorientat cu 6 noduri, numerotate de la 1 la 6, i muchiile [1,2], [1,3], [1,5], [3,4], [3,5], [4,5], [5,6]. Dou cicluri se consider distincte dac ele difer prin cel puin o muchie. (6p.) Se consider un text cu cel mult 100 de caractere (litere mici ale alfabetului englez i spaii), n care cuvintele sunt separate prin cte un spaiu. naintea primului cuvnt i dup ultimul cuvnt nu exist spaii. Scriei un program C/C++ care citete de la tastatur un text de tipul menionat mai sus i determin transformarea acestuia n memorie prin nlocuirea fiecrui cuvnt format din trei litere cu simbolul *. Programul afieaz pe ecran textul obinut. Exemplu: pentru textul bun este izvorul ce are apa rece se afieaz * este izvorul ce * * rece (10p.)

4.

5.

Prob scris la informatic Limbajul C/C++ 2

Varianta 7

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

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. Se consider subprogramele f1 i f2, definite mai jos. int f1(int n) { return n*(n+1)/2; } int f2 (int n) { if(n>0) return n+f2(n-1); return 0; }

a.

Identificai subprogramul care, la apel, pentru parametrul n=10, returneaz suma primelor 10 numere naturale nenule. (4p.) b. numai f1 c. numai f2 d. nici f1, nici f2 att f1, ct i f2

Scriei pe foaia de examen rspunsul pentru fiecare dintre cerinele urmtoare. 2. Utiliznd metoda backtracking se genereaz toate submulimile cu cel mult patru elemente din mulimea {3, 5, 6, 7, 8}. Primele ase soluii generate sunt, n aceast ordine: {3}, {3, 5}, {3, 5, 6}, { 3, 5, 6, 7}, {3, 5, 6, 8}, {3, 5, 7}. Scriei cea de a aptea i cea de a opta soluie, n ordinea generrii acestora. (6p.) Se consider subprogramul sub, cu trei parametri: n, prin care primete un numr natural (2<n<50); v, prin care primete un tablou unidimensional cu n elemente, numere naturale cu cel mult 4 cifre; x, prin care primete un numr natural cu cel mult 4 cifre. Cel puin unul dintre elementele tabloului are valoarea x. Subprogramul modific ordinea valorilor din tablou, astfel nct toate valorile egale cu x s ocupe primele poziii din v, iar celelalte valori s se regseasc n continuarea acestora. Tabloul modificat este furnizat tot prin parametrul v. Scriei definiia complet a subprogramului. Exemplu: dac n=9, v=(2, 1, 0, 1, 7, 0, 1, 4, 5) i x=1, atunci, dup apel, o soluie posibil este v=(1, 1, 1, 2, 0, 7, 0, 4, 5). (10p.) Fiierul bac.txt conine un ir de cel puin trei i cel mult 1000000 de numere naturale cu cel mult nou cifre. Numerele din ir sunt separate prin cte un spaiu. Se cere s se afieze pe ecran, separate printr-un spaiu, dou numere distincte, anume cel mai mic numr par cu dou cifre i cel mai mare numr par cu dou cifre care NU fac parte din ir. Dac nu exist dou astfel de valori, pe ecran se afieaz mesajul Nu exista. Pentru determinarea numerelor cerute se utilizeaz un algoritm eficient din punctul de vedere al timpului de executare. Exemplu: dac fiierul bac.txt conine valorile 7 2 40 5 10 15 11 12 18 350 se afieaz pe ecran numerele 14 98. 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 7

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