Sunteți pe pagina 1din 3

Universitatea Al. I.

Cuza, Ia si Test la INFORMATICA Limbajul C/C++

Facultatea de Informatic a Admitere, iulie 2012

Se acord a 10 puncte din ociu. Timpul efectiv de lucru este de 3 ore. SUBIECTUL I (30 de puncte)

Pentru itemul 1, scriet i pe foaia de examen litera corespunz atoare r aspunsului corect. 1. Indicat i care dintre expresiile C/C++ de mai jos exprim a corect relat ia de apartenent a x [1,7] [3,9]. (4p.) a. !(x < 3 && x > 7) b. !(x < 3 || x > 7) c. x >= 3 || x <= 7 d. x > 3 && x < 7

2. Se consider a algoritmul al aturat, descris n pseudocod. a. Scriet i valoarea returnat a de algoritm dac a secvent a de intrare este format a din numerele 78 si 770. (6p.) b. Care sunt cea mai mic a valoare pe care o poate lua variabila a n intervalul [20, 100] si cea mai mare valoare pe care o poate lua variabila b n acela si interval, astfel nc at rezultatul returnat de algoritm s a e 7. (6p.) c. Scriet i n pseudocod un algoritm care s a nu foloseasc a operatorii aritmetici % (modulo) si ( mp art ire) si care s a e echivalent cu cel dat. (4p.) d. Scriet i programul C/C++ corespunz ator algoritmului al aturat. (10p.) cites te a, b (numere naturale) daca a < b atunci interschimb a a cu b c0

c at timp b 0 execut a ca % b ab bc a a returneaz

SUBIECTUL al II-lea

(30 de puncte)

Pentru ecare dintre itemii 1 si 2 scriet i pe foaia de examen litera corespunz atoare r aspunsului corect. 1. Se consider a graful neorientat complet cu 10 v arfuri. Num arul de muchii ce pot eliminate astfel nc at graful part ial rezultat s a e arbore este: (4p.) a. 36 b. 38 c. 46 d. 81

2. C ate frunze are arborele cu r ad acin a, cu opt noduri numerotate de la 1 la 8, al c arui vector de p arint i este (7 5 5 5 0 2 3 7)? (4p.) a. 1 b. 2 c. 3 d. 4 Scriet i pe foaia de examen r aspunsul pentru ecare dintre cerint ele urm atoare. 3. Se consider a trei stive s1, s2 si s3. Prima stiv a cont ine trei elemente, n timp ce celelalte dou a stive sunt vide. S a se scrie o secvent a de instruct iuni ce utilizeaz a apeluri ale funct iilor push si pop pentru a muta elementele stivei s1 n stiva s2, folosind stiva s3 ca stiv a auxiliar a. La nal, ordinea elementelor n stiva s2 va aceea si cu ordinea init ial a a elementelor n stiva s1. Funct ia push(s,x) insereaza elementul x n v arful stivei s. Funct ia pop(s) returneaz a elementul din v arful stivei s si l elimin a pe acesta din stiv a. (6p.)

4. Scriet i un program C/C++ care cite ste din sierul standard de intrare (tastatura) un sir de caractere format doar din litere mici ale alfabetului englez si a seaz a num arul de aparit ii al ec arei litere din cuv antul introdus. Datele de intrare se consider aa corecte. Exemplu: dac a la intrare s-a introdus cuv antul abecedare, atunci pe ecran se a seaz a: a: 2 b: 1 c: 1 d: 1 e: 3 r: 1 (6p.) 5. Scriet i un program C/C++ care cite ste din sierul standard (tastatura) de intrare un num ar natural n (n 2) si construie ste o matrice p atratic a nn n care pe ecare linie si pe ecare coloan a apar toate numerele de la 1 la n. Exemplu: dac a la intrare s-a introdus n = 4, atunci un posibil rezultat este: 1 2 3 4 2 3 3 4 4 1 1 2 4 1 2 3 (10p.)

SUBIECTUL al III-lea

(30 de puncte)

Pentru itemul 1, scriet i pe foaia de examen litera corespunz atoare r aspunsului corect. 1. In c ate dintre permut arile elementelor mult imii {L,I,M,B,A,J}, litera A apare pe pozit ia a doua ? (4p.) a. 720 b. 360 c. 180 d. 120

Scriet i pe foaia de examen r aspunsul pentru ecare dintre cerint ele urm atoare. 2. Pentru funct ia F denit a al aturat, ce valoare va returna apelul F(11) ? (6p.) int F(int x) { if (x == 0) return 1; if (x%2 == 0) return F(x/2)*F(x/2); return 2*F((x-1)/2)*F((x-1)/2); }

3. Se consider a ecuat ia liniar a a0 x0 + a1 x1 + + an1 xn1 = b, unde at at b c at si coecient ii ai , i {0..n 1}, sunt numere ntregi. Fiecare dintre variabilele xi , i {0..n 1}, poate lua valori doar numere ntregi n intervalul [inf, sup], acela si pentru toate variabilele (inf < sup sunt de asemenea numere ntregi). a) Descriet i n limbaj natural o metod a pentru rezolvarea ecuat iei n cazul n care n=2 si parametrii a0 , a1 , b, inf, sup sunt cunoscut i. (4p.) b) Scriet i n limbajul C/C++ dou a funct ii min si max care primesc ca argumente num arul n, tabloul coecient ilor a, valoarea b, marginile inf si sup si un index 1 n1 k {0, ..n 1} si returneaz a min n i=k ai xi , respectiv max i=k ai xi , unde xi [inf, sup]. (6p.) c) Scriet i n limbajul C/C++ o funct ie care prime ste ca argumente num arul n, tabloul coecient ilor a, valoarea b, marginile inf si sup si returneaz a un tablou cu n elemente cont in and o solut ie a ecuat iei date sau N U LL dac a ecuat ia nu are nicio solut ie. Folosit i funct iile min si max denite mai sus pentru a ecientiza procesul de c autare a solut iilor. (10p.)

Exemple: Pentru datele de intrare a0 = 2, a1 = 3, b = 1, corespunz atoare ecuat iei 2x0 3x1 = 1, inf = 0, sup = 2, solut ia returnat a va x0 = 2, x1 = 1. Pentru a0 = 1, a1 = 1, b = 0, corespunz atoare ecuat iei x0 + x1 = 0, inf = 1, sup = 2, r aspunsul va N U LL.