Pregătire cu un profesor

Glisează →

Subiect și barem

PDF

Se deschide documentul PDF… Deschide PDF

Acest subiect nu are un barem public asociat.

Examen de admitere · Matematică și Informatică · 2025

Facultatea de Informatică · UVT

Înapoi la arhivă

Subiectul în format text

Text extras automat din documentul original. Pentru formule, tabele, imagini și așezarea răspunsurilor, verifică întotdeauna PDF-ul.

Subiect · 17 pagini

Subiect · pagina 1

Concurs de admitere, Varianta 1
Facultatea de Matematic˘a s, i Informatic˘a
Universitatea de Vest din Timis, oara
Sesiunea Iulie, 2025
1. Timp total de lucru: 3 ore
2. Toate subiectele sunt obligatorii!
3. Citit, i cu atent, ie informat, iile legate de tipurile de întreb˘ari, prezentate mai jos.
Tipuri de întreb˘ari
Pe foaia de concurs vet, i întâlni trei tipuri de întreb˘ari. Pentru a le recunoas, te mai us, or, în partea dreapt˘a
vet, i reg˘asi un s, ablon pentru r˘aspunsuri, cu indicat, ii legate de tipul de întrebare.
Tipul 1 Pentru întreb˘arile de acest tip vet, i marca pe foaia de concurs MODEL, marcat, i exact un r˘aspuns:
1 2 3 4un singur r˘aspuns corect. Le vet, i recunoas, te dup˘a modelul indicat
în partea dreapt˘a a acestui rând.
Punctaj pe întrebare: 6p (standard)
Tipul 2 Pentru întreb˘arile de acest tip vet, i marca pe foaia de concurs MODEL, marcat, i 1-2 r˘aspunsuri:
1 2 3 4 5fie un singur r˘aspuns corect, fie dou˘a r˘aspunsuri corecte. Le vet, i
recunoas, te dup˘a modelul indicat în partea dreapt˘a a acestui rând.
Punctaj maxim pe întrebare: 6p (standard)+1p (bonus pentru r˘aspuns complet)
Tipul 3 Pentru întreb˘arile de acest tip vet, i marca pe foaia de concurs MODEL, marcat, i 1-3 r˘aspunsuri:
1 2 3 4 5fie un singur r˘aspuns corect, fie dou˘a r˘aspunsuri corecte, fie trei
r˘aspunsuri corecte. Le vet, i recunoas, te dup˘a modelul indicat în
partea dreapt˘a a acestui rând.
Punctaj maxim pe întrebare: 6p (standard)+1p (bonus pentru r˘aspuns complet)
Punctaj
Fiecare întrebare valoreaz˘a 6 puncte. Dac˘a o întrebare are mai multe variante corecte, atunci cele 6 puncte
se vor împ˘art, i egal la num˘arul de variante corecte. Dac˘a r˘aspunsul oferit identific˘a toate variantele corecte
de r˘aspuns, la punctajul întreb˘arii se adaug˘a un bonus pentru r˘aspuns complet de 1 punct. Orice r˘aspuns
gres, it anuleaz˘a întregul punctaj al întreb˘arii respective, indiferent de num˘arul de r˘aspunsuri corecte.
La punctajul obt, inut se adaug˘a 10 puncte, pentru start.
Pentru nota 5 sunt necesare 52 de puncte, inclusiv punctele de start, pentru nota 10 sunt necesare cel put, in
130 de puncte, inclusiv punctele de start.

Subiect · pagina 2

2
Terminologie s, i convent, ii
Tipuri de date
int − num˘ar întreg
real − num˘ar real
boolean − valoare logic˘a
Operat, ii s, i simboluri
a DIV b − calculeaz˘a câtul împ˘art, irii întregi (cu rest) a lui a la b
a MOD b − calculeaz˘a restul împ˘art, irii întregi a lui a la b
a AND b − conjunct, ia logic˘a
a OR b − disjunct, ia logic˘a
NOT a − negarea logic˘a
a = 2 − operat, ia de atribuire a valorii 2 pentru variabila a
a == 2 − verificarea egalit˘at, ii variabilei a cu valoarea 2
a̸ = 2 − verificarea inegalit˘at, ii variabilei a cu valoarea 2

Subiect · pagina 3

admiterefmi@uvt, iulie 2024 3
Partea I
Problema 1: Sticla cu ap˘a
O sticl˘a cu baza cilindric˘a este umplut˘a part, ial cu ap˘a, închis˘a etan¸s cu un capac, ¸si pus˘a pe o mas˘a orizon-
tal˘a plat˘a. Ce fract, ie din volumul sticlei este plin˘a cu ap˘a dac˘a ¸stim nivelul apei din sticl˘a când sticla este
pus˘a normal pe mas˘a, ¸si când sticla este pus˘a cu fundul în sus – vezi figurile de mai jos.
12cm
21cm
15cm
Ciorn˘a, marcat, i exact un r˘aspuns:
1 2 3 4
1 2/3 " 2 4/7 3 5/7 4 3/4
Explicat, ii
Spa¸tiul gol din sticl˘a este un cilindru înalt de 21 − 15 = 6cm iar spa¸tiul cu ap˘a este un ci-
lindru înalt de 12cm. Deci frac¸tia cu ap˘a din volumul sticlei este 12/(12 + 6) = 2/3.
Problema 2: Arbori
Se consider˘a graful neorientat G care are mul¸timea de noduri {1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12}
¸si mul¸timea de muchii {(i, j) | i2 < j}. Câte muchii trebuie eliminate
din G pentru ca acesta s˘a devin˘a arbore? Ciorn˘a, marcat, i exact un r˘aspuns:
1 2 3 4
1 1 2 5 3 7" 4 8
Explicat, ii
NOT ˘A: Enunt, ul problemei cont, ine o eroare de tehnoredactare: mult, imea de noduri ar fi
trebuit s˘a fie {1, 2, 3, 4, 5, 6, 7, 8, 9, 10}.
Tot, i candidat, ii vor obt, ine punctaj maxim la aceast˘a problem˘a.
Justificare r˘aspuns: Mul¸timea de muchii a lui G este {(1, j) | 2 ≤ j ≤ 10} ∪ {(2, j) |
5 ≤ j ≤ 10} ∪ {(3, j) | 10 ≤ j ≤ 10}. G are 9 + 6 + 1 = 16 muchii. Se s, tie c˘a
un arbore cu n noduri are n − 1 muchii. G are 10 noduri, deci un arbore cu nodurile lui G
are 9 muchii. Rezult˘a c˘a trebuie eliminate 16 − 9 = 7 muchii.
Problema 3: O problem˘a de c˘autare binar˘a
Fie x[1..127] tabloul tuturor întregilor din mul¸timea {1, 2, . . . , 64} ∪ {2 n + 3 | 64 < n < 128}, ordonate strict
cresc˘ator, ¸si M mul¸timea elementelor care pot fi g˘asite în x de c˘atre o c˘autare binar˘a dup˘a compararea
elementului c˘autat cu 4 elemente din x.
Care din urm˘atoarele secven¸te de numere reprezint˘a elementele Ciorn˘a, marcat, i exact un r˘aspuns:
1 2 3 4mul¸timii M, ordonate cresc˘ator?

Subiect · pagina 4

4
1 1 31 33 63 132 193 197 257
2 8 24 40 56 147 179 211 243 "
3 16 48 163 227
4 4 12 16 28 36 44 52 60 139 155 171 187 203 219 235 251
Explicat, ii
Mul¸timea M con¸tine elementele {x[8], x[24], x[40], x[56], x[72], x[88], x[104], x[120]} din
frunzele arborelui de c˘autare binar˘a
x[64]
x[32]
x[16]
x[8] x[24]
x[48]
x[40] x[56]
x[96]
x[80]
x[72] x[88]
x[112]
x[104] x[120]
În cazul nostru, x[n] = n dac˘a n ≤ 64 ¸si x[n] = 2 n + 3 dac˘a n > 64.
Deci M = {8, 24, 40, 56, 147, 179, 211, 243}. R˘aspunsul corect este 2 .
Problema 4: Suma vecinilor
Se consider˘a un tablou a de n ≥ 3 numere întregi indexate de la 1 la n s, i subalgoritmul SumaVecinilor(a, n, k)
care primes, te o pozit, ie k (cu 2 ≤ k ≤ n − 1) s, i modific˘a elementul a[k] în suma vecinilor s˘ai.
procedura SumaVecinilor(int a[1..n], int n, int k)
a[k] = a[k − 1] + a[k + 1]
Presupunem c˘a înainte de apelul procedurii, tabloul b este o copie identic˘a a lui a, adic˘a b[i] = a[i]
pentru orice i ∈ {1, . . . , n}.
Precizat, i care dintre urm˘atoarele afirmat, ii este adev˘arat˘a dup˘a Ciorn˘a, marcat, i exact un r˘aspuns:
1 2 3 4execut, ia procedurii SumaVecinilor(a, n, 2) urmat˘a de execut, ia
SumaVecinilor(a, n, 3).
1 a[3] = b[2] + b[4]
2 a[3] = b[1] + b[3] + b[4]"
3 a[3] = 2 · b[2] + b[3] + b[4]
4 a[3] = b[3]
Explicat, ii
Procedura modific˘a doar pozit, ia k, înlocuind valoarea cu suma vecinilor. As, adar, a[2]
devine suma valorilor anterioare de pe pozit, iile 1 s, i 3, iar a[3] foloses, te aceast˘a sum˘a la
care se adaug˘a b[4]

Subiect · pagina 5

admiterefmi@uvt, iulie 2024 5
Problema 5: Împ˘aratul vesel
Vesel Împ˘arat observ˘a cum lumea din cetate se îmbulzes, te s˘a cumpere mere de la o c˘arut, ˘a. Curios, acesta
d˘a 8 galbeni unui argat s˘a cumpere mere de tot, i cei 8 galbeni. Argatul p˘astreaz˘a jum˘atate din sum˘a s, i
trimite un alt argat s˘a cumpere mere. Procesul se tot repet˘a pân˘a la un argat care p˘astreaz˘a galbenul ajuns
la el s, i confisc˘a toate merele din c˘arut, ˘a.
Cât, i argat, i sunt implicat, i în acest proces? Ciorn˘a, marcat, i exact un r˘aspuns:
1 2 3 4
1 3 argat, i
2 6 argat, i
3 4 argat, i "
4 5 argat, i
Explicat, ii
Primul argat primes, te 8 galbeni, al doilea argat primes, te 4 galbeni, al treilea argat
primes, te 2 galbeni, iar al patrulea va primi 1 galben. Prin urmare sunt 4 argat, i. De
asemenea se poate observa c˘a problema presupune împ˘art, irea succesiv˘a la 2 pân˘a la
obt, inerea valorii 0. Pentru un num˘ar 2x este nevoie de x + 1 împ˘art, iri.
Problema 6: Cres, tere rapid˘a
Se consider˘a un recipient în care se adaug˘a ap˘a astfel încât cantitatea Ciorn˘a, marcat, i exact un r˘aspuns:
1 2 3 4de ap˘a se dubleaz˘a în fiecare zi. S, tiind c˘a în ziua n = 10 recipientul a
fost umplut cu ap˘a, s˘a se marcheze variantele corecte.
1 în ziua 4, 25% (o p˘atrime) din volumul recipientului este umplut cu ap˘a
2 în ziua 5, jum˘atate din volumul recipientului este umplut cu ap˘a
3 în prima zi, cantitatea de ap˘a este egal˘a cu zero
4 în prima zi, cantitatea de ap˘a este sub 1% "
Explicat, ii
Dac˘a în ziua 10 recipientul este umplut 100%, în ziua 9 trebuie s˘a fie umplut în proport, ie
de 50%, în ziua 8 în proport, ie de 25% s, .a.m.d. Prin urmare, r˘aspunsurile 1 s, i 2 nu pot
fi corecte. Având în vedere c˘a recipientul nu poate fi gol la început, nici r˘aspunsul 3 nu
este corect. Deci r˘aspunsul corect este 4 .
Problema 7: G˘ases, te intrusul
Se dau reprezent˘ari ale aceluias, i num˘ar în baze diferite. Determinat, i pe cea care nu este egal˘a cu 42 în baza
10. Ciorn˘a, marcat, i exact un r˘aspuns:
1 2 3 4
1 1010102
2 528
3 2A16
4 1047 "

Subiect · pagina 6

6
Explicat, ii
1 1010102 = 1 · 25 + 0 · 24 + 1 · 23 + 0 · 22 + 1 · 21 + 0 · 20 = 32 + 8 + 2 = 42.
2 528 = 5 · 81 + 2 · 80 = 40 + 2 = 42.
3 2A16 = 2 · 161 + 10 · 160 = 32 + 10 = 42.
4 1047 = 1 · 72 + 0 · 71 + 4 · 70 = 49 + 0 + 4 = 53̸ = 42. Prin urmare acesta este intrusul.
Partea a II-a
Problema 8: Ionic˘a ¸si m˘arul fermecat
În m˘arul fermecat din Gradina Hesperidelor sunt 35 mere de aur ¸si 30 mere de argint. În fiecare sear˘a,
Ionic˘a F˘ar˘afric˘a ia dou˘a mere din pom, dar imediat în pom cre¸ste alt m˘ar. Dac˘a ia un m˘ar de aur ¸si unul de
argint, în locul lor cre¸ste un m˘ar de aur. Dac˘a merele culese sunt de acela¸si fel, în locul lor cre¸ste un m˘ar
de argint.
Care din afirma¸tiile urm˘atoare sunt corecte? Ciorn˘a, marcat, i 1-2 r˘aspunsuri:
1 2 3 4 51 Ultimul m˘ar r˘amas în pom este de aur. "
2 Ultimul m˘ar r˘amas în pom este de argint.
3 Ultimele dou˘a mere culese de Ionic˘a sunt de aur.
4 Ultimele dou˘a mere culese de Ionic˘a sunt de argint.
5 Ultimele dou˘a mere culese de Ionic˘a sunt diferite: unul de aur ¸si unul de argint. "
Explicat, ii
Num˘arul de mere de aur fie r˘amâne constant (când se culeg fie dou˘a mere diferite,
fie dou˘a mere de argint) fie descres, te cu 2 (când se culeg dou˘a mere de aur). Intrucât
num˘arul init, ial de mere de aur este impar, el va r˘amâne tot timpul impar. Prin urmare
r˘aspunsurile 2 , 3 ¸si 4 nu pot fi corecte.
Problema 9: Sortare perturbat˘a
Presupunem c˘a x[1..n] este un tablou global de n > 2 numere întregi distincte, sortat în ordine strict cresc˘a-
toare. Vlad perturb˘a tabloul x alegând trei indec¸si 1 ≤ i < j < k ≤ n ¸si modificând valorile elementelor
x[i], x[j], x[k] cu opera¸tia perturba(i, j, k) definit˘a de procedura
procedura perturba(int i, int j, int k)
int tmp
tmp = x[i], x[i] = x[j], x[j] = x[k], x[k] = tmp
Alin, care nu ¸stie indec¸sii i, j, k folosi¸ti de Vlad, trebuie s˘a readuc˘a tabloul x la starea neperturbat˘a. Alin
propune urm˘atorii algoritmi:

Subiect · pagina 7

admiterefmi@uvt, iulie 2024 7
procedura repara1()
int i = 1, j, k = n
cât timp x[k − 1] < x[k] execut˘a
k = k − 1
cât timp x[i] < x[k] execut˘a
i = i + 1
j = i + 1
cât timp x[j] < x[i] execut˘a
j = j + 1
perturba(k, j, i)
procedura repara2()
int i = 1, j, k = n
cât timp x[k − 1] < x[k] execut˘a
k = k − 1
cât timp x[i] < x[k] execut˘a
i = i + 1
j = i + 1
cât timp x[j] < x[i] execut˘a
j = j + 1
perturba(i, j, k)
procedura repara3()
int i = 1, j, k = n
cât timp x[i] < x[i + 1] execut˘a
i = i + 1
cât timp x[i] < x[k] execut˘a
i = i + 1
j = i + 1
cât timp x[j] < x[i] execut˘a
j = j + 1
perturba(k, j, i)
procedura repara4()
int i, tmp
pentru i = 1 to n − 1 execut˘a
dac˘a x[i] > x[i + 1] atunci
tmp = x[i], x[i] = x[i + 1], x[i + 1] = tmp
pentru i = n downto 2 execut˘a
dac˘a x[i − 1] > x[i] atunci
tmp = x[i − 1], x[i − 1] = x[i], x[i] = tmp
Care din algoritmii propu¸si de Alin îi rezolv˘a problema? Marca¸ti Ciorn˘a, marcat, i 1-2 r˘aspunsuri:
1 2 3 4 5toate r˘aspunsurile corecte.
1 repara1"
2 repara2
3 repara3
4 repara4"
5 Nici unul din ace¸sti algoritmi.

Subiect · pagina 8

8
Explicat, ii
Opera¸tia perturba(k, j, i) efectuat˘a imediat dup˘a perturba(i, j, k) reface tabloul x. Deci,
dac˘a Alin reu¸seste s˘a deduc˘a valorile i, j, k folosite de Vlad, atunci poate readuce tabloul
x la starea neperturbat˘a.
repara1() identific˘a valorile corecte ale lui i, j, k înainte s˘a apeleze perturba(k, j, i), deci
rezolva problema lui Alin.
repara2() identific˘a valorile corecte ale lui i, j, k, dar perturba(i, j, k), nu readuce tabloul
x la starea neperturbat˘a.
repara3() nu identific˘a valorile corecte ale lui i, j, k: dac˘a x[1..4] = [1, 2, 3, 4] este perturbat
de Vlad cu perturba(1,2,3) atunci repara3() deduce eronat c˘a i = 2, j = 4, j = 3 ¸si îl
aduce pe x în starea x[1..4] = [2, 1, 4, 3].
repara4() este inspirat de metoda bulelor (Bubblesort) ¸si readuce tabloul perturbat la
starea ini¸tial˘a în felul urm˘ator:
x[1], . . . x[i − 1], x[j], x[i + 1], . . . , x[j − 1], x[k], x[j + 1], . . . , x[k − 1], x[i], x[k + 1], . . . , x[n]
x[1], . . . , x[i − 1], x[i + 1], . . . , x[k − 1], x[i], x[k], . . . , x[n]
x[1], . . . , x[n]
prima bucl˘a cât timp
a doua bucl˘a cât timp
neperturbat
Deci r˘aspunsurile corecte sunt 2 ¸si 4 .
Problema 10: Step
Robo¸telul Step poate merge doar în linie dreapt˘a, iar printr-un singur "pas" poate parcurge 10cm, 20cm sau
40cm. La oricare dintre pa¸si, Step alege una dintre cele trei variante, ¸si am vrea s˘a afl˘am în câte moduri
poate parcurge distan¸ta de 1 metru.
Se consider˘a urm˘atoarele func¸tii:
funct, ia S1(int n): int
dac˘a n < 0 atunci
întoarce 0
dac˘a n == 0 atunci
întoarce 1
întoarce S1(n − 10) + S1(n − 20) + S1(n − 40)
funct, ia S3(int n): int
dac˘a n == 10 atunci
întoarce 1
dac˘a n == 20 atunci
întoarce 2
dac˘a n == 40 atunci
întoarce 6
întoarce S3(n − 10) + S3(n − 20) + S3(n − 40)
funct, ia S2(int n): int
dac˘a n < 0 atunci
întoarce 0
dac˘a n == 0 atunci
întoarce 1
întoarce S2(n − 1) + S2(n − 2) + S2(n − 4)
funct, ia S4(int n): int

Subiect · pagina 9

admiterefmi@uvt, iulie 2024 9
dac˘a n DIV 10 == 1 atunci
întoarce 1
dac˘a n DIV 20 == 1 atunci
întoarce 2
dac˘a n DIV 40 == 1 atunci
întoarce 6
întoarce S4(n − 1) + S4(n − 2) + S4(n − 4)
Care dintre apelurile urm˘atoare (corespunz˘atoare func¸tiilor defi- Ciorn˘a, marcat, i 1-2 r˘aspunsuri:
1 2 3 4 5nite mai sus) permit ob¸tinerea r˘aspunsului? Marca¸ti toate variantele
corecte.
1 S1(100). "
2 S2(10). "
3 S3(100).
4 S4(100).
5 Niciuna dintre variante.
Explicat, ii
Not˘am cu S(n) num˘arul de variante de pa¸si prin care poate fi parcurs˘a distan¸ta n. Ul-
timul pas efectuat poate fi de lungime 10, 20 sau 40, prin urmare num˘arul total de vari-
ante este S(n − 10) + S(n − 20) + S(n − 40). Dac˘a n = 10 atunci exist˘a o singur˘a variant˘a
(efectuarea unui pas de lungime 10). Dac˘a n = 20 atunci exist˘a dou˘a variante (efectuarea
unui pas de lungime 20 sau a doi pa¸si de lungime 10). Dac˘a n = 40 atunci exist˘a 6 vari-
ante (n = 40, n = 10 + 10 + 10 + 10, n = 20 + 10 + 10, n = 10 + 20 + 10, n = 10 + 10 + 20,
n = 20 + 20). Prin urmare, pentru n = 10 k (orice distan¸t˘a care este multiplu de 10),
rela¸tia de recuren¸t˘a care permite calculul lui S(n) este:
S(n) =



0 dac˘a n < 0
1 dac˘a n = 0
S(n − 10) + S(n − 20) + S(n − 40) dac˘a n ∈ {10, 20, . . . , 100}
Algoritmul care implementeaz˘a aceast˘a rela¸tie de recuren¸t˘a este algoritmul S1. Intrucât
num˘arul de variante nu depinde de dimensiunea pasului, rela¸tia de recuren¸t˘a poate fi
rescris˘a:
S(k) =



0 dac˘a k < 0
1 dac˘a k = 0
S(k − 1) + S(k − 2) + S(k − 4) dac˘a k ∈ {1, 2, . . . , 10}
Prin urmare ¸si algoritmul S2 cu apelul S2(10) este corect.
Algoritmii S3 ¸si S4 sunt incorec¸ti pentru c˘a nu includ cazurile particulare când n ajunge
mai mic decåt 10.

Subiect · pagina 10

10
Problema 11: Antisimetrie
O matrice p˘atratic˘a de numere întregi se numes, te antisimetric˘a dac˘a elementele simetrice fat, ˘a de diagonala
sa principal˘a sunt opuse una alteia. De exemplu, dac˘a
A =





1 2 3 4
−2 1 −5 6
−3 5 9 7
−4 −6 −7 1




 , B =





1 7 6 5
2 1 4 3
3 5 1 2
4 6 7 1





atunci matricea A este antisimetric˘a, dar B nu este.
funct, ia antisimetrica1(int a[1..n, 1..n]): boolean
int i, j
pentru i = 1 to n − 1 execut˘a
pentru j = i + 1 to n execut˘a
dac˘a a[i][j]̸ = −a[j][i] atunci
întoarce false
întoarce true
funct, ia antisimetrica2(int a[1..n, 1..n]): boolean
int i, j
pentru i = n − 1 to 1 pas −1 execut˘a
pentru j = n to i + 1 pas −1 execut˘a
dac˘a −a[i][j]̸ = a[j][i] atunci
întoarce false
întoarce true
funct, ia antisimetrica3(int a[1..n, 1..n]): boolean
int i, j
pentru i = 1 to n execut˘a
pentru j = 1 to n execut˘a
dac˘a i̸ = j AND a[i][j]̸ = −a[j][i] atunci
întoarce false
întoarce true Ciorn˘a, marcat, i 1-2 r˘aspunsuri:
1 2 3 4 5Care dintre urm˘atoarele afirmat, ii sunt adev˘arate?
1 Toate cele 3 funct, ii returneaz˘a true dac˘a matricea a este antisimetric˘a ¸si false în caz contrar"
2 Exist˘a cel put, in o funct, ie care s˘a nu verifice corect c˘a matricea a este antisimetric˘a
3 Num˘arul de evalu˘ari ale condit, iei din instruct, iunea dac˘a este egal pentru funct, iile antisimetrica1() s, i
antisimetrica2() dac˘a matricea nu este antisimetric˘a
4 Num˘arul de evalu˘ari ale condit, iei din instruct, iunea dac˘a este egal pentru funct, iile antisimetrica1() s, i
antisimetrica2() dac˘a matricea este antisimetric˘a"
5 Toate cele trei funct, ii evalueaz˘a de acelas, i num˘ar de ori condit, ia instruct, iunii dac˘a
Explicat, ii
Toate variantele verific˘a corect proprietatea de antisimetrie doar c˘a în moduri diferite:
antisimetrica1 parcurge elementele de sub diagonala principal˘a; antisimetrica2
parcurge elementele deasupra diagonalei principale s, i antisimetrica3 parcurge toate
elementele matricii.

Subiect · pagina 11

admiterefmi@uvt, iulie 2024 11
Problema 12: Împarte s, i adun˘a
Se consider˘a funct, ia împarte2 definit˘a mai jos care primes, te ca parametru un num˘ar natural n.
funct, ia împarte2(int n): int
int v, s = 0
cât timp n̸ = 0 execut˘a
v = n MOD 7
dac˘a v MOD 2 == 0 atunci
s = s + v
n = n DIV 7
întoarce s
S˘a se marcheze r˘aspunsurile corecte. Ciorn˘a, marcat, i 1-2 r˘aspunsuri:
1 2 3 4 51 apelul împarte2(50) returneaz˘a 1.
2 funct, ia împarte2(n) returneaz˘a întotdeauna o valoare par˘a. "
3 funct, ia împarte2(n) returneaz˘a întotdeauna o valoare impar˘a.
4 exist˘a valori pentru n astfel încât apelul împarte2(n) returneaz˘a o valoare impar˘a.
5 apelul împarte2(63) returneaz˘a 2. "
Explicat, ii
Funct, ia împarte2 calculeaz˘a suma cifrelor pare din reprezentare în baza 7 a num˘arului n;
o sum˘a de numere pare este de asemenea un num˘ar par.
Problema 13: O traversare în adâncime
Se consider˘a labirintul ilustrat mai jos, în care celulele negre reprezint˘a obstacole.
S
G
1 2 3
4 5 6
7 8
9 10 11 12 13
14 15
Se pune problema g˘asirii unui drum de la celula de start S la celula G cu ajutorul metodei de parcurgere în
adâncime (Depth First). Pe durata parcurgerii în adâncime se aplic˘a urm˘atoarele reguli:
1. Vizitarea celulelor se face în ordinea: sus, dreapta, jos, stânga. Nu este posibil˘a mutarea pe diagonal˘a.
2. Nici o celul˘a nu se poate vizita de 2 ori.
De exemplu, c˘autarea în adâncime a unui drum pornind de la S începe cu S, 4, 7, 10, 11 în aceast˘a ordine.
Fie σ secven¸ta de celule de pe drumul g˘asit de c˘autarea în adâncime, care începe cu S ¸si se termin˘a cu G.
Care din afirma¸tiile urm˘atoare sunt adev˘arate? Marca¸ti toate vari- Ciorn˘a, marcat, i 1-2 r˘aspunsuri:
1 2 3 4 5antele corecte.

Subiect · pagina 12

12
1 σ are 8 celule.
2 σ are 11 celule."
3 13 este în σ.
4 3 este în σ."
5 15 este în σ.
Explicat, ii
Întrucât σ = [S, 4, 7, 10, 11, 12, 8, 5, 6, 3, G], r˘aspunsurile corecte sunt 2 ¸si 4 .
Partea a III-a
Problema 14: Jude¸te pivot
În turul final al alegerilor prezident, iale din Infolanda, fiecare dintre cele n jude¸te public˘a o diferen¸t˘a net˘a de
voturi Vi = (nr. voturi pentru A) − (nr. voturi pentru B), i = 1, 2, . . . , n. Fie T = ∑n
i=1 Vi marja nat, ional˘a.
Procedura flip presupune inversarea tuturor buletinelor din judet, ul i, obt, inând noua marj˘a T′ = T − 2 Vi.
Definim judet, ul i pivot dac˘a flip-ul schimb˘a rezultatul nat, ional, adic˘a dac˘a transform˘a o victorie a lui A
(T > 0) într-un T′ ≤ 0, sau o victorie a lui B (T < 0) într-un T′ ≥ 0, sau o egalitate (T = 0) în T′̸ = 0.
Dat fiind algoritmul de mai jos, stabilit, i care din variante sunt ade-
v˘arate.
funct, ia RunMe(int V[1..n]) : int
int T = 0, pivot = 0
pentru i = 1 to n execut˘a
T = T + V[i]
pentru i = 1 to n execut˘a
dac˘a V[i]̸ = 0 AND T · (T − 2 · V[i]) ≤ 0 atunci
pivot = pivot + 1
întoarce pivot
1 Dac˘a marja nat, ional˘a total˘a T este 0, exist˘a cel put, in un judet, care
este pivot. Ciorn˘a, marcat, i 1-3 r˘aspunsuri:
1 2 3 4 5
2 Num˘arul de jude¸te pivot nu poate fi mai mare de n/2.
3 Num˘arul maxim de jude¸te pivot este n. "
4 Funct, ia RunMe returneaz˘a num˘arul de judet, e pivot dac˘a T̸ = 0"
5 Funct, ia RunMe returneaz˘a num˘arul de judet, e pivot dac˘a T = 0 "

Subiect · pagina 13

admiterefmi@uvt, iulie 2024 13
Explicat, ii
Algoritmul verific˘a schimbarea de semn atunci când se schimb˘a voturile. Dac˘a T este
pozitiv s, i r˘amâne pozitiv dup˘a flip, atunci rezultatul înmult, irii este pozitiv. Dac˘a T este
negativ s, i r˘amâne negativ dup˘a flip, rezultatul înmult, irii va fi pozitiv. Dac˘a dup˘a flip se
schimb˘a semnul, rezultatul va fi negativ.
Atunci când T = 0, orice Vi̸ = 0 poate fi pivot.
1 Fals. Contra-exemplu: 2 judet, e în care cei doi candidat, i au fost la egalitate V = [0, 0]
2 Fals. Exist˘a cazuri în care toate judet, ele sunt pivot. De exemplu, pentru n = 2, e posi-
bil˘a urm˘atoarea situat, ie în care fiecare dintre cele dou˘a judet, e este pivot: fiecare candidat
câs, tig˘a într-un judet, s, i pierde în cel˘alalt V = [−1, 1].
3 Adev˘arat. Vezi exemplul precedent.
4 Adev˘arat.
5 Adev˘arat.
Problema 15: Ce face?
Se consider˘a func¸tiile verifica(n, x) ¸si alege(n, x), unde 1 < n < 104 este un num˘ar natural iar x este un
vector de n numere întregi indexate de la 1 la n. Aceste func¸tii sunt definite astfel:
funct, ia verifica(int n, int x[1..n]): boolean
dac˘a n < 3 atunci
întoarce false
int i, p =alege(n, x)
dac˘a p == 1 OR p == n atunci
întoarce false
pentru i = 2 to p execut˘a
dac˘a x[i] ≥ x[i − 1] atunci
întoarce false
pentru i = p + 1 to n − 1 execut˘a
dac˘a x[i] ≥ x[i + 1] atunci
întoarce false
întoarce true
funct, ia alege(int n, int x[1..n]): int
int i
int r = 1
int v = x[1]
pentru i = 2 to n execut˘a
dac˘a x[i] < v atunci
r = i
v = x[i]
întoarce r
Care dintre afirma¸tiile urm˘atoare sunt adev˘arate? Marca¸ti toate Ciorn˘a, marcat, i 1-3 r˘aspunsuri:
1 2 3 4 5r˘aspunsurile corecte.
1 Dac˘a vectorul x este ordonat descresc˘ator s, i are cel put, in 3 elemente, atunci funct, ia verifica(n, x) re-
turneaz˘a true.
2 Dac˘a x = [12, 10, 8, 5, 9, 11, 15, 18] s, i n = 8 atunci funct, ia verifica(n, x) returneaz˘a true."
3 Dac˘a x = [20, 10, 5, 1, 2, 4, 6, 10, 8] s, i n = 9 atunci funct, ia verifica(n, x) returneaz˘a false."

Subiect · pagina 14

14
4 Dac˘a vectorul x este ordonat strict cresc˘ator s, i are cel put, in 3 elemente, atunci funct, ia verifica(n, x)
returneaz˘a true.
5 Dac˘a vectorul x este ordonat strict cresc˘ator atunci alege(n, x) returneaz˘a indexul celui mai mic element
din x. "
Explicat, ii
Funct, ia alege întoarce indicele celei mai mici valori din tablou. In cazul în care valoarea
minimului apare de mai multe ori, atunci va întoarce cel mai mic indice.
Varianta 1 este incorect˘a, deoarece este posibil ca funct, ia verifica s˘a returneze false (de
exemplu când valoarea minim˘a este prezent˘a o singur˘a dat˘a în tabloul ordonat descresc˘a-
tor, ceea ce conduce la p = n).
Varianta 2 este corect˘a, întrucât pozit, ia minimul se afl˘a pe pozit, ia 4 s, i elementele din
fat, a sa sunt ordonate descresc˘ator, iar cele aflate dup˘a minim sunt ordonate cresc˘ator.
Varianta 3 este corect˘a, deoarece x[n − 1] ≥ x[n].
Varianta 4 este incorect˘a, deoarece dac˘a tabloul x este ordonat strict cresc˘ator atunci
p = 1 s, i algoritmul va returna false.
Varianta 5 este corect˘a.
Problema 16: bac
Se consider˘a func¸tia bac(a, n, p) unde n este un num˘ar natural (1 ≤ n ≤ 104), p este un num˘ar întreg
(−104 ≤ p ≤ 104), iar a[1..n] este un tablou de numere naturale nenule, nu neap˘arat distincte:
funct, ia bac(int a[1..n], int n, int p): int
dac˘a n < 1 atunci
întoarce 0
altfel
dac˘a 1 ≤ p AND p ≤ n atunci
întoarce a[p]
altfel
întoarce -1
Care dintre afirma¸tiile urm˘atoare sunt adev˘arate? Marca¸ti toate Ciorn˘a, marcat, i 1-3 r˘aspunsuri:
1 2 3 4 5r˘aspunsurile corecte.
1 bac(a, n, p) returneaz˘a -1 dac˘a s, i numai dac˘a p ≤ 0 sau p > n. "
2 bac(a, n, p) returneaz˘a elementul de pe pozit, ia p dac˘a 0 < p ≤ n."
3 bac(a, n, p) nu returneaz˘a niciodat˘a 0 pentru valori ale parametrilor care respect˘a precondit, iile din
enunt, . "
4 bac(a, n, p) returneaz˘a elementul de pe pozit, ia p dac˘a 0 ≤ p < n.
5 bac(a, n, p) returneaz˘a valoarea lui a[1] dac˘a s, i numai dac˘a p = 1.

Subiect · pagina 15

admiterefmi@uvt, iulie 2024 15
Explicat, ii
Varianta 1 este corect˘a pentru c˘a se returneaz˘a −1 doar dac˘a condit, ia 1 ≤ p AND p ≤ n
este fals˘a, adic˘a p ≤ 0 sau p > n.
Varianta 2 este corect˘a.
Varianta 3 este corect˘a pentru c˘a n ≥ 1 s, i tabloul nu cont, ine elemente nule.
Varianta 4 este incorect˘a, deoarece indicii tabloului sunt între 1 s, i n.
Varianta 5 este incorect˘a, deoarece în vector valoarea a[1] se poate reg˘asi pe mai multe
pozit, ii.
Problema 17: Suma part, ial˘a recursiv˘a
Se consider˘a urm˘atorul algoritm recursiv Sum(n) care primes, te un num˘ar natural n ≥ 1 s, i returneaz˘a o
valoare întreag˘a:
funct, ia Sum(int n): int
dac˘a n = 1 atunci
întoarce 1
altfel
întoarce n+ Sum(n DIV 2) Ciorn˘a, marcat, i 1-3 r˘aspunsuri:
1 2 3 4 5Marcat, i toate afirmat, iile adev˘arate.
1 Sum(20) presupune 4 apeluri ale funct, iei.
2 Sum(20) presupune 5 apeluri ale funct, iei. "
3 Sum(20) returneaz˘a valoarea 38. "
4 Valoarea maxim˘a ce poate fi returnat˘a este 2n
5 Valoarea maxim˘a ce poate fi returnat˘a este 2n − 1 "
Explicat, ii
Se observ˘a c˘a apelurile funct, iei recursive Sum sunt pentru n egal cu 20, 10, 5, 2 s, i 1. Deci
sunt 5 apeluri s, i funct, ia returneaz˘a suma: 20 + 10 + 5 + 2 + 1 = 38.
Consider˘am c˘a n poate fi reprezentat pe k bit, i astfel n = bk−12k−1 + bk−22k−2 + . . . + b12 +
b0. Utilizând regula de calcul a sumei unei progresii geometrice de rat, ie 2 se obt, ine c˘a
suma calculat˘a de c˘atre funct, ie este S = bk−1(2k − 1) + bk−2(2k−1 − 1) + . . . + b1(22 −
1) + b0(21 − 1) care poate fi rescris˘a ca S = 2(bk−12k−1 + bk−22k−2 + . . . + b12 + b0) −
(bk−1 + bk−2 + . . . + b1 + b0) = 2n − ∑k−1
i=0 bi adic˘a 2n minus numarul de bit, i egali cu 1 din
reprezentarea în baza 2 a lui n. Valoarea maxim˘a se obt, ine când num˘arul de bit, i egali cu
1 din reprezentarea lui n este 1, adic˘a 2n − 1.

Subiect · pagina 16

16
Problema 18: Permutarea elementelor pare
Se consider˘a un vector v de n numere întregi indexate de la 1 la n, unde n > 2 este par. Urm˘atorul algo-
ritm modific˘a vectorul v în felul urm˘ator:
procedura EvenSwap(int v[1..n], int n)
pentru i = 1 to n step 2 execut˘a
dac˘a v[i] MOD 2 == 0 AND v[i + 1] MOD 2 == 0 atunci
swap(v[i], v[i + 1])
Se aplic˘a procedura pe vectorul v = [6, 4, 7, 8, 11, 10, 14, 16]. Marcat, i toate afirmat, iile adev˘arate despre
vectorul rezultat. Ciorn˘a, marcat, i 1-3 r˘aspunsuri:
1 2 3 4 5
1 Elementele de pe pozit, iile 1 s, i 2
sunt inversate. "
2 Vectorul final cont, ine aceleas, i
elemente ca vectorul init, ial. "
3 Elementele de pe pozit, iile 3 s, i 4 sunt inversate.
4 Num˘arul de interschimb˘ari efectuate este 2. "
5 Toate elementele pare din vector sunt
ordonate cresc˘ator.
Explicat, ii
Perechile de elemente din vectorul v parcurse se afl˘a pe pozit, iile (1,2), (3,4), (5,6) s, i (7,8)
deoarece pasul ciclului este 2. Procedura swap se apeleaz˘a doar când ambele elemente
sunt pare. Sunt efectuate 2 swap-uri pentru elementele de pe pozit, iile: (1,2) s, i (7,8).
• Init, ial: v = [6, 4, 7, 8, 11, 10, 14, 16]
• Dup˘a aplicarea procedurii swap pentru perechea de indecs, i (1,2): v = [4, 6, 7, 8, 11, 10,
14, 16]
• Dup˘a aplicarea procedurii swap pentru perechea de indecs, i (7,8): v = [4, 6, 7, 8, 11, 10,
16, 14]
Elementele r˘amân aceleas, i, dar reordonate. Doar r˘aspunsurile 1 , 2 s, i 4 sunt corecte.
Problema 19: RunMe2
Se consider˘a procedura RunMe2 definit˘a mai jos.
procedura RunMe2(int n)
int i = 1
cât timp n > 0 execut˘a
dac˘a n MOD 2 == 1 atunci
scrie i
i = i + 1
n = n DIV 2
S˘a se marcheze r˘aspunsurile corecte. Ciorn˘a, marcat, i 1-3 r˘aspunsuri:
1 2 3 4 51 pentru apelul RunMe2(126) se afis, eaz˘a secvent, a 234567 "
2 pentru apelul RunMe2(11) se afis, eaz˘a secvent, a 123

Subiect · pagina 17

admiterefmi@uvt, iulie 2024 17
3 pentru fiecare apel RunMe2(a), unde a este num˘ar impar, prima valoare afis, at˘a este 1 "
4 pentru fiecare apel RunMe2(a), unde a este num˘ar par, prima valoare afis, at˘a este 1
5 pentru fiecare apel RunMe2(a), unde a este num˘ar par, prima valoare afis, at˘a este diferit˘a de 1 "
Explicat, ii
Procedura afisare2 afis, eaz˘a pozit, iile elementelor egale cu 1 în reprezentarea în baza 2 a
num˘arului n. Num˘ar˘atoarea pozit, iilor începe de la 1.
Problema 20: Inject, ie
Spunem despre o funct, ie c˘a este injectiv˘a dac˘a pentru valori diferite de intrare (input), funct, ia întoarce
rezultate (output) diferite. Se consider˘a funct, ia sum, definit˘a mai jos, care primes, te ca dat˘a de intrare un
num˘ar natural n (1 ≤ n ≤ 106) s, i întoarce un num˘ar natural s calculat în felul urm˘ator:
funct, ia sum(int n): int
int c, s = 0
dac˘a n < 10 atunci întoarce n
cât timp n̸ = 0 execut˘a
c = n MOD 10
s = s + c
n = n DIV 10
întoarce s
S˘a se marcheze variantele corecte. Ciorn˘a, marcat, i 1-3 r˘aspunsuri:
1 2 3 4 5
1 funct, ia sum este injectiv˘a
2 sum(400) = 4 "
3 exist˘a exact 5 date de intrare astfel încât valoarea
returnat˘a de funct, ie este egal˘a cu 10
4 exist˘a cel put, in 2 date de intrare distincte a, b astfel
încât sum(a) = sum(b) "
5 exist˘a exact 7 valori pentru care funct, ia sum va
returna 1 "
Explicat, ii
Funct, ia dat˘a primes, te un num˘ar natural n s, i returneaz˘a suma cifrelor lui n. Funct, ia
nu este injectiv˘a conform definit, iei deoarece exist˘a multiple date de intrare care re-
turneaz˘a acelas, i rezultat, exemplu sum(400) = sum(4000) = sum(22) = 4; restul r˘aspun-
surilor corecte se deduc din observat, ia anterioar˘a. În intervalul [1, 106] sunt 7 numere
naturale care au suma cifrelor egal˘a cu 1.
Deschide documentul original

Răspunsuri directe

Ce trebuie să știi despre acest subiect?

Ce document de admitere este acesta?

Pagina prezintă examen de admitere din 2025 pentru Matematică și Informatică, la Facultatea de Informatică. Documentul este etichetat după instituție, facultate, program și tipul probei folosind inventarul public verificat. Consultă metodologia actuală a instituției pentru condițiile examenului viitor.

Există și barem sau răspunsuri pentru acest subiect?

Nu există un barem public asociat în inventarul verificat pentru acest document. ProfesorBun nu generează și nu inventează răspunsuri oficiale. Poți folosi subiectul pentru antrenament, dar corectarea trebuie făcută cu metodologia instituției, cu materiale oficiale suplimentare sau împreună cu un profesor.

Cum folosesc acest subiect în pregătirea pentru admitere?

Rezolvă documentul fără ajutor și respectă timpul prevăzut de metodologia examenului. Corectează cu baremul disponibil, marchează capitolele unde ai pierdut puncte și repetă exerciții similare. Compară apoi cu alte probe din aceeași facultate și confirmă programa curentă pe site-ul oficial al instituției.