Sunteți pe pagina 1din 3

Universitatea Al. I.

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

Facultatea de Informatic a Admitere, septembrie 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. Variabila ntreag a n memoreaz a un num ar natural de exact 5 cifre. Instruct iunea care determin a eliminarea din num arul n a primei si ultimei cifre este: (4p.) a. n=n%100/10; c. n=n/10%10000; b. n=n/10%1000; d. n=n%10/1000;

2. Se consider a algoritmul al aturat, descris n pseudocod. a. Scriet i valorile variabilelor rezultat si iteratii dup a execut ia algoritmului dac a secvent a de intrare este format a din numerele 4 si 56. (6p.) b. Pentru un a xat, care sunt cea mai mic a, respectiv cea mai mare valoare pe care le poate lua variabila b astfel nc at valoarea variabilei iteratii dup a execut ia algoritmului s a e exact 5. (6p.) c. Scriet i n pseudocod un algoritm care s a foloseasc a doar operatorii aritmetici + (plus) si (minus) 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) sa r0 iteratii 0 c at timp b > 1 execut a iteratii iteratii+1 dac a b%2=0 atunci s s*2 b b/2 altfel r r+s b b-1 rezultat s+r

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. C ate grafuri neorientate cu 5 noduri exist a astfel nc at ecare nod s a aib a gradul 3? (4p.) a. 0 b. 3 c. 5 d. 10

2. Care este num arul maxim de frunze pe care le poate avea un arbore binar cu 11 v arfuri ? (4p.) a. 5 b. 6 c. 8 d. 10 Scriet i pe foaia de examen r aspunsul pentru ecare dintre cerint ele urm atoare. 3. Se consider a dou a cozi q1 si q2, init ial vide. In prima coad a sunt ad augate trei elemente oarecare. S a se scrie o secvent a de instruct iuni ce utilizeaz a apeluri ale funct iilor add si out pentru a muta elementele cozii q1 n coada q2, astfel nc at, la nal, suita de operat ii: out(q2), out(q2), out(q2) s a returneze n ordine invers a cele trei valori ad augate init ial n coada q1. (Funct ia add(q,x) adaug a elementul x n coada q. Funct ia out(q) extrage si returneaz a un element din coada q.) (6p.)

4. Scriet i un program C/C++ care cite ste din sierul standard de intrare (tastatura) siruri de caractere de forma cuv ant#tip, unde cuv ant este un sir oarecare de litere iar tip poate una din literele S,P sau C, semnicat ia ind subiect, predicat sau complement. Aplicat ia va a sa pe ecran toate propozit iile av and structura subiect predicat complement ce pot formate cu ajutorul cuvintelor citite. Datele de intrare se consider a a corecte. Exemplu: dac a la intrare s-au introdus sirurile: Ion#S Vasile#S alearga#P repede#C scrie#P, atunci pe ecran se va a sa: Ion scrie repede, Ion alearga repede, Vasile scrie repede, Vasile alearga repede (6p.) 5. Scriet i un program C/C++ care cite ste din sierul standard de intrare (tastatura) un num ar natural n (n 2) si o matrice p atratic a A de dimensiune nn, elementele acesteia put and avea doar valorile 0 sau 1. Dou a elemente A(i1,j1) si A(i2,j2) sunt adiacente dac a sunt vecine pe o aceea si linie sau coloan a: (i1=i2 si |j1-j2|=1) sau (j1=j2 si |i1-i2|=1). Un grup reprezint a e un singur element al matricii av and valoarea 1, neadiacent cu niciun alt element cu valoarea 1, e o mult ime de elemente av and valoarea 1, ecare dintre ele ind adiacent cu cel put in un alt element din mult imea respectiv a si neadiacent cu niciun alt element din alt grup. Programul trebuie s a a seze pe ecran num arul de grupuri cont inute de matrice si coordonatele elementelor acestora. Exemplu: Num arul de grupuri din matricea 44 de mai jos este 3 iar cele trei grupuri sunt: G1={(0,0)}, G2={(0,3),(1,2),(1,3),(2,3)}, G3={(2,1),(3,0),(3,1)}. 1001 0011 0101 1100 (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 {B, I, N, A, R}, literele A si B apar pe pozit ii consecutive, indiferent de ordinea acestora (AB sau BA)? (4p.) a. 120 b. 72 c. 48 d. 24

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(1234) ? (6p.) int F(int x) { if(x == 0) return 0; if (x%10%2 == 0) return 2 + F(x/10); return 10 - F(x/10); }

3. Se consider a o tabl a de sah de dimensiune nn, unde n 3 si n piese de tip regin a. Dou a regine sunt n conict dac a ele se g asesc e pe aceea si linie a tablei, e pe aceea si a n plasarea tuturor coloan a, e pe aceea si diagonal a. Problema celor n regine const reginelor pe tabla de joc astfel nc at oricare dou a dintre ele s a nu se ae n conict una cu cealalt a. Tin and cont c a n orice solut ie pe ecare linie sau coloan a a tablei de joc se va g asi exact o regin a, o solut ie a problemei va un tablou s cu n elemente, astfel nc at regina cu numarul i se va g asi la linia i si coloana s[i]. a) Descriet i n limbaj natural o metod a pentru rezolvarea problemei reginelor. Specicat i modul n care vet i verica existent a unui conict ntre dou a regine. (4p.) b) Scriet i n limbajul C/C++ o funct ie care prime ste ca argumente dimensiunea n a tablei de joc, un num ar de regine k deja plasate si un tablou de numere ntregi cuprinse ntre 0 si k-1, reprezent and pozit iile la care au fost plasate cele k regine si construie ste o matrice a de dimensiune nn astfel: a(i,j)=0, dac a nicio regin a nu se g ase ste pe linia i si coloana j si nici nu atac a aceast a pozit ie; a(i,j)=1, dac a exist a o regin a plasat a pe linia i si coloana j; a(i,j)=-p, dac a nicio regin a nu se g ase ste pe linia i si coloana j dar exist a p 1 regine care atac a aceast a pozit ie. (6p.) c) Scriet i n limbajul C/C++ un program care cite ste din sierul standard de intrare (tastatura) un num ar natural n (n 3) si a seaz a o solut ie a problemei celor n regine sau un mesaj corespunz ator n cazul n care nu exist a niciuna. Pentru a ecientiza procesul de c autare a solut iei, folosit i matricea a denit a la punctul anterior. (10p.) Exemplu: Pentru n=4, o solut ie este dat a de tabloul (1, 3, 0, 2) corespunz ator reprezent arii de mai jos (cu 1 au fost marcate reginele plasate): 0100 0001 1000 0010