Subiect și barem
Se deschide documentul PDF… Deschide PDF
Acest subiect nu are un barem public asociat.
Concurs de pregătire · Informatică · 2022
Facultatea de Matematică și Informatică · UBB
Înapoi la arhivăDespre acest subiect
primăvară · Concursul Mate-Info UBB
Sursa documentelor: FMI UBB – subiecte din anii precedenți. 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 · 12 pagini
Subiect · pagina 1
UNIVERSITATEA BABEŞ-BOLYAI FACULTATEA DE MATEMATICĂ ŞI INFORMATICĂ Concurs Mate-Info – martie 2022 Proba scrisă la Informatică NOTĂ IMPORTANTĂ: În lipsa altor precizări, presupuneți că toate operatiile aritmetice se efectuează pe tipuri de date nelimitate (nu există overflow / underflow). De asemenea, numerotarea indicilor tuturor șirurilor începe de la 1. 1. Se consideră algoritmul magic(x), unde x este un număr natural (1 ≤ x ≤ 32000). Algorithm magic(x): st ← 1 dr ← x While st ≤ dr execute mj ← (st + dr) DIV 2 If mj * mj = x then return True EndIf If mj * mj < x then st ← mj + 1 else dr ← mj – 1 EndIf EndWhile return False EndAlgorithm Precizați care dintre următoarele afirmații sunt adevărate: A. Pentru orice valoare de intrare x strict mai mică decât 10 algoritmul returnează False. B. Algoritmul descompune numărul x în factorii săi primi. C. Algoritmul returnează True dacă numărul x este pătrat perfect. D. Algoritmul nu returnează True pentru nici o valoare validă a parametrului de intrare x. 2. Se consideră algoritmul calculeaza(a,b), unde a și b sunt numere naturale (1 ≤ a, b ≤ 10000). Algorithm calculeaza(a, b): x ← 1 For i ← 1, b execute x ← (x MOD 10) * a EndFor return x EndAlgorithm Precizați care dintre următoarele afirmații sunt adevărate: A. Dacă a = 107 și b = 101, valoarea returnată este 107. B. Dacă a = 1001 și b = 101, valoarea returnată este 1001. C. Pentru toate apelurile algoritmului cu 1 ≤ a ≤ 10000 și b = 101, valoarea returnată este valoarea lui a. D. Pentru toate apelurile algoritmului cu a = 1001 și 1 ≤ b ≤ 10000, valoarea returnată este 1001. 3. Se consideră algoritmul afis(n), unde n este un număr natural (0 ≤ n ≤ 10000). Algorithm afis(n): Write n, " " If n > 0 then afis(n DIV 2) Write n, ", " EndIf EndAlgorithm
Subiect · pagina 2
Ce se va afișa la apelul afis(n)? A. Se afișează un șir de numere în care primul element este egal cu ultimul, al doilea cu penultimul etc. (cu excepția elementului din mijloc). B. Se afișează un șir de numere pare. C. Se afișează un șir de numere în ordine crescătoare urmate de numere în ordine descrescătoare. D. Se afișează un șir de numere în ordine descrescătoare urmate de numere în ordine crescătoare. 4. Se consideră algoritmul cauta(n, b), unde n și b sunt numere naturale (0 ≤ n ≤ 106, 2 ≤ b < 10). Algorithm cauta(n, b): v ← 0 If n = 0 then return 1 else m ← n While m > 0 execute If m MOD b = 0 then v ← v + 1 EndIf m ← m DIV b EndWhile return v EndIf EndAlgorithm Precizați care dintre următoarele afirmații sunt adevărate: A. Algoritmul determină și returnează câte cifre are numărul n. B. Algoritmul returnează 1 dacă numărul n este o putere a lui b și 0 altfel. C. Algoritmul determină și returnează numărul de cifre 0 din reprezentarea în baza b a numărului n. D. Algoritmul returnează 1 dacă numărul n se termină cu cifra b și 0 altfel. 5. Se consideră algoritmul abc(a, n, p), unde n este număr natural (1 ≤ n ≤ 10000), p este număr întreg (-10000 ≤ p ≤ 10000), iar a este un șir cu n numere naturale nenule (a[1], a[2], …, a[n]). Algorithm abc(a, n, p): If n < 1 then return -1 else If (1 ≤ p) AND (p ≤ n) then return a[p] else return 0 EndIf EndIf EndAlgorithm Precizați care dintre următoarele afirmații sunt adevărate: A. Algoritmul returnează 0 dacă și numai dacă p este negativ sau mai mare decât n. B. Algoritmul returnează elementul de pe poziția p dacă p este strict mai mare decât 0 și mai mic sau egal decât lungimea șirului. C. Algoritmul nu returnează niciodată 0 pentru valori ale parametrilor care respectă precondițiile din enunț. D. Algoritmul returnează elementul de pe poziția p dacă p este mai mare sau egal cu 0 și mai mic strict decât lungimea șirului.
Subiect · pagina 3
6. Pentru a genera numerele cu n cifre formate doar din cifrele 0, 6, 7, se utilizează un algoritm care, pentru n = 2, generează în ordine crescătoare numerele 60, 66, 67, 70, 76, 77. Dacă n = 4 și se utilizează același algoritm, care este numărul generat imediat după numărul 6767? A. 7667 B. 6760 C. 6776 D. Niciuna dintre celelalte variante 7. Pentru un număr natural nr (1000 ≤ nr ≤ 1000000), definim operația de decrementare în modul următor: dacă ultima cifră a lui nr nu este 0, scădem 1 din nr, altfel, împărțim nr la 10 și păstrăm doar partea întreagă. Care dintre următorii algoritmi returnează, la apelul decrementare(nr, k), numărul obținut aplicând de k ori (0 ≤ k ≤ 100) operația de decrementare pe numărul nr? De exemplu, pentru nr = 15243 și k = 10, rezultatul este 151. A. Algorithm decrementare(nr, k): If k = 0 then return nr else If nr MOD 10 ≠ 0 then return decrementare(nr - 1, k - 1) Else return decrementare(nr DIV 10, k - 1) EndIf EndIf EndAlgorithm B. Algorithm decrementare(nr, k): While k > 0 execute If nr MOD 10 = 0 then nr ← nr DIV 10 else nr ← nr - 1 EndIf k ← k - 1 EndWhile return nr End Algorithm C. Algorithm decrementare(nr, k): For i ← 1, k execute If nr MOD 10 > 0 then nr ← nr DIV 10 else nr ← nr - 1 EndIf EndFor return nr EndAlgorithm
Subiect · pagina 4
D. Algorithm decrementare(nr, k): If k = 0 then return nr else If k > nr MOD 10 then nr1 ← nr DIV 10 return decrementare(nr1, k - nr MOD 10 - 1) else return decrementare(nr - k, 0) EndIf EndIf EndAlgorithm 8. Algoritmul de mai jos are ca parametri de intrare un vector v cu n numere naturale (v[1], v[2], …, v[n]) și numărul întreg n (1 ≤ n ≤ 10000). Algorithm fn(v, n): a ← 0 For i ← 1, n execute ok ← True b ← v[i] While (b ≠ 0) AND (ok = True) execute If b MOD 2 = 1 then ok ← False EndIf b ← b DIV 10 EndWhile If ok = True then a ← a + 1 EndIf EndFor return a EndAlgorithm Precizați care dintre următoarele afirmații sunt adevărate: A. Algoritmul returnează numărul elementelor impare din vectorul v. B. Algoritmul returnează numărul elementelor din vectorul v care sunt puteri ale lui 2. C. Algoritmul returnează numărul elementelor din vectorul v care au în componența lor doar cifre pare. D. Algoritmul returnează numărul elementelor din vectorul v care au în componența lor doar cifre impare. 9. Algoritmul magic(s, n) are ca parametri de intrare un șir s cu n caractere (s[1], s[2], …, s[n]) și numărul întreg n (1 ≤ n ≤ 10000). Algorithm magic(s, n): i ← n While 1 ≤ i execute If s[i] ≠ s[n - i + 1] then return 0 EndIf i ← i - 1 EndWhile return 1 EndAlgorithm Precizați care dintre următoarele afirmații sunt adevărate: A. Algoritmul returnează 1 dacă s are un număr par de caractere. B. Algoritmul returnează 1 dacă s este un palindrom. C. Algoritmul are o eroare deoarece expresia n – i + 1 poate avea valori negative în cursul execuției. D. Algoritmul returnează 1 dacă s conține doar caractere alfanumerice.
Subiect · pagina 5
10. Se consideră următoarea secvență de cod în pseudocod: Read a For i ← 1, a - 1 execute For j ← i + 2, a execute If i + j > a - 1 then Write a, " ", i, " ", j Write new line EndIf EndFor EndFor Câte perechi de soluții se vor afișa în urma execuției secvenței de cod pentru a = 9? A. 13 B. 15 C. 19 D. nici unul din celelalte răspunsuri nu este corect 11. Algoritmul ceFace(n) are ca parametru de intrare un număr natural n (0 ≤ n ≤ 10000). Algorithm ceFace(n): s ← 0 While n > 0 execute c ← n MOD 10 If c MOD 2 = 0 then s ← s + c EndIf n ← n DIV 10 EndWhile return s EndAlgorithm Ce va returna apelul ceFace(9876)? A. 16 B. 48 C. 14 D. 63 12. Algoritmul generare(n) prelucrează un număr natural n (0 < n < 100). Algorithm generare(n): nr ← 0 For i ← 1, 1801 execute used[i] ← False EndFor While not used[n] execute sum ← 0 used[n] ← True While n ≠ 0 execute digit ← n MOD 10 n ← n DIV 10 sum ← sum + digit * digit * digit EndWhile n ← sum nr ← nr + 1 EndWhile return nr EndAlgorithm Precizați care dintre următoarele afirmații sunt adevărate: A. Dacă n = 10, valoarea returnată este 2.
Subiect · pagina 6
B. Dacă n = 10, valoarea returnată este 1.
C. Dacă n = 3, valoarea returnată este 4.
D. Cele două apeluri generare(3) și generare(30) vor returna aceeași valoare.
13. Se dă algoritmul f(a, b) care primește ca parametri două numere naturale a și b (1 ≤ a < b ≤ 1000):
Algorithm f(a, b):
If a > 0 then
return b + f(a DIV 2, b * 2)
EndIf
return b + f(a * 2, b DIV 2)
EndAlgorithm
Din păcate, algoritmul se autoapelează de o infinitate de ori. Precizați care este valoarea pe care o va
avea parametrul b, atunci când parametrul a devine 0 pentru prima dată. Algoritmul se apelează cu
instrucțiunea:
c ← f(20, 10)
A. 100
B. 160
C. 320
D. 640
14. Precizați care dintre următoarele expresii are valoarea adevărat dacă și numai dacă numărul natural
n este divizibil cu 3 și are ultima cifră 4 sau 6:
A. (n MOD 3 = 0) OR ((n MOD 10 = 4) AND (n MOD 10 = 6))
B. (n MOD 6 = 0) AND ((n MOD 10 = 4) OR (n MOD 10 = 6))
C. ((n MOD 9 = 0) AND (n MOD 10 = 4)) OR ((n MOD 3 = 0) AND (n MOD 10 = 6))
D. (n MOD 3 = 0) AND (((n MOD 2 = 0) AND (n MOD 5 = 0)) OR ((n MOD 2 = 0) AND (n MOD 5 = 1)))
15. Se consideră următoarea expresie logică (X OR Z) AND (X OR Y). Alegeți valorile pentru X, Y, Z
astfel încât evaluarea expresiei să dea rezultatul True:
A. X ← False; Y ← False; Z ← True;
B. X ← True; Y ← False; Z ← False;
C. X ← False; Y ← True; Z ← False;
D. X ← True; Y ← True; Z ← True;
16. Se consideră toate șirurile de lungime l ϵ {1, 2, 3} formate din litere din mulțimea {a, b, c, d, e}.
Câte dintre aceste șiruri au elementele ordonate strict crescător (conform alfabetului) și un număr impar
de consoane? (b, c și d sunt consoane)
A. 14
B. 13
C. 26
D. 81
17. Se dorește afișarea unui pătrat împreună cu diagonalele sale folosind doar caracterele * (asterisc)
și . (punct) (pentru spațiul din interiorul pătratului cu excepția diagonalelor). Exemplul de mai jos
ilustrează un pătrat având laturile de n = 6 asteriscuri. Pentru acesta a fost necesară utilizarea a 28
asteriscuri și 8 puncte.Subiect · pagina 7
* * * * * * * * . . * * * . * * . * * . * * . * * * . . * * * * * * * * Care din afirmațiile de mai jos sunt adevărate? A. Pentru n = 5, este nevoie de exact 22 asteriscuri și 4 puncte. B. Pentru n =7, este nevoie de exact 34 asteriscuri și 15 puncte. C. Pentru n =7, este nevoie de exact 33 asteriscuri și 16 puncte. D. Pentru n =18, este nevoie de exact 100 asteriscuri și 224 puncte. 18. Se consideră algoritmul ceFace(T, n, e), care primește ca și parametru un șir T cu n numere naturale ordonate crescător (T[1], T[2], …, T[n]) și numerele naturale n și e (1 ≤ n, e ≤ 10000). Algorithm ceFace(T, n, e): If e MOD 2 = 0 then a ← 1 b ← n While a ≤ b execute m ← (a + b) DIV 2 If e < T[m] then b ← m - 1 else If e > T[m] then a ← m + 1 else return m EndIf EndIf EndWhile return 0 else c ← 1 g ← 0 While (c ≤ n) AND (g = 0) execute If e = T[c] then g = c EndIf c ← c + 1 EndWhile return g EndIf EndAlgorithm Precizați care dintre următoarele afirmații sunt adevărate: A. Algoritmul returnează 0 dacă numărul e nu se află în șirul T. B. Dacă numărul e este impar și se află în șirul T, algoritmul returnează poziția din șirul T pe care se află e folosind algoritmul de căutare binară. C. Dacă numărul e este impar și se află în șirul T, algoritmul returnează poziția din șirul T pe care se află e folosind algoritmul de căutare secvențială. D. Algoritmul returnează poziția din șirul T pe care se află numărul e.
Subiect · pagina 8
19. Se consideră algoritmul calcul(x, n), unde parametrii de intrare sunt numerele naturale n și x,
având proprietatea 1 ≤ x ≤ n < 10.
Algorithm calcul(x, n):
b ← 1
For i ← 1, n - x execute
b ← b + i
EndFor
a ← b
For i ← n – x + 1, n execute
a ← a + i
EndFor
return a - b
EndAlgorithm
Precizați care dintre următoarele afirmații sunt adevărate:
A. Dacă n = 5 și x = 2, atunci algoritmul returnează 20.
B. Dacă n = 3 și x = 2, atunci algoritmul returnează 5.
C. Algoritmul returnează cardinalitatea mulțimii {𝑐1𝑐2 … 𝑐𝑥 : ci ≠ cj ∀ 1 ≤ i, j ≤ x, i ≠ j, 1 ≤ ci ≤ n}
D. Algoritmul returnează întotdeauna o valoare strict mai mare decât 0.
20. Se dă algoritmul s(a, b, c), unde a, b, c sunt numere naturale pozitive (1 ≤ a, b, c ≤ 10000).
Algorithm s(a, b, c):
If (a = 1) OR (b = 1) OR (c = 1) then
return 1
else
If a > b then
return a * s(a - 1, b, c)
else
If a < b then
return b * s(a, b - 1, c)
else
return c * s(a - 1, b - 1, c - 1)
EndIf
EndIf
EndIf
EndAlgorithm
20a. Precizați care dintre următoarele afirmații sunt adevărate în cazul în care a = b și a < c:
A. Algoritmul calculează și returnează c! / (c - a)!
B. Algoritmul calculează și returnează c! / (c – a + 1)!
C. Algoritmul calculează și returnează c! / (c – a - 1)!
D. Algoritmul calculează și returnează combinări de c luate câte (a - 1)
20b. Pentru a = 3, b = 4, c = 7, algoritmul returnează:
A. 224
B. 56
C. 336
D. 168Subiect · pagina 9
21. Se consideră algoritmul numere(a, b, c, d, e), care primește ca parametri cinci numere întregi
a, b, c, d și e (1 ≤ a, b ≤ 10000, 2 ≤ c ≤ 16, 1 ≤ d < c).
Algorithm numere(a, b, c, d, e):
If a = 0 AND b = 0 then
If e = 0 then
return True
else
return False
EndIf
EndIf
If a MOD c = d then
e = e + 1
EndIf
If b MOD c = d then
e = e – 1
EndIf
return numere(a DIV c, b DIV c, c, d, e)
EndAlgorithm
Precizați care dintre următoarele afirmații sunt adevărate pentru apelul numere(a, b, c, d, 0) :
A. Algoritmul returnează True dacă reprezentările în baza c a numerelor a și b conțin cifra d de
număr egal de ori, False în caz contrar
B. Algoritmul returnează True dacă cifra d apare în reprezentarea în baza c a numărului a și în
reprezentarea în baza c a numărului b, False în caz contrar
C. Apelul numere(a, b, c, d, 0) returnează aceeași valoare ca și apelul numere(b, a, c, d, 0)
D. Algoritmul returnează True dacă cifra d apare pe aceleași poziții în reprezentarea în baza c a
numerelor a și b, False în caz contrar
22. Fie s un șir de numere naturale unde elementele si sunt de forma
si = {
𝑥, dacă 𝑖 = 1
𝑥 + 1, dacă 𝑖 = 2
𝑠(𝑖−1)@𝑠(𝑖−2) dacă 𝑖 > 2
, (i = 1, 2, ...). Operatorul @ concatenează cifrele operandului stâng
cu cifrele operandului drept, în această ordine (cifre aferente reprezentării în baza 10), iar x este un
număr natural (1 ≤ x ≤ 99). De exemplu, dacă x = 3, șirul s va conține valorile 3, 4, 43, 434, 43443, ... .
Pentru un numar natural k (1 ≤ k ≤ 30) precizați numărul cifrelor acelui termen din șirul s care
precede termenul format din k1 cifre, unde k1 este cel mai mic număr cu proprietatea că k ≤ k1 ≤ 30 și
există un termen format din k1 cifre.
A. dacă x = 15 și k = 8, numărul cifrelor termenului căutat este 6.
B. dacă x = 2 și k = 6, numărul cifrelor termenului căutat este 6.
C. dacă x = 14 și k = 27, numărul cifrelor termenului căutat este 26.
D. dacă x = 5 și k = 12, numărul cifrelor termenului căutat este 8.
23. Se consideră următorul algoritm recursiv fibonacci(n), unde n este un număr natural (1 ≤ n ≤
100). Să se determine de câte ori se afișează mesajul “Aici” în cazul unui apel fibonacci(n).
Algorithm fibonacci(n):
If n ≤ 1 then
Write "Aici"
return 1
else
return fibonacci(n - 1) + fibonacci(n - 2)
EndIf
EndAlgorithmSubiect · pagina 10
A. De fibonacci(n) ori. B. De fibonacci(n-1) ori. C. De fibonacci(n)-1 ori. D. De fibonacci(n) - fibonacci(n-1) ori. 24. Se considera expresia: E(x) = a0 + a1*x + a2*x2 + a3*x3 + a4*x4, unde a0, a1, a2, a3, a4 și x sunt numere reale nenule. Numărul minim de înmulțiri necesare pentru a calcula valoarea expresiei E(x) este: A. 4 B. 5 C. 7 D. 3 25. Se consideră algoritmul f(x, n) unde x, n sunt numere naturale și x > 0. 1. Algorithm f(x, n): 2. If n = 0 then 3. return 1 4. EndIf 5. m ← n DIV 2 6. p ← f(x, m) 7. If n MOD 2 = 0 then 8. return p * p 9. EndIf 10. return x * p * p 11. EndAlgorithm 25a. Precizați care dintre următoarele afirmații sunt adevărate: A. Algoritmul returnează xn efectuând aproximativ n apeluri recursive. B. Algoritmul returnează xn efectuând aproximativ log2 n apeluri recursive. C. Algoritmul returnează xn dacă și numai dacă n este putere a lui 2 D. Algoritmul returnează xn dacă și numai dacă n este par. 25b. Considerăm linia 10 înlocuită cu: 10. return x * f(x, n – 1) Precizați care dintre următoarele afirmații sunt adevărate: A. Algoritmul nu mai returnează xn B. Algoritmul returneaza xn+1 C. Algoritmul efectueaza aproximativ n2 apeluri recursive. D. Algoritmul returnează xn 26. Se consideră algoritmul f2(a,b) cu parametrii a și b numere naturale, și algoritmul f(arr, i, n, p) având ca parametri șirul arr cu n numere întregi (arr[1], arr[2], …, arr[n]), și numerele întregi i și p. Algorithm f2(a, b): If a > b then return a else return b EndIf EndAlgorithm Algorithm f(arr, i, n, p): If i = n then return 0 EndIf n1 ← f(arr, i + 1, n, p) n2 ← 0 If p + 1 ≠ i then n2 ← f(arr, i + 1, n, i) + arr[i] EndIf return f2(n1, n2) EndAlgorithm
Subiect · pagina 11
Precizați care este rezultatul apelului f(arr, 1, 9, -10), dacă șirul arr conține valorile (10, 1, 5, 4, 7, 12, 1, 12, 6). A. 24 B. 37 C. 39 D. 56 27. Fie algoritmul f(n), având ca parametru numărul natural nenul n și care returnează un număr natural. Algorithm f(n): j ← n While j > 1 execute i ← 1 While i ≤ n4 execute i ← 4 * i Write "*" EndWhile If j DIV 2 > 1 then Write " " EndIf j ← j DIV 2 EndWhile return j EndAlgorithm 27a. În care dintre următoarele clase de complexitate se încadrează complexitatea timp a algoritmului? A. O(log2 n) B. O(log2 2 𝒏) C. O(log4 2 𝒏) D. O(log2 log4 n) 27b. Care dintre afirmațiile de mai jos sunt adevărate? A. Dacă n = 10, algoritmul afișează grupuri formate din câte 7 steluțe, grupurile fiind despărțite prin câte un spațiu. B. Dacă n = 20, algoritmul afișează 4 grupuri de steluțe și 4 caractere spațiu. C. Dacă n = 25, algoritmul afișează 48 de steluțe, iar după fiecare grup afișează un spațiu. D. Dacă n = 100, algoritmul afișează 84 de steluțe și 5 caractere spațiu.
Subiect · pagina 12
UNIVERSITATEA BABEȘ-BOLYAI CLUJ-NAPOCA FACULTATEA DE MATEMATICĂ ȘI INFORMATICĂ Concurs Mate-Info UBB 25 martie 2022 Proba scrisă la INFORMATICĂ BAREM ȘI REZOLVARE 23 – 03 - 2022 OFICIU: 10 puncte 1 C 3 puncte 2 ABD 3 puncte 3 AD 3 puncte 4 C 3 puncte 5 B 3 puncte 6 D 3 puncte 7 ABD 3 puncte 8 C 3 puncte 9 B 3 puncte 10 C 3 puncte 11 C 3 puncte 12 ACD 3 puncte 13 C 3 puncte 14 B 3 puncte 15 BD 3 puncte 16 B 3 puncte 17 CD 3 puncte 18 AC 3 puncte 19 BD 3 puncte 21 AC 3 puncte 22 AD 3 puncte 23 A 3 puncte 24 A 3 puncte 26 C 3 puncte 20a B 3 puncte 20b D 3 puncte 25a B 3 puncte 25b D 3 puncte 27a BC 3 puncte 27b AD 3 puncte
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ă concurs de pregătire din 2022 pentru Informatică, la Facultatea de Matematică și 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.