Subiect și barem
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ăDespre acest subiect
iulie · Broșura oficială – varianta 1
Sursa documentelor: Facultatea de Informatică – Universitatea de Vest din Timișoara. Pentru acest subiect nu este disponibil un barem public.
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.
Alte subiecte de la aceeași facultate
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.