Sunteți pe pagina 1din 2

Prob scris la INFORMATIC, proba E

Limbajul C/C++
Sesiunea iunie-iulie 2006 VARIANTA 2
Toate subiectele sunt obligatorii. Se acord 10 puncte din oficiu.
Timpul efectiv de lucru este de 3 ore.
n programele cerute la subiectele II i III, identificatorii utilizai trebuie s respecte precizrile din
enun (aldine), iar n lipsa unor precizri explicite, notaiile trebuie s corespund cu semnificaiile
asociate acestora (eventual n form prescurtat).

I. Pentru fiecare din itemii de la 1 la 10, scriei pe foaia de examen litera corespunztoare rspunsului
corect. Fiecare rspuns corect se noteaz cu 4 puncte.
1. citete a (a>0, real nentreg)
Ce reprezint rezultatul afiat de programul pseudocod repet
alturat? c[a]; a(a-c)*10
S-a notat cu [x] partea ntreag a numrului real x. pn cnd [a]>0
scrie [a]
a. prima zecimal nenul a lui a b. prima zecimal a lui a
c. ultima zecimal nenul a lui a d. ultima zecimal a lui a
2. Dac x este o variabil ce memoreaz toi divizorii unui numr natural nenul de cel mult 3 cifre,
stabilii care dintre urmtoarele declarri este corect:
a. int x[3]; b. int x; c. float x; d. int x[50]
3. Se consider graful neorientat dat prin matricea de adiacen 0 1 0 1 1
alturat. Stabilii dac se poate obine un arbore prin eliminarea 1 0 0 0 1
anumitor muchii dintre muchiile grafului 0 0 0 1 1
1 0 1 0 0
1 1 1 0 0
a. Da, prin eliminarea exact a unei muchii b. Da, prin eliminarea exact a dou muchii
c. Da, prin eliminarea exact a trei muchii d. Nu
4. ntr-un graf neorientat cu 10 noduri, fiecare nod are gradul 2. Care este numrul maxim de
componente conexe din care poate fi format graful?
a. 1 b. 3 c. 4 d. 5
5. Subprogramul minim returneaz cifra minim a unui numr natural. Pentru o variabil x ce
memoreaz o valoare natural de cel mult 2 cifre, subprogramul este apelat ntr-o secven de forma
if(minim(x)+minim(x*x))==0)x++;
Care dintre urmtoarele variante este un antet corect al subprogramului?
a. void minim(long u) b. int minim(long x*x)
c. int minim(long u) d. int minim(int x, int y)
6. Numrul 60 se scrie ca produs de numere naturale mai mari dect 1, n toate modurile distincte
posibile, astfel: 2235, 2215, 2310, 256, 230, 345, 320, 415, 512, 610 . Folosind
exact aceeai metod, scriei n toate modurile distincte posibile numrul 45 ca produs de numere
naturale mai mari dect 1. Care este a doua soluie?
a. 533 b. 315 c. 353 d. 59
7. ntr-un vector V cu 41 de componente avnd indicii de la 1 la 41, elementele vecine cu elementul din
mijlocul vectorului sunt:
a. V20 i V21 b. V20 i V22 c. V19 i V21 d. V19 i V20
8. ntr-o list simplu nlnuit cu cel puin patru elemente, fiecare element reine n cmpul adr adresa
elementului urmtor din list. Dac p i q sunt adresele a dou noduri din list astfel nct
p==q->adr, atunci nodul de la adresa q se afl n list:
a. imediat dup nodul de la adresa p b. n aceeai poziie ca i nodul de la adresa p
c. imediat naintea nodului de la adresa p d. pe o poziie nenvecinat cu p
9. Subprogramul min returneaz cea mai mic valoare dintre cele dou transmise ca parametri.
Stabilii valoarea expresiei min(min(7,3)+min(7,13),min(17,13))
a. 10 b. 13 c. 17 d. 20
10. Fie x, y dou variabile reale. Secvena pseudocod alturat yx; xxx
afieaz DA pentru valori iniiale ale lui x dac x<y atunci scrie DA
a. strict negative subunitare b. strict negative supraunitare
c. strict pozitive subunitare d. strict pozitive supraunitare

II. Se consider programul pseudocod alturat:


citete n,k (numere naturale)
ik
S-a notat cu x%y restul mpririi numerelor ntregi x i y
ct timp i>0 execut
i cu [x] partea ntreag a numrului real x.
n[n/10]
Care este valoarea afiat pentru n=27503 i k=2? (5p) ii-1
1.
sfrit ct timp
2. Pentru n=675, stabilii o valoare pentru variabila k astfel zn%10
nct rezultatul afiat s fie 0. (3p) scrie z
3. Scriei programul C sau C++ corespunztor algoritmului dat. (8p.)
4. Scriei programul C sau C++ pentru un algoritm echivalent cu algoritmul dat, dar n care s se
utilizeze structura repetitiv cu un numr cunoscut de pai (cu contor) (4p)

III.
1. Se consider subprogramul ncif care are un singur parametru, n, numr natural de cel mult 9 cifre
i care determin numrul de cifre ale lui n.
a) Scriei definiia complet a subprogramului ncif. (5p.)
b) Scriei programul C/C++ care citete de la tastatur dou numere naturale x i y, numere de cel
mult 9 cifre fiecare, i verific dac x i y au acelai numr de cifre. Ca rezultat al verificrii, se va
afia pe ecran un mesaj. (5p.)
2. Pentru o valoare n (numr natural nenul, n<30000) citit de la tastatur se cere s se afieze pe ecran
un ir strict descresctor format din n numere naturale neprime de cel puin trei cifre fiecare, astfel nct
s nu existe n ir dou numere consecutive i suma elementelor din ir s fie minim. De exemplu,
pentru n=3, irul 317 310 309 nu este corect deoarece 317 este prim, 310 i 309 sunt consecutive n
irul numerelor naturale i deoarece suma nu este minim. Alegei un algoritm eficient de rezolvare.
a) Descriei strategia de rezolvare n limbaj natural, (3-5 rnduri). (2p.)
b) Scriei programul C/C++ corespunztor. (8p.)
3. tiind c sunt definite subprogramele:
creare, care construiete o list simplu nlnuit ce memoreaz, n ordine, toate literele din care
este format un cuvnt de cel puin una i cel mult 30 de litere, fiecare liter fiind memorat n cte un
nod; subprogramul are ca parametri adresa de nceput p a listei nou create i cuvntul c ale crui
litere se memoreaz n list.
vocala, care primete prin intermediul parametrului formal p adresa de nceput a listei i
returneaz prin intermediul parametrului formal q adresa primului nod din list ce memoreaz o
vocal sau returneaz adresa nul, n cazul n care nu exist un nod care s rein o vocal.
a) Scriei declarrile de date necesare i antetul fiecruia dintre cele dou subprograme. (3p.)
b) Scriei un program care citete de la tastatur un cuvnt de cel puin una i cel mult 30 de litere i,
apelnd cele dou subprograme, afieaz mesajul DA dac prima liter din cuvnt este o consoan,
altfel afieaz mesajul NU. (7p.)