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 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. 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 fixat, 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 fie 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 fie echivalent cu cel dat. (4p.) d. Scriet ¸i programul C/C++ corespunz˘ ator algoritmului al˘ aturat. (10p.) cites ¸te a, b (numere naturale) s←a r←0 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

Un grup reprezint˘ a fie un singur element al matricii avˆ and valoarea 1.(1.1).3). Care este num˘ arul maxim de frunze pe care le poate avea un arbore binar cu 11 vˆ arfuri ? (4p.3)}. la final. fie o mult ¸ime de elemente avˆ and valoarea 1. Exemplu: Num˘ arul de grupuri din matricea 4×4 de mai jos este 3 iar cele trei grupuri sunt: G1={(0. In prima coad˘ a sunt ad˘ augate trei elemente oarecare. suita de operat ¸ii: out(q2). elementele acesteia putˆ and avea doar valorile 0 sau 1.) a. predicat sau complement. 1001 0011 0101 1100 (10p. 5 b.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. Scriet ¸i un program C/C++ care cite¸ ste din fi¸ sierul standard de intrare (tastatura) ¸ siruri de caractere de forma cuvˆ ant#tip.P sau C. Scriet ¸i un program C/C++ care cite¸ ste din fi¸ sierul standard de intrare (tastatura) un num˘ ar natural n (n ≥ 2) ¸ si o matrice p˘ atratic˘ a A de dimensiune n×n.3).1)}. Vasile alearga repede (6p.0). Programul trebuie s˘ a afi¸ seze pe ecran num˘ arul de grupuri cont ¸inute de matrice ¸ si coordonatele elementelor acestora. Vasile scrie repede. semnificat ¸ia fiind subiect. 6 c. out(q2). neadiacent cu niciun alt element cu valoarea 1. Dou˘ a elemente A(i1.(2. 1. Exemplu: dac˘ a la intrare s-au introdus ¸ sirurile: Ion#S Vasile#S alearga#P repede#C scrie#P. 8 d. 10 Scriet ¸i pe foaia de examen r˘ aspunsul pentru fiecare dintre cerint ¸ele urm˘ atoare.(3.) (6p. 0 b. G3={(2. 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. atunci pe ecran se va afi¸ sa: Ion scrie repede.) 4.0)}. Ion alearga repede. Se consider˘ a dou˘ a cozi q1 ¸ si q2.) . init ¸ial vide. G2={(0. 3.j1) ¸ si A(i2. (Funct ¸ia add(q. 10 2.(1.x) adaug˘ a elementul x ˆ ın coada q. 5 d.) 5.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). unde cuvˆ ant este un ¸ sir oarecare de litere iar tip poate fi una din literele S.(3. Cˆ ate grafuri neorientate cu 5 noduri exist˘ a astfel ˆ ıncˆ at fiecare nod s˘ a aib˘ a gradul 3? (4p. Datele de intrare se consider˘ a a fi corecte. 3 c. out(q2) s˘ a returneze ˆ ın ordine invers˘ a cele trei valori ad˘ augate init ¸ial ˆ ın coada q1.) a. astfel ˆ ıncˆ at. Aplicat ¸ia va afi¸ sa pe ecran toate propozit ¸iile avˆ and structura subiect predicat complement ce pot fi formate cu ajutorul cuvintelor citite. fiecare dintre ele fiind adiacent cu cel put ¸in un alt element din mult ¸imea respectiv˘ a ¸ si neadiacent cu niciun alt element din alt grup.2). Funct ¸ia out(q) extrage ¸ si returneaz˘ a un element din coada q.

o solut ¸ie a problemei va fi un tablou s cu n elemente. Pentru a eficientiza procesul de c˘ autare a solut ¸iei. 1. Dou˘ a regine sunt ˆ ın conflict dac˘ a ele se g˘ asesc fie pe aceea¸ si linie a tablei. Se consider˘ a o tabl˘ a de ¸ sah de dimensiune n×n. 48 d. indiferent de ordinea acestora (AB sau BA)? (4p. 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. In cˆ ate dintre permut˘ arile elementelor mult ¸imii {B. folosit ¸i matricea a definit˘ a la punctul anterior. scriet ¸i pe foaia de examen litera corespunz˘ atoare r˘ aspunsului corect. 120 b. fie pe aceea¸ si aˆ ın plasarea tuturor coloan˘ a. reprezentˆ and pozit ¸iile la care au fost plasate cele k regine ¸ si construie¸ ste o matrice a de dimensiune n×n astfel: a(i. 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. 0. (6p.) int F(int x) { if(x == 0) return 0. 72 c. 2) corespunz˘ ator reprezent˘ arii de mai jos (cu 1 au fost marcate reginele plasate): 0100 0001 1000 0010 . o solut ¸ie este dat˘ a de tabloul (1. } 3. astfel ˆ ıncˆ at regina cu numarul i se va g˘ asi la linia i ¸ si coloana s[i].F(x/10). ce valoare va returna apelul F(1234) ? (6p.j)=-p. Specificat ¸i modul ˆ ın care vet ¸i verifica existent ¸a unui conflict ˆ ıntre dou˘ a regine.) b) Scriet ¸i ˆ ın limbajul C/C++ o funct ¸ie care prime¸ ste ca argumente dimensiunea n a tablei de joc. dac˘ a exist˘ a o regin˘ a plasat˘ a pe linia i ¸ si coloana j. 2. unde n ≥ 3 ¸ si n piese de tip regin˘ a. N. Tinˆ and cont c˘ aˆ ın orice solut ¸ie pe fiecare linie sau coloan˘ a a tablei de joc se va g˘ asi exact o regin˘ a. 3. literele A ¸ si B apar pe pozit ¸ii consecutive. A.j)=1. (4p. (10p. fie pe aceea¸ si diagonal˘ a. a(i. un num˘ ar de regine k deja plasate ¸ si un tablou de numere ˆ ıntregi cuprinse ˆ ıntre 0 ¸ si k-1.) a.) c) Scriet ¸i ˆ ın limbajul C/C++ un program care cite¸ ste din fi¸ sierul standard de intrare (tastatura) un num˘ ar natural n (n ≥ 3) ¸ si afi¸ seaz˘ a o solut ¸ie a problemei celor n regine sau un mesaj corespunz˘ ator ˆ ın cazul ˆ ın care nu exist˘ a niciuna.) Exemplu: Pentru n=4. 24 Scriet ¸i pe foaia de examen r˘ aspunsul pentru fiecare dintre cerint ¸ele urm˘ atoare.j)=0. a) Descriet ¸i ˆ ın limbaj natural o metod˘ a pentru rezolvarea problemei reginelor. Pentru funct ¸ia F definit˘ a al˘ aturat. if (x%10%2 == 0) return 2 + F(x/10). a(i. I.SUBIECTUL al III-lea (30 de puncte) Pentru itemul 1. R}. return 10 . Problema celor n regine const˘ reginelor pe tabla de joc astfel ˆ ıncˆ at oricare dou˘ a dintre ele s˘ a nu se afle ˆ ın conflict una cu cealalt˘ a.

Sign up to vote on this title
UsefulNot useful