Pregătire cu un profesor

Glisează →

Subiect și barem

PDF

Sursa: Facultatea de Informatică UVT – arhiva admiterii

Acest subiect nu are un barem public asociat.

Examen de admitere · Informatică · 2023

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 · 11 pagini

Subiect · pagina 1

Concurs de admitere
Facultatea de Matematic˘a s, i Informatic˘a
Universitatea de Vest din Timis, oara
Sesiunea Iulie, 2023
1. Timpul 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 pen-
tru 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 un singur r˘aspuns MODEL, marcat, i exact un r˘aspuns:
1 2 3 4corect. Le vet, i recunoas, te dup˘a modelul indicat în partea dreapt˘a a acestui rând.
Tipul 2 Pentru întreb˘arile de acest tip vet, i marca pe foaia de concurs fie un singur r˘aspuns MODEL, marcat, i 1-2 r˘aspunsuri:
1 2 3 4 5corect, fie dou˘a r˘aspunsuri corecte. Le vet, i recunoas, te dup˘a modelul indicat în partea
dreapt˘a a acestui rând.
Tipul 3 Pentru întreb˘arile de acest tip vet, i marca pe foaia de concurs fie un singur r˘aspuns MODEL, marcat, i 1-3 r˘aspunsuri:
1 2 3 4 5corect, 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
Fiecare variant˘a corect˘a de r˘aspuns valoreaz˘a exact 2 puncte.
Dac˘a r˘aspunsul oferit identific˘a toate variantele corecte de r˘aspuns, la punctajul întreb˘arii se adaug˘a un bonus de 1 punct pentru
r˘aspuns complet.
Num˘arul maxim de puncte care poate fi obt, inut este 98. La acest punctaj se adaug˘a 10 puncte din oficiu.
Problema 1: Un cod simplu
Dac˘a PERICOL devine CIPROLE, s, i ROZALIU devine LARZIUO atunci TROPICE devine ...... Ciorn˘a, marcat, i exact un r˘aspuns:
1 2 3 4
1 RICOPET
2 IPTOCER "
3 PORECIT
4 OEPRTIC
Explicat, ii
Regula de codificare este: 1->3, 2->7, 3->4, 4->2, 5->1, 6->5, 7->6. (Prima liter˘a ajunge pozit, ia a
treia, a doua pe pozit, ia a s, aptea, etc).
Se aplic˘a regula de codificare de mai sus s, i se obt, ine: 1->3 , 2->7 , 3->4 , 4->2 , 5->1 , 6->5 , 7->6
==> IPTOCER.

Subiect · pagina 2

2
Problema 2: O secvent, ˘a
Se consider˘a urm˘atoarea secvent, a de numere:
1, 50, 3, 46, 7, 36, 13, 16, x, y
Identificat, i valorile x s, i y de mai sus, apoi oferit, i r˘aspunsul corect.
1 x = 25, y = 6 Ciorn˘a, marcat, i exact un r˘aspuns:
1 2 3 42 x = 21, y = −18 "
3 x = 27, y = −6
4 x = 23, y = 18
Explicat, ii
Regula pentru pozit, iile impare: 3=1+2, 7=3+4, 13=7+6, urmeaz˘a 21=13+8.
Regula pentru pozit, iile pare: 46=50-(1+3), 36=46-(3+7), urmeaz˘a 16-(21+13)=-18
Problema 3: Selfies
Cinci persoane sunt aliniate pentru a fi fotografiate împreun˘a. Stângu st˘a la stânga lui Right, dar la dreapta lui Brilhante. Milieu st˘a
la dreapta lui Right, iar Estremo este între Right s, i Milieu.
Care dintre urm˘atoarele afirmat, ii este corect˘a:
1 Milieu st˘a la dreapta lui Estremo. " Ciorn˘a, marcat, i exact un r˘aspuns:
1 2 3 42 Brilhante este al doilea din dreapta.
3 Stângu este primul din stânga.
4 Right este penultimul din list˘a.
Explicat, ii
Alinierea este: Brilhante–Stângu–Right–Estremo–Milieu
Problema 4: Cuvinte
Un copil de 2 ani se joac˘a cu literele A, B, C, R, având 5 din fiecare. Dup˘a 2 ore de joac˘a ajunge la cuvântul BARCA. Câte cuvinte dis-
tincte de 5 litere poate forma în total? Dar folosind doar literele cuvântului BARCA? Ciorn˘a, marcat, i exact un r˘aspuns:
1 2 3 4
1 3125, 60
2 1024, 120
3 3125, 1024
4 1024, 60 "
Explicat, ii
Num˘arul de cuvinte de 5 litere care se pot construi folosind literele din mult, imea {A, B, C, R}
coincide cu num˘arul de funct, ii definite pe mult, imea cu 5 elemente (pozit, iile din cuvânt) care iau
valori dintr-o mult, ime cu 4 elemente (literele din mult, ime), adic˘a este 45 = 1024.
Num˘arul total de cuvinte care se pot construi folosind 5 litere distincte este 5! = 120. Dintre
literele cuvantului BARCA, dou˘a sunt identice (A), deci num˘arul de cuvinte distincte este 120/2 =
60
Problema 5: C˘art, i de joc
MisteryX are în mân˘a un pachet de c˘art, i de joc, pe care-l foloses, te pentru urm˘atorul joc: întoarce o carte de joc; dac˘a este o carte de
joc ros, ie, elimin˘a un num˘ar de c˘art, i de joc cel mult egal cu num˘arul de c˘art, i ros, ii întoarse pân˘a în acel moment. Jocul se termin˘a
atunci când nu mai are c˘art, i de joc în mân˘a.
Care dintre urm˘atoarele buc˘at, i de algoritm ar putea modela acest joc? Ciorn˘a, marcat, i exact un r˘aspuns:
1 2 3 4

Subiect · pagina 3

concurs admitere fmi@uvt, iulie 2023 3
1 "
n ← 0
cât timp exist˘a c˘art, i în pachet execut˘a
întoarce cartea urm˘atoare
dac˘a este o carte ros, ie atunci
n ← n+1
pentru n times execut˘a
elimin˘a o carte
2 cât timp exist˘a c˘art, i în pachet execut˘a
întoarce cartea urm˘atoare
cât timp cartea curent˘a este ros, ie execut˘a
elimin˘a o carte
3 n ← 0
cât timp exist˘a c˘art, i în pachet execut˘a
întoarce cartea urm˘atoare
pentru n times execut˘a
elimin˘a o carte
dac˘a cartea a fost ros, ie atunci
n ← n+1
4 n ← 0
cât timp exist˘a c˘art, i în pachet execut˘a
întoarce cartea urm˘atoare
cât timp cartea curent˘a este ros, ie execut˘a
n ← n+1
elimin˘a o carte
întoarce cartea urm˘atoare
Explicat, ii
Varianta (2) elimin˘a o singur˘a carte la întalnirea unei c˘art, i ros, ii. Varianta (3) elimin˘a cart, i s, i la
întalnirea unei c˘art, i care nu este ros, ie, iar varianta (4) elimin˘a o singur˘a carte pentru fiecare
carte ros, ie întoars˘a. As, adar doar prima variant˘a ar putea modela jocul.
Problema 6: Pseudocod 1-2
Se consider˘a doi algoritmi scris, i în pseudocod, în care toate variabilele sunt numere întregi, iar m ≥ 1.
procedura Var 1
suma ← 0
pentru i ← 1 to m execut˘a
suma ← suma + i
întoarce suma
procedura Var 2
suma ← 0
i ← ⟨valoare_initiala⟩
cât timp ⟨conditie⟩ execut˘a
i ← i + 1
suma ← suma + i
întoarce suma
Care din urm˘atoarele expresii pot înlocui ⟨valoare_initiala⟩ s, i ⟨conditie⟩, astfel încât Var Ciorn˘a, marcat, i 1-2 r˘aspunsuri:
1 2 3 4 52 s˘a produc˘a acelas, i rezultat cu Var I?
1 i ← 0 s, i i ≤ m − 1 "
2 i ← 0 s, i i < m + 1
3 i ← 1 s, i i ≤ m
4 i ← 1 s, i i < m − 1
5 i ← 0 s, i i < m "
Explicat, ii
Algoritmul Var 1 calculeaz˘a suma primelor m numere naturale. Întrucât în algoritmul Var 2
incrementarea lui i este înainte de actualizarea sumei, este necesar ca i s˘a fie init, ializat˘a cu 0
(r˘aspunsuri 1, 2 s, i 5); r˘aspunsul 2 nu este corect pentru c˘a se adun˘a s, i m + 1 la sum˘a.

Subiect · pagina 4

4
Problema 7: Doar sus sau dreapta
O problem˘a relativ simpl˘a: estimat, i num˘arul total de drumuri, folosind doar direct, iile sus
s, i dreapta, prin care se poate ajunge de la floarea albastr˘a la floarea mov.
R
R
1 mai put, in de 400
Ciorn˘a, marcat, i 1-2 r˘aspunsuri:
1 2 3 4 5
2 exact 256
3 exact 462 "
4 peste 400 "
5 exact 924
Explicat, ii
Oricare dintre trasee necesit˘a 11 pas, i dintre care 6 pot fi efectuat, i pe orizontal˘a s, i 5 pe vertical˘a
(în orice combinat, ie). Num˘arul de trasee este prin urmare C5
11 = C6
11 = 462.
Problema 8: Doar verde
În aceast˘a problem˘a vom ajuta un robot, el care se mis, c˘a pe suprafat, a din imagine, par-
curgând toate p˘atratele verzi, s˘a realizeze o deplasare de la floarea albastr˘a la floarea ros, ie.
R
RSe presupune c˘a pozInit, ial s, i pozFinal sunt deja init, ializate, funct, ia PozUrm() re-
turneaz˘a pozit, ia urm˘atoare, în direct, ia de înaintare, funct, ia Avans() avanseaz˘a pe urm˘a-
toarea pozit, ie, în direct, ia de înaintare, DirStânga() schimb˘a direct, ia de înaintare cu 90 de
grade, la stânga.
Folosind aceste notat, ii, care dintre urm˘atorii algoritmi i-ar putea permite robot, elului
s˘a se deplaseze între cele dou˘a flori, acesta fiind amplasat init, ial pe pozit, ia florii albastre,
într-o direct, ie de înaintare oarecare.
1 pozit, ie = pozInit, ial
repet˘a
dac˘a PozUrm() este VERDE atunci
Avans()
altfel
DirStânga()
pân˘a când pozit, ie = pozFinal
2 "
pozit, ie = pozInit, ial
repet˘a
dac˘a PozUrm() este VERDE S, I
PozUrm() <> pozInit, ial atunci
Avans()
altfel
DirStânga()
pân˘a când pozit, ie = pozFinal
3 pozit, ie = pozInit, ial
repet˘a
dac˘a PozUrm() este ALB atunci
DirStânga()
altfel
Avans()
pân˘a când pozit, ie = pozFinal
4 "
pozit, ie = pozInit, ial
repet˘a
dac˘a PozUrm() este ALB SAU
PozUrm() = pozInit, ial atunci
DirStânga()
altfel
Avans()
pân˘a când pozit, ie = pozFinal
Ciorn˘a, marcat, i 1-2 r˘aspunsuri:
1 2 3 4 55 Niciunul dintre algoritmii de mai sus

Subiect · pagina 5

concurs admitere fmi@uvt, iulie 2023 5
Explicat, ii
Variantele corecte (2 s, i 4) sunt singurele care evit˘a revenirea în pozit, ia init, ial˘a (ceea ce ar duce la
un ciclu infinit, deci va patrula permanent).
Problema 9: Cu tact
O platform˘a hardware foloses, te câteva instruct, iuni de baz˘a pentru execut, ia programelor, fiecare necesitând un anumit num˘ar de
cicluri de tact la execut, ie, conform specificat, iilor de mai jos:
1. <instruct, iuneN > — foloses, te N cicluri de tact (e.g. <instruct, iune1> foloses, te 1 ciclu de tact)
2. <condit, ieM> — foloses, te M cicluri de tact (e.g. <condit, ie2> foloses, te 2 cicluri de tact)
3. IF <condit, ieM> THEN <instruct, iuneN > — foloses, te 4+N+M cicluri de tact
4. WHILEK <condit, ieM> DO <instruct, iuneN > — foloses, te minim 8+M s, i maxim K × (4+M+N) cicluri de tact, unde K este num˘arul
de iterat, ii
5. NOT <condit, ieM> — foloses, te 1+M cicluri de tact
6. <condit, ieM1> AND <condit, ieM2> — foloses, te minim 2+M1 s, i maxim 2+M1+M2 cicluri de tact
7. <condit, ieM1> OR <condit, ieM2> — foloses, te foloses, te minim 2+M1 s, i maxim 2+M1+M2 cicluri de tact
Fiind dat˘a urm˘atoarea secvent, ˘a de cod:
WHILE8 (<condit, ie2> AND (NOT <condit, ie4>)) DO
IF (<condit, ie2> OR <condit, ie2>) THEN
<instruct, iune4>
Precizat, i care dintre urm˘atoarele variante sunt corecte: Ciorn˘a, marcat, i 1-2 r˘aspunsuri:
1 2 3 4 5
1 Secvent, a foloses, te întotdeauna peste 200 de cicluri de tact.
2 Secvent, a foloses, te uneori mai mult de 200 de cicluri de tact."
3 Secvent, a foloses, te cel mult 200 de cicluri de tact.
4 Secvent, a foloses, te uneori mai put, in de 12 cicluri de tact.
5 Secvent, a nu foloses, te mai put, in de 12 cicluri de tact."
Explicat, ii
Num˘arul maxim de cicluri de tact: 8 · (4 + cond(2 + 2 + (1 + 4)) + i f (4 + 4 + (2 + 2 + 2))) = 27 ·
8 = 216 cicluri.
Num˘arul minim de cicluri de tact: 8 + (2 + 2) = 12 cicluri.
Problema 10: Doar o procedur˘a
Se consider˘a procedura RunMe(x, p, a) unde x s, i p sunt numere întregi s, i a num˘ar natural.
Cerint, e: x, p ∈ Z, a ∈ N
procedura RunMe(x, p, a)
afis, eaz˘a x, " "
dac˘a p > 0 atunci
dac˘a x > 0 atunci
RunMe(x − a, p, a)
afis, eaz˘a x, " "
altfel
dac˘a x < 0 atunci
RunMe(x + a, p, a)
afis, eaz˘a x, " "
Precizat, i care dintre urm˘atoarele afirmat, ii sunt adev˘arate: Ciorn˘a, marcat, i 1-2 r˘aspunsuri:
1 2 3 4 5

Subiect · pagina 6

6
1 Pentru apelul RunMe(9, 7, 4), se va afis, a s, irul 9 5 1 -3 1 5 9 "
2 Pentru apelul RunMe(6, −3, 3), se va afis, a s, irul -6 -3 0 3 6
3 Pentru apelul RunMe(12, 3, 4), se va afis, a s, irul 12 8 4 0 -4 -8 -12
4 Pentru apelul RunMe(−8, −3, 3), se va afis, a s, irul -8 -5 -2 1 -2 -5 -8 "
5 Pentru apelul RunMe(6, −3, 3), se va afis, a s, irul 6 3 0 -3 -6
Explicat, ii
S, irurile de valori afis, ate trebuie s˘a înceap˘a cu valoarea init, ial˘a a lui x s, i s˘a fie simetrice în raport
cu elementul din centru (prima valoare nul˘a sau negativ˘a dac˘a p > 0, respectiv prima valoare
nul˘a sau pozitiv˘a dac˘a p < 0) întrucât aceeas, i valoare se afis, eaz˘a atât la apelul funct, iei recursive
cât s, i la ies, irea din apel. Deci r˘aspunsurile corecte sunt: pentru x = 9, p = 7, a = 4 se obt, ine
s, irul 9 5 1 -3 1 5 9, iar pentru x = −8, p = −3, a = 3 se obt, ine s, irul -8 -5 -2 1 -2 -5 -8
Problema 11: Rezultat simplu
Se consider˘a funct, ia RunMe, de mai jos
Cerint, e: k ∈ N
funct, ia RunMe(k)
i, rezultat ← 0
pentru i ← 0 to k execut˘a
dac˘a i mod 3 = 1 atunci
rezultat ← rezultat + i
altfel
rezultat ← rezultat + 1
întoarce rezultat
Precizat, i care dintre urm˘atoarele afirmat, ii sunt adev˘arate:
1 Pentru apelul RunMe(8), funct, ia va returna 18 " Ciorn˘a, marcat, i 1-3 r˘aspunsuri:
1 2 3 4 52 Pentru apelul RunMe(0), funct, ia va returna 1 "
3 Pentru apelul RunMe(5), funct, ia va returna 5
4 Pentru apelul RunMe(9), funct, ia va returna 18
5 Pentru apelul RunMe(4), funct, ia va returna 8 "
Explicat, ii
Valorile returnate pentru k variind de la 0 la 9 sunt: 1, 2, 3, 4, 8, 9, 10, 17, 18, 19, deoarece la rezul-
tat se adaug˘a 1 pentru toate valorile parcurse, cu except, ia lui 4 s, i 7 pentru care se adaug˘a 4
respectiv 7.
Deci pentru k = 0 obt, inem 1, pentru k = 8 obt, inem 18, iar pentru k = 4 obt, inem 8.
Problema 12: Run it once
Se consider˘a algoritmul de mai jos
funct, ia RunMe(i, n)
dac˘a i = 0 atunci
întoarce 0
altfel

Subiect · pagina 7

concurs admitere fmi@uvt, iulie 2023 7
dac˘a (n mod 2) = 0 atunci
întoarce RunMe(i + 1, n) + n
altfel
întoarce RunMe(i − 1, n) + n
Care sunt valorile de start pentru care execut, ia algoritmului nu se termin˘a niciodat˘a?
1 i ← 2, n ← 7 Ciorn˘a, marcat, i 1-3 r˘aspunsuri:
1 2 3 4 52 i ← 3, n ← 4 "
3 i ← 5, n ← 0 "
4 i ← 3, n ← 3
5 i ← 2, n ← 6 "
Explicat, ii
Algoritmul nu se termin˘a niciodat˘a (în pseudocod) atunci când valoarea lui n este par˘a. Evident
r˘aspunsurile corecte sunt: i ← 3, n ← 4, i ← 5, n ← 0, i ← 2, n ← 6.
Problema 13: Run the vector
Se consider˘a algoritmul RunMe(a, n) unde n este num˘ar natural (2 ≤ n ≤ 1 000) s, i a un vector de n numere întregi (a[1], a[2], ..., a[n]).
Cerint, e: n ∈ N, 2 ≤ n ≤ 1000
funct, ia RunMe(a, n)
b, i ← 1, j ← n
cât timp j > i execut˘a
cât timp a[i] mod 2̸ = 0 S, I i ≤ n execut˘a
i ← i + 1
cât timp a[j] mod 2 = 0 S, I j ≥ 1 execut˘a
j ← j − 1
dac˘a i < j atunci
a[i] ← a[i] + a[j]
a[j] ← a[i] − a[j]
a[i] ← a[i] − a[j]
Ce efect are algoritmul asupra vectorului a:
1 plaseaz˘a elementele impare în prima parte a vectorului " Ciorn˘a, marcat, i 1-3 r˘aspunsuri:
1 2 3 4 52 ordoneaz˘a cresc˘ator vectorul
3 dac˘a toate elementele sunt pozitive, nu are niciun efect
4 plaseaz˘a elementele pozitive în a doua parte a vectorului
5 dac˘a toate elementele sunt pare, nu are niciun efect "
Explicat, ii
În cazul algoritmului de mai sus, i este incrementat cu valoarea 1 pân˘a se g˘ases, te un element
par sau i devine mai mare decât n, iar j este decrementat cu valoarea 1 pân˘a se g˘ases, te un el-
ement impar sau j devine mai mic decât 1. În cazul în care i este înc˘a mai mic decât j se vor
interschimba elementele de pe pozit, iile i s, i j, un element impar ajunge în fat, a unui element par.
La finalul algoritmului toate elementele impare vor fi în prima parte a vectorului, iar dac˘a toate
elementele sunt pare, j este drecrementat pân˘a la 0 s, i algoritmul nu are niciun efect.

Subiect · pagina 8

8
Problema 14: Odd enough
Se consider˘a algoritmul RunMe(n) de mai jos, unde n este num˘ar întreg.
Cerint, e: n ∈ Z
funct, ia RunMe(n)
dac˘a n ≤ 0 atunci
întoarce 2
întoarce RunMe(n − 2) + 5
Precizat, i care dintre urm˘atoarele afirmat, ii sunt adev˘arate:
1 Pentru apelul RunMe(6), algoritmul returneaz˘a 17 " Ciorn˘a, marcat, i 1-3 r˘aspunsuri:
1 2 3 4 52 Pentru apelul RunMe(5), algoritmul returneaz˘a 17 "
3 Pentru apelul RunMe(10), algoritmul returneaz˘a 15
4 Pentru apelul RunMe(−1), algoritmul returneaz˘a 2 "
5 Pentru apelul RunMe(2), algoritmul returneaz˘a 15
Explicat, ii
În cazul algoritmului de mai sus, funct, ia este apelat˘a recursiv pentru (n − 2) care ne ofer˘a
num˘arul de pas, i pân˘a când n = 0 sau n < 0. Când n = 0 sau n < 0 se obt, ine valoarea 2 la care
se adaug˘a valoarea 5 pentru fiecare pas. Astfel r˘aspunsurile corecte sunt: pentru n = 6, se obt, ine
17, pentru n = 5, se obt, ine 17(2 + 5 + 5 + 5), iar pentru n = −1, se obt, ine 2.
Problema 15: Un vector
Se consider˘a un vector a cu n numere întregi (a[1], a[2], ..., a[n]), num˘arul natural n (1 ≤ n ≤ 1 000) s, i num˘arul întreg x. Care din
urm˘atoarele secvent, e de cod returneaz˘a pozit, ia cu indicele maxim la care se g˘ases, te valoarea x în vectorul a, sau returneaz˘a −1 dac˘a
x nu se g˘ases, te în a?
1 i ← n
cât timp i ≥ 1 execut˘a
i ← i − 1
dac˘a a[i] = x atunci
întoarce i
întoarce −1
2 i ← n, b ← −1
cât timp i ≥ 1 execut˘a
dac˘a a[i] = x atunci
b ← i
i ← i − 1
întoarce b
3 "
i ← 1, b ← −1
cât timp i ≤ n execut˘a
dac˘a a[i] = x atunci
b ← i
i ← i + 1
întoarce b
4 "
i ← n
cât timp i ≥ 1 execut˘a
dac˘a a[i] = x atunci
întoarce i
i ← i − 1
întoarce −1
Ciorn˘a, marcat, i 1-3 r˘aspunsuri:
1 2 3 4 55 Niciuna dintre secvent, ele de mai sus

Subiect · pagina 9

concurs admitere fmi@uvt, iulie 2023 9
Explicat, ii
În cazul enunt, ului de mai sus r˘aspunsurile corecte sunt (3) s, i (4). În cazul (3) vectorul este
parcurs de la început s, i de fiecare dat˘a când un element este egal cu x, actualizeaz˘a pozit, ia ele-
mentului în variabila b care este returnat˘a la sfârs, it, deci este returnat˘a ultima pozit, ie pe care se
afl˘a x. În cazul (4) vectorul este parcurs de la sfârs, it iar când este g˘asit x este returnat˘a pozit, ia
lui.
Varianta (1) este incorect˘a pentru c˘a nu analizeaz˘a pe a[n], iar varianta (2) este incorect˘a pentru
c˘a modific˘a pe b la fiecare intâlnire a lui x, deci va întoarce prima pozit, ie pe care se afl˘a x.
Problema 16: ∞
Se consider˘a algoritmul:
Cerint, e: n ∈ N
funct, ia RunMe(n)
dac˘a n = 0 atunci
întoarce 0
altfel
dac˘a (n mod 2)̸ = 0 atunci
întoarce RunMe(n − 1)
întoarce RunMe(n − 1) + n
Precizat, i care dintre afirmat, iile urm˘atoare sunt corecte:
1 RunMe(111) = 3 078 Ciorn˘a, marcat, i 1-3 r˘aspunsuri:
1 2 3 4 52 RunMe(777) = 150 932 "
3 Funct, ia RunMe() poate returna numere impare
4 Funct, ia RunMe() poate returna numere pare "
5 Funct, ia RunMe() poate intra uneori în ciclu infinit
Explicat, ii
Functia calculeaz˘a suma numerelor pare mai mici decat n (adic˘a 2 ∑[n/2]
i=1 i)
Pentru RunMe(777) obt, inem suma numerelor pare de la 0 la 776, deci avem [n/2] = 388, în con-
cluzie RunMe(777) = 388 ∗ 389 = 150, 932
Pentru RunMe(111) obt, inem suma numerelor pare de la 0 la 111, deci avem [n/2] = 55, în con-
cluzie RunMe(111) = 55 ∗ 56 = 3, 080
Problema 17: Nis, te s, iruri
Fiind dat algoritmul de mai jos, unde argumentele s1, s2 transmise funct, iei sunt s, iruri de caractere (care sunt indexate începând cu
pozit, ia 1), iar n, m sunt numere naturale:
Cerint, e: n, m ∈ N
funct, ia RunThat(s1, s2, n, m)
dac˘a n > 0 S, I m > 0 atunci
dac˘a s1[n]̸ = s2[m] atunci
întoarce n + m
altfel
întoarce RunThat(s1, s2, n − 1, m − 1)

Subiect · pagina 10

10
întoarce 0
Precizat, i care dintre afirmat, iile urm˘atoare sunt corecte:
1 Funct, ia poate fi folosit˘a pentru compararea a dou˘a s, iruri Ciorn˘a, marcat, i 1-3 r˘aspunsuri:
1 2 3 4 5
2 RunThat("MERGE!", "SUPER BETON!", 6, 12) = 16 "
3 Funct, ia RunThat() returneaz˘a uneori s, i valoarea 0 "
4 Funct, ia RunThat() poate intra uneori în ciclu infinit
5 Funct, ia RunThat() poate avea comportament nedefinit pentru anumite valori ale parametrilor "
Explicat, ii
Dac˘a s, irurile sunt de lungimi egale funct, ia va returna 0 (varianta 3).
RunThat("MERGE!", "SUPER BETON!", 6, 12) = 5 + 11 = 16 (varianta 2) unde 5 s, i 11
reprezint˘a pozit, iile literelor care nu corespund pornind de la sfârs, itul s, irurilor.
Dac˘a n sau m este mai mare decât lungimea s, irului corespunz˘ator, atunci funct, ia RunThat()
poate avea comportament nedefinit (varianta 5).
Problema 18: This and that
Se consider˘a algoritmul RunThat(n), unde 1 ≤ n ≤ 1 000.
Cerint, e: n ∈ N, 1 ≤ n ≤ 1000
funct, ia RunThat(n)
dac˘a n < 2 atunci
întoarce n
a ← 0; b ← 1; c ← 0
pentru i ←2 to n execut˘a
c ← a + b; a ← b; b ← c
întoarce c
Precizat, i care dintre urm˘atoarele afirmat, ii sunt adev˘arate:
1 Pentru apelul RunThat(5), algoritmul returneaz˘a valoarea 5 " Ciorn˘a, marcat, i 1-3 r˘aspunsuri:
1 2 3 4 5
2 Pentru apelul RunThat(20), algoritmul returneaz˘a valoarea 2 765
3 Pentru apelul RunThat(15), algoritmul returneaz˘a valoarea 600
4 Pentru apelul RunThat(10), algoritmul returneaz˘a valoarea 55 "
5 Pentru apelul RunThat(8), algoritmul returneaz˘a valoarea 21 "
Explicat, ii
Valorile calculate de algoritm corespund s, irului definit de urm˘atoare relat, ie de recurent, ˘a: sn =
sn−1 + sn−2, s1 = s2 = 1
Problema 19: Eficient, ˘a maxim˘a
Algoritmul de mai jos îs, i propune s˘a însumeze într-un mod eficient divizorii num˘arului n, îns˘a unele instruct, iuni sunt incomplete:
Cerint, e: n ∈ N, n > 0
funct, ia RunMe(n)
sum ← 0

Subiect · pagina 11

concurs admitere fmi@uvt, iulie 2023 11
pentru ⟨1⟩ execut˘a
dac˘a ⟨2⟩ atunci
sum ← sum + d
dac˘a ⟨3⟩ atunci
sum ← sum + n/d
întoarce sum
Completat, i instruct, iunile care lipsesc astfel: Ciorn˘a, marcat, i 1-3 r˘aspunsuri:
1 2 3 4 51 ⟨1⟩ cu d ← 1 to sqrt(n); ⟨2⟩ cu n mod d = 0; ⟨3⟩ cu d̸ = n/d "
2 ⟨1⟩ cu d ← 1 to n; ⟨2⟩ cu d mod n = 0; ⟨3⟩ cu d̸ = 0
3 ⟨1⟩ cu d ← 1 to sqrt(n); ⟨2⟩ cu n mod d̸ = 0; ⟨3⟩ cu n mod n/d = 0
4 ⟨1⟩ cu d ← 1 to n; ⟨2⟩ cu n mod d = 0; ⟨3⟩ cu d̸ = n/d
5 ⟨1⟩ cu d ← 1 to sqrt(n); ⟨2⟩ cu d mod n = 0; ⟨3⟩ cu n mod n/d = 0
Explicat, ii
R˘aspunsul corect este: ⟨1⟩ cu d ← 1 to sqrt(n); ⟨2⟩ cu n mod d = 0; ⟨3⟩ cu d̸ = n/d.
Problema 20: Este produs?
Algoritmul de mai jos îs, i propune s˘a înmult, easc˘a dou˘a numere naturale a s, i b, cu a ≥ 0 s, i b ≥ 0.
Cerint, e: a, b ∈ N, a ≥ 0, b ≥ 0
1: funct, ia RunMe(a, b)
2: dac˘a b = 0 atunci
3: întoarce 0
4: dac˘a a mod 2 = 0 atunci
5: întoarce RunMe(2 ∗ a, b/2)
6: altfel
7: întoarce RunMe(2 ∗ a, b/2 + a)
S-au strecurat îns˘a dou˘a gres, eli. G˘ases, te-le s, i corecteaz˘a-le!
1 trebuie modificat testul din linia 4 în a mod 2̸ = 0 Ciorn˘a, marcat, i 1-3 r˘aspunsuri:
1 2 3 4 52 trebuie modificat testul din linia 4 în b mod 2 = 0 "
3 trebuie modificat apelul din linia 5 în RunMe(2 ∗ a, b/2) + a
4 trebuie modificat apelul din linia 7 în RunMe(2 ∗ a, b/2) + a"
5 trebuie modificat apelul din linia 7 în RunMe(2 ∗ a, b/2)
Explicat, ii
R˘aspunsurile corecte sunt: trebuie modificat testul din linia 8 în RunMe(2 ∗ a, b/2) + a s, i trebuie
modificat testul din linia 5 în b mod 2 = 0
.
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 2023 pentru 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.