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 oficiu. 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 fie 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 fie 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 c←0

cˆ at timp b ≠ 0 execut˘ a ⎡ ⎢ c←a % b ⎢ ⎢ ⎢ ⎢ ⎢ a←b ⎢ ⎢ ⎢ ⎢ ⎢ b←c ⎣ a a returneaz˘

Se consider˘ a graful neorientat complet cu 10 vˆ arfuri. 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.) a. 36 b. Datele de intrare se consider˘ aafi corecte. folosind stiva s3 ca stiv˘ a auxiliar˘ a. Cˆ ate frunze are arborele cu r˘ ad˘ acin˘ a.SUBIECTUL al II-lea (30 de puncte) Pentru fiecare dintre itemii 1 ¸ si 2 scriet ¸i pe foaia de examen litera corespunz˘ atoare r˘ aspunsului corect. 38 c. Funct ¸ia push(s. 46 d.) 5.x) insereaza elementul x ˆ ın vˆ arful stivei s. Num˘ arul de muchii ce pot fi eliminate astfel ˆ ıncˆ at graful part ¸ial rezultat s˘ a fie arbore este: (4p. Se consider˘ a trei stive s1. 1. 1 b. 81 2. 4 Scriet ¸i pe foaia de examen r˘ aspunsul pentru fiecare dintre cerint ¸ele urm˘ atoare.) 4. ordinea elementelor ˆ ın stiva s2 va fi aceea¸ si cu ordinea init ¸ial˘ a a elementelor ˆ ın stiva s1. 3 d. Funct ¸ia pop(s) returneaz˘ a elementul din vˆ arful stivei s ¸ si ˆ ıl elimin˘ a pe acesta din stiv˘ a. atunci pe ecran se afi¸ seaz˘ a: a: 2 b: 1 c: 1 d: 1 e: 3 r: 1 (6p.) a. al c˘ arui vector de p˘ arint ¸i este (7 5 5 5 0 2 3 7)? (4p. Exemplu: dac˘ a la intrare s-a introdus cuvˆ antul abecedare. (6p. La final. cu opt noduri numerotate de la 1 la 8. atunci un posibil rezultat este: 1 2 3 4 2 3 3 4 4 1 1 2 4 1 2 3 (10p. Prima stiv˘ a cont ¸ine trei elemente.) . Scriet ¸i un program C/C++ care cite¸ ste din fi¸ sierul standard (tastatura) de intrare un num˘ ar natural n (n ≥ 2) ¸ si construie¸ ste o matrice p˘ atratic˘ a n×n ˆ ın care pe fiecare linie ¸ si pe fiecare coloan˘ a apar toate numerele de la 1 la n. ˆ ın timp ce celelalte dou˘ a stive sunt vide. s2 ¸ si s3. 3. Scriet ¸i un program C/C++ care cite¸ ste din fi¸ sierul standard de intrare (tastatura) un ¸ sir de caractere format doar din litere mici ale alfabetului englez ¸ si afi¸ seaz˘ a num˘ arul de aparit ¸ii al fiec˘ arei litere din cuvˆ antul introdus. Exemplu: dac˘ a la intrare s-a introdus n = 4. 2 c.

360 c.SUBIECTUL al III-lea (30 de puncte) Pentru itemul 1. if (x%2 == 0) return F(x/2)*F(x/2). i ∈ {0. Pentru a0 = 1. } 3.. corespunz˘ atoare ecuat ¸iei 2x0 − 3x1 = 1. marginile inf ¸ si sup ¸ si un index −1 n−1 k ∈ {0.) c) Scriet ¸i ˆ ın limbajul C/C++ o funct ¸ie care prime¸ ste ca argumente num˘ arul n.) Exemple: Pentru datele de intrare a0 = 2.M. a1 . valoarea b. litera A apare pe pozit ¸ia a doua ? (4p. b = 0. sup sunt cunoscut ¸i. valoarea b. . 180 d. sup]. a1 = 1.B. x1 = 1. unde xi ∈ [inf. Folosit ¸i funct ¸iile min ¸ si max definite mai sus pentru a eficientiza procesul de c˘ autare a solut ¸iilor. inf = 1. respectiv max ∑i=k ai xi . sunt numere ˆ ıntregi.n − 1} ¸ si returneaz˘ a min ∑n i=k ai xi .n − 1}. (10p. scriet ¸i pe foaia de examen litera corespunz˘ atoare r˘ aspunsului corect. return 2*F((x-1)/2)*F((x-1)/2).A. 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. tabloul coeficient ¸ilor a. a1 = −3. b. sup = 2. unde atˆ at b cˆ at ¸ si coeficient ¸ii ai . corespunz˘ atoare ecuat ¸iei x0 + x1 = 0. Fiecare dintre variabilele xi . tabloul coeficient ¸ilor a. b = 1. i ∈ {0. (6p.) int F(int x) { if (x == 0) return 1. 2. poate lua valori doar numere ˆ ıntregi ˆ ın intervalul [inf. ce valoare va returna apelul F(11) ? (6p.) b) Scriet ¸i ˆ ın limbajul C/C++ dou˘ a funct ¸ii min si max care primesc ca argumente num˘ arul n. sup].. . 1.. 120 Scriet ¸i pe foaia de examen r˘ aspunsul pentru fiecare dintre cerint ¸ele urm˘ atoare.I. r˘ aspunsul va fi N U LL.J}.) a. Pentru funct ¸ia F definit˘ a al˘ aturat. inf. a) Descriet ¸i ˆ ın limbaj natural o metod˘ a pentru rezolvarea ecuat ¸iei ˆ ın cazul ˆ ın care n=2¸ si parametrii a0 .n − 1}. sup = 2. solut ¸ia returnat˘ a va fi x0 = 2. acela¸ si pentru toate variabilele (inf < sup sunt de asemenea numere ˆ ıntregi). (4p. Se consider˘ a ecuat ¸ia liniar˘ a a0 x0 + a1 x1 + ⋅ ⋅ ⋅ + an−1 xn−1 = b. inf = 0. 720 b. In cˆ ate dintre permut˘ arile elementelor mult ¸imii {L.

Sign up to vote on this title
UsefulNot useful