Pregătire cu un profesor

Glisează →

Subiect și barem

PDF

Se deschide documentul PDF… Deschide PDF

Model de pregătire · Informatică · 2016

Facultatea de Automatică, Calculatoare și Electronică · UCV

Înapoi la arhivă

Subiectul și baremul î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

Universitatea din Craiova
Facultatea de Automatică, Calculatoare și Electronică
Departamentul de Calculatoare și Tehnologia Informației
Exemen de admitere sesiunea iunie 2016
Informatică
MODEL 1
Toate subiectele sunt obligatorii.
Se acordă 10 puncte din oficiu.
Timpul efectiv de lucru este de 3 ore.
SUBIECTUL I (30 puncte)
Pentru itemul 1, scrieţi pe foaia de examen litera corespunzătoare răspunsului corect.
1. (4p.) Alegeti variant corectă a ordinii efectuării operațiilor pentru evaluarea unrmătoarei expresii C/C++:
((x+2*y)/y+2*x<10) && (!(x==2*y) || (y==2*x))
a) *, +, *, +, /, <, *, ==, *, ==, !, ||, &&
b) *, +, /, *, +, <, *, ==, !, *, ==, ||, &&
c) /, *, +, *, +, <, ==, *, !, ==, *, ||, &&
d) /, *, +, *, +, <, &&, !, ==, *, ||, ==, *
2. (26p.) Se consideră algoritmul alăturat, reprezentat în pseudocod. S-a notat cu a%b restul împărţirii
numărului natural a la numărul natural nenul b.
citește x
y  0
s  0
cât timp x>0 execută
 c  x%10
 y  y*10+c
 s  s+y
 x  x/10

scrie s
a) (4p.) Scrieți valoarea afișată, dacă se citește numărul 531.
b) (6p.) Scrieți un număr întreg pozitiv care trebuie citit, așa încât să se afișeze valoarea 1370.
c) (6p.) Scriți în pseudocod un algoritm echivalent cu cel dat, în care să se înlocuiască structura
repetă...până când cu o altă structură repetitivă.
d) (10p.) Scriți un program C/C++ corespunzător algoritmului dat.
SUBIECTUL al II-lea (30 puncte)
Pentru fiecare dintre itemii 1 şi 2 scrieţi pe foaia de examen litera corespunzătoare răspunsului corect.
1. (4p.) Fi x și y două variabile de tip întreg cu valori în intervalul [-1, 1]. Pentru câte perechi de valori ale
celor două variabile, expresia următoare are valoarea true (non-zero)?
(x && !y) || (!x && y)
a) 2
b) 4
c) 3
d) 6

Subiect · pagina 2

2. (4p.) Variabilele n, p, i și s sunt de tip întreg. Pentru ca în urma executării secvenței alăturate, variabila s
să memoreze suma tuturor divizorilor primi ai lui n, zona punctată poate fi înlocuită cu:
i=2;
p=1;
s=1;
while (n>1) {
if (n%i == 0) {
.......
n=n/i;
p=0;
} else {
p=1;
i++;
}
}
a) s=s+i;
b) s=s+n%i;
c) if(p)s=s+i;
d) if(p)s=s+n%i;
Scrieţi pe foaia de examen răspunsul pentru fiecare dintre cerinţele următoare.
3. (6p.) Variabila întreagă n memorează un număr întreg pozitiv. Scrieți o secvență de instrucțiuni C/C++ în
urma executării căreia se va afișa pe ecran mesajul DA, dacă valoarea lui n face parte din termenii șirului lui
Fibonacci, sau NU în caz contrar. Termenii șirului lui Fibonnaci se specifică astfel: a1 = a2 = 1, an = an-1 + an-
2, dacă n>2.
4. (16p.) Se consideră ecuația cu coeficienți intregi:
ax4+bx3+cx2+dx+e=0.
Citindu-se valorile coeficienților ecuației, să se determine rădăcinile întregi ale ecuației, știind că dacă p este
o rădăcină întreagă a ecuației, atunci p este un divizor al lui e.
a) (10p.) Scrieţi, în pseudocod, algoritmul de rezolvare pentru problema enunţată.
b) (6p.) Precizați rolul tuturor variabilelor care au intervenit în algoritmul realizat la punctul a) şi indicaţi
datele de intrare, respectiv datele de ieşire ale problemei enunţate.
SUBIECTUL al III-lea (30 puncte)
Pentru itemul 1, scrieţi pe foaia de examen litera corespunzătoare răspunsului corect.
1. (4p.) În secvenţa de instrucţiuni de mai jos toate variabilele sunt de tip întreg:
n=2713;
p=1000;
m=n;
do {
c=n/p;
a=n%p;
...
printf(“%f\n”, n);
} while (n!=m);
Indicaţi o expresie care poate înlocui punctele de suspensie astfel încât, în urma executării secvenţei, să se
afişeze pe ecran valorile din figura de mai jos, în această ordine:
7132
1327
3271
2713
a) n=a+c;

Subiect · pagina 3

b) n=a+10*c;
c) n=a+c+p;
d) n=a*10+c;
Scrieţi pe foaia de examen răspunsul pentru fiecare dintre cerinţele următoare.
2. (6p.) Se consideră un tablou unidimensional de numere întregi pozitive, în care elementele sunt (15,
21, 23, 33, 40, 41, 49), iar primul element din tablou are indicele 1. Pentru a verifica dacă în tablou
există elementul cu o valoare întregă pozitivă x
[15, 99], se aplică metoda căutării binare. Scrieţi toate
valorile posibile ale lui x, astfel încât secvența de indici a elementelor căutate să fie în ordinea 4 2 1, iar
căutarea să se termine cu insucces.
3. (10p.) Un număr întreg pozitiv se numește relativ ordonat, dacă în scrierea sa pozițională, oricare
pereche de cifre adiacente 11 apare înaintea oricărei perechi de cifre adiacente 99. Exemple de numere:
123115991 – relativ ordonat
123115994112 – nu este relativ ordonat
129311599 – relativ ordonat
23111599991 – relativ ordonat
987654321 – relativ ordonat
Scrieți un program C/C++ care citește de la terminalul standard de intrare o secvență de numere întregi
pozitive terminate cu numărul zero și scrie pe terminalul standard de ieșire, pentru fiecare număr citit
mesajul ORDONAT, pentru un număr relativ ordonat, sau NEORDONAT, dacă numărul respectiv nu verifică
această proprietate.
4. (10p.) Se consideră un fișier text de intrare, input.txt, ce descrie o cameră întunecoasă, care are o fantă
prin care pătrunde lumina, un număr oarecare de oglinzi ce permit transmiterea acesteia (ele pot avea două
poziții, amândouă la 45o), precum și un număr oarecare de obstacole. Pereții și obstacolele sunt specificate
prin caracterul #, spațiile libere prin caracterul . (punct), iar oglinzile prin caraterele / sau \. În plus, fanta
din perete se specifică prin litera O, iar locul unde se dorește să ajungă lumina se specifică prin litera D.
Exemplu de fișier de intrare:
##O##############################################
##.#............................................#
#................................/..\...........#
#.......\.......................................#
#................#####..........................#
#........../......................../...........#
#................#####..........................#
#.\............................../..............#
#......###...###................................#
#......###.D.###................./..............#
#################################################
Scrieți un program C/C++, care citește un fișier text de intrare precum cel descris anterior și scrie un fișier
text de ieșire, output.txt, care să specifice și drumul luminii, de la fanta O la destinația D. Un traseu
orizontal se specifică prin caracterul -, unul vertical prin bară verticală | (codul zecimal 124 din tabela de
caractere), iar încrucișarea luminii pe ambele direcții se specifică prin +. În cazul în care nu există un traseu
de la O la D, fisierul de ieșire va conține textul NU EXISTA TRASEU. Pentru fișierul de intrare anterior,
fișierul de ieșire are forma următoare:
##O##############################################
##|#............................................#
#.|............................../--\...........#
#.|.....\........................|..|...........#
#.|..............#####...........|..|...........#
#.|......../---------------------+--/...........#

Subiect · pagina 4

#.|........|.....#####...........|..............#
#.\--------+---------------------/..............#
#......###.|.###................................#
#......###.D.###................./..............#
#################################################

Subiect · pagina 5

Exemen de admitere sesiunea iunie 2016
Informatică
MODEL 2
Toate subiectele sunt obligatorii.
Se acordă 10 puncte din oficiu.
Timpul efectiv de lucru este de 3 ore.
SUBIECTUL I (30 puncte)
Pentru itemul 1, scrieţi pe foaia de examen litera corespunzătoare răspunsului corect.
1. (4p.) Indicaţi expresia C/C++ care are valoarea 1 dacă şi numai dacă valoarea variabilei întregi m este un
divizor comun al valorilor variabilelor întregi strict pozitive x și y:
a) !(x%m+y%m) && x*y && (x>0 || y>0)
b) (m%x==0) && (m%y==0)
c) !(x%m) && !(y%m) && (x>0) && (y>0)
d) !(m%x+m%y) && x*y
2. (26p.) Se consideră algoritmul alăturat, reprezentat în pseudocod. S-a notat cu a%b restul împărţirii
numărului natural a la numărul natural nenul b.
citește x, y
p  1
c  1
cât timp x*y>0 execută
 a  x%10; b  x%10
 x  x/10; y  y/10
 c  c+p*a; p  p*10
 c  c+p*b; p  p*10

dacă x>0 atunci
 cât timp x*y>0 execută
  a  x%10; x  x/10
  c  c+p*a; p  p*10
 
dacă y>0 atunci
 cât timp x*y>0 execută
  b  y%10; y  y/10
  c  c+p*c; p  p*10
 
scrie p
a) (4p.) Scrieți valoarea afișată, dacă se citesc, în această ordine, numerele 5124, 753264.
b) (6p.) Scrieți toate variantele posibile de perechi de numere întregi pozitive (x, y), care trebuie citite, așa
încât să se afișeze valoarea 1234.
c) (6p.) Scriți în pseudocod un algoritm echivalent cu cel dat, în care să se înlocuiască structura
repetă...până când cu o altă structură repetitivă.
d) (10p.) Scriți un program C/C++ corespunzător algoritmului dat.
SUBIECTUL al II-lea (30 puncte)
Pentru fiecare dintre itemii 1 şi 2 scrieţi pe foaia de examen litera corespunzătoare răspunsului corect.
1. (4p.) Care dintre expresiile de mai jos au valoarea true (non-zero), dacă variabila de tip întreg x are o
valoare impară și este divizibilă cu 5?
a) !(x%2) && (x%5)

Subiect · pagina 6

b) (x%2==0) && (x%5==0)
c) (y=x && y%5) && (x%2==1)
d) (x%2==1) || (x%5==0)
2. (4p.) Variabilele n, m, s, și k sunt de tip întreg. Pentru ca în urma executării secvenței alăturate, variabila s
să memoreze numărul tuturor cifrelor distincte ale valorii variabilei n, zona punctată poate fi înlocuită cu:
s=0;
k=0;
while (k<10) {
m=n;
while (m) {
if (.......) {
s=s+k;
break;
}
m=m/10;
}
k=k+1;
}
a) m/10==k
b) m%10==k
c) n%10==k
d) n/10==k
Scrieţi pe foaia de examen răspunsul pentru fiecare dintre cerinţele următoare.
3. (6p.) Variabilele x1, y1, x2, y2, x3, y3 sunt de tip float și reprezintă coordonatele vârfurilor distincte ale
unui triunghi în plan. Scrieți o secvență de instrucțiuni C/C++ în urma executării căreia se va afișa pe ecran
unul dintre mesajele ECHILATERAL, DREPTUNGHIC, ISOSCEL, DREPTUNGHIC ISOSCEL, OARECARE, în
funcție de natura triunghiului.
4. (16p.) Se consideră trei numere întregi pozitive, a, b și n, cu proprietatea că a<b. Să se afișeze toate
numerele din intervalul [a, b] care au proprietatea că sunt divizibile cu răsturnatul numărului n. Exemplu:
pentru a=1, b=100, n=23, se vor afișa numerele 32, 64 și 96, deoarece răsturnatul lui 23 este 32.
a) (10p.) Scrieţi, în pseudocod, algoritmul de rezolvare pentru problema enunţată.
b) (6p.) Precizați rolul tuturor variabilelor care au intervenit în algoritmul realizat la punctul a) şi indicaţi
datele de intrare, respectiv datele de ieşire ale problemei enunţate.
SUBIECTUL al III-lea (30 puncte)
Pentru itemul 1, scrieţi pe foaia de examen litera corespunzătoare răspunsului corect.
1. (4p.) În secvenţa de instrucţiuni de mai jos toate variabilele sunt de tip întreg:
n=27436;
p=2;
while (n>0) {
if (n%10%p==0) {
printf(“par\n”);
}
...
}
Indicaţi o expresie care poate înlocui punctele de suspensie astfel încât, în urma executării secvenţei, să se
afişeze pe ecran valorile din figura de mai jos:
par
par
par

Subiect · pagina 7

a) n=n/10;
b) n=n%10;
c) n=n+n/10;
d) n=n+n%10;
Scrieţi pe foaia de examen răspunsul pentru fiecare dintre cerinţele următoare.
2. (6p.) Se consideră un tablou unidimensional de numere întregi pozitive, cu valori în intervalul [0, 9].
Tabloul are următoarea structură: (9, 1, 4, 1, x). Care sunt toate valorile posibile ale lui x, astfel încât
folosind sortarea crescătoare prin metoda selecției, tabloul să-și schimbe structura doar de două ori, astfel:
(1, 1, 4, 9, x)
(1, 1, 4, x, 9)
Se consideră că cel mai mic element din secvență se determină de la stânga la dreapta.
3. (10p.) Un tablou unidimensional de n numere întregi pozitive se numește tablou direct Fibonacci, dacă
elementele sale sunt primele n valori consecutive ale termenilor șirului lui Fibonacci. Tabloul se numește
tablou invers Fibonacci, dacă elementele sale reprezintă primii n termeni ai șirului lui Fibonacci, scriși în
ordine inversă. Se consideră șirul lui Fibonacci definit astfel: f1=f2=1, fn=fn-1+fn-2, pentru n>2. De exemplu,
(1 1 2 3 5) este un tablou direct Fibonacci, iar (5 3 2 1 1) este un tablou invers Fibonacci. Scrieți
un program C/C++ care citește de la tastatură un număr natural n (2≤n≤22) și apoi un șir de n numere
naturale. Programul trebuie să afișeaze pe ecran: fie numărul natural n, dacă tabloul citit este un tablou direct
Fibonacci, iar n este indicele ultimului termen din șir, fie numărul negativ –n, dacă tabloul citit este un
tablou invers Fibonacci, fie valoarea 0 în celelalte cazuri.
4. (10p.) O secvență de k numere întregi pozitive x1, x2, ..., xk, se spune că formează o partiție a numărului
întreg pozitiv y, dacă există o permutare a secvenței ințiale de numere, xi1, xi2, ..., xik, astfel încât prin
concatenarea cifrelor numerelor xi1, xi2, ..., xik, în această ordine, să rezulte numărul y. Scrieți un program
C/C++ care citește un fișier text de intrare, input.txt, fiecare linie din fișier conținând o secvență de
numere întregi, separate de spațiu și scrie un fișier de ieșire, output.txt, care va conține tot atâtea linii ca
și cel de intrare, pe fiecare linie scriindu-se un singur număr, astfel:
- Primul număr, n, din secvența de numere din linia fișierului de intrare, dacă celelalte numere de pe aceeași
linie formează o partiție a lui n;
- Numărul 0, dacă nu există asemenea proprietate.

Subiect · pagina 8

Universitatea din Craiova
Facultatea de Automatică, Calculatoare şi Electronică
Exemen de admitere sesiunea iunie 2016
Informatică
MODEL 3
Toate subiectele sunt obligatorii.
Se acordă 10 puncte din oficiu.
Timpul efectiv de lucru este de 3 ore.
I. SUBIECTUL I (30 puncte)
1. (4p.) Se consideră o variabilă întreagă n. Se consideră mulțimea M = {2016, 2017, 2018, 2019}. Se cere
să se spună care dintre expresiile C următoare are valoarea 0 dacă și numai dacă valoarea variabilei n
aparține mulțimii M.
a) n!=2019 && (n<2016 || n>2018)
b) n!=2016 && (n<2017 || n>2019)
c) n!=2017 || n>2019 || n<2016
d) n!=2016 && n!=2017 && n!=2018 && n!=2019
2. (26p.) Se consideră algoritmul următor, unde x%y reprezintă restul împărţirii numerelor naturale x şi y, iar
[x] reprezintă partea întreagă a numărului real x.
n  0
repetă
 citeşte y
 x  y
 repetă
  d  x%10
  x  [x/10]
 până când d≥x%10
 n  n*10+d
până când y=7
scrie n
a) (6p.) Scrieţi valoarea afişată la ieşire, dacă de la intrare se citesc numerele 123, 345321, 3456,
9, 9999, 7, 0, 7. Se consideră că fiecare operaţie de scriere afişează valorile pe o linie nouă.
b) (4p.) Scrieţi un set de date de intrare reprezentat dintr-un şir de numere naturale, astfel încât, în urma
executării algoritmului, să se afişeze valoarea 2017.
c) (6p.) Rescrieţi algoritmul, folosind în loc de instrucţiunea repetitivă cu test final, o instrucţiune
repetitivă cu test iniţial.
d) (10p.) Scrieţi programul în limbajul C / C++ corespunzător algoritmului dat.
II. SUBIECTUL al II-lea (30 puncte)
1. (6p.) Se consideră variabilele x şi y de tip double. Care dintre expresiile C de mai jos reprezintă o
transcriere corectă a expresiei algebrice log4x3y5 ?
a) (3*log(x)+5*log(y))/log(4.)
b) (3*log10(x)+5*log10(y))/log10(4)
c) (pow(log10(x),3)+pow(log10(y),5))/log(4)
d) log(pow(x,3)*pow(y,5),4.)
2. (10p.) Se consideră un şir de caractere s format din maximum 7 caractere. Se ştie că acest şir de caractere
reprezintă un număr natural în scriere latină a cărui valoare este cuprinsă în intervalul [1,39]. Să se declare o

Subiect · pagina 9

variabilă n de tip int şi să se scrie o secvenţă de instrucţiuni C/C++, în urma executării căreia, variabila n să
memoreze valoarea întreagă a numărului reprezentat de s. De exemplu, dacă s are valoarea “XXXVIII”,
atunci n trebuie sa aibă valoarea 38.
3. (14p.) Dându-se un număr natural n, numărul natural m ce reprezintă complementul faţă de 2 al lui n se
determină prelucrând reprezentarea binară a lui n în felul următor. Se parcurge reprezentarea binară a lui n
cifră binară cu cifră binară, începând cu cifra unităţilor, mergând înspre cifra binară de rang maxim. Toate
cifrele de 0 întâlnite se lasă neschimbate, până la întâlnirea primei cifre binare egală cu 1. Această cifră se
lasă tot neschimbată, iar apoi celelalte cifre binare ale lui n se complementează, adică cifra 0 este
transformată în 1, iar cifra 1 este transformată în 0. Spre exemplu, numărul n = 18 are reprezentarea binară
10010. Complementul fată de 2, in binar, este 01110, adică m = 14. Se citeşte reprezentarea binară a lui n
sub forma unui şir de caractere s format din maxim 30 de caractere ce pot fi doar ’0’ sau ’1’. Se cere să se
afişeze valoarea lui m sub forma unui număr întreg. De exemplu, dacă se citeşte s = ”100100” atunci se
va afişa m = 28.
a) (10p.) Scrieţi algoritmul de rezolvare al problemei în pseudocod.
b) (4p.) Descrieţi rolul tuturor variabilelor din algoritm şi indicaţi datele de intrare şi pe cele de
ieşire.
III. SUBIECTUL al III-lea (30 puncte)
1. (5p.) Se consideră şirul A = (30, 3, 6, 1, 17, 25, 4, 53, 10). Notând cu B şirul rezultat prin ordonarea lui A
folosind metoda selecţiei, scrieţi succesiunea etapelor prin care trece şirul B, considerând că iniţial B este
egal cu şirul A, adică B = A.
2. (5p.) În secvenţa următoare, toate variabilele sunt întregi.
gasit = 0;
scanf(“%d”, &n);
...
while (...) {
...
}
if(!gasit) {
printf(“Numarul %d nu contine cifra 7\n“, n);
}
Completaţi secvenţa anterioară, înlocuind punctele de suspensie, astfel încât în urma executării secvenţei, să
se afişeze mesajul respectiv. Spre exemplu, dacă se citeşte numărul n cu valoarea 275913 atunci mesajul nu
va fi afişat, dar dacă se citeşte numărul n cu valoarea 265913 atunci mesajul va fi afişat.
3. (10p.) Dându-se două mulţimi de numere întregi, A = {a1, …, an} şi B = {b1, …, bm}, să se determine
mulţimea reuniune, X = A  B. Să se scrie un program C care citeşte de la terminalul standard de intrare
numărul de elemente ale fiecăreia dintre cele două mulţimi, precum şi elementele acestora, calculează
mulţimea reuniune şi o afişează la terminalul standard de ieşire.
4. (10p.) Se consideră un text format din cel mult 100 de caractere reprezentând o mulţime de cuvinte (ce
conţin litere mici sau mari) ce pot fi separate prin spaţii ’ ’ şi caracterele de punctuaţie ’:’, ’,’, ’;’,
’.’. Să se scrie un program C/C++ care afişează cuvântul din text care conţine cea mai lungă secvenţă de
vocale consecutive. Dacă există mai multe cuvinte ce satisfac această condiţie atunci se va afişa doar primul
dintre acestea. Vocalele sunt caracterele ’a’, ’e’, ’i’, ’o’, ’u’. Spre exemplu dacă textul citit este:
”Programarea este frumoasa, dar destul de grea.” atunci programul va afişa cuvântul
”Programarea”.

Subiect · pagina 10

Universitatea din Craiova
Facultatea de Automatică, Calculatoare şi Electronică
Exemen de admitere sesiunea iunie 2016
Informatică
MODEL 4
Toate subiectele sunt obligatorii.
Se acordă 10 puncte din oficiu.
Timpul efectiv de lucru este de 3 ore.
I. SUBIECTUL I (30 puncte)
1. (4p.) Se consideră 4 variabile intregi x, y, z şi t. Se cere să se spună care dintre expresiile C următoare
are valoarea 1 dacă şi numai dacă valorile celor 4 variabile sunt ordonate astfel: x < z < y < t.
a) !(x>=z || y>=t) && z<y
b) !(x>=z && y>=t) && !(z>=y)
c) x<y && z<t && z>x && t>y
d) !(z>=y || y>=t) && !(z<x) && z!=x
2. (26p.) Se consideră algoritmul următor, unde x%y reprezintă restul împărţirii numerelor naturale x şi y, iar
[x] reprezintă partea întreagă a numărului real x.
n  0
repetă
 citeşte y
 x  y
 m  0
 repetă
  d  x%10
  m  m*10+d
  x  [x/10]
 până când m≥x
 n  n*10+d
până când y=7
scrie n
a) (6p.) Scrieţi valoarea afişată la ieşire, dacă de la intrare se citesc numerele 1221, 345321, 3456,
9, 9999, 77, 7.
b) (4p.) Scrieţi un set de date de intrare reprezentat dintr-un şir de numere naturale, astfel încât, în urma
executării algoritmului, să se afişeze valoarea 2017.
c) (6p.) Rescrieţi algoritmul, folosind în loc de instrucţiunea repetitivă cu test final, o instrucţiune
repetitivă cu test iniţial.
d) (10p.) Scrieţi programul în limbajul C / C++ corespunzător algoritmului dat.
II. SUBIECTUL al II-lea (30 puncte)
1. (6p.) Se consideră variabilele x şi y de tip double. Care dintre expresiile C de mai jos reprezintă o
transcriere corectă a expresiei algebrice5 43 yx ?
a) exp((1/5.)*log(x*x*x*y*y*y*y))
b) exp(1/5.+log(x*x*x+y*y*y*y))
c) exp((1/5.)*(3*log(x)+4*log(y)))
d) exp((3/5)*log(x)+(4/5)*log(y)))

Subiect · pagina 11

2. (10p.) Se consideră reprezentarea numerelor naturale sub forma unui de şir de caractere ce reprezintă
cifrele zecimale ale numărului. Spre exemplu numărul 1016 se reprezintă prin şirul de 4 caractere ”1016”.
Se ştie că un număr poate avea cel mult 100 de cifre. Să se declare două variabile şir de caractere m si n care
reprezintă două numere naturale. Să se declare apoi o a treia variabilă s care reprezintă suma numerelor m si
n tot sub forma unui şir de caractere. Să se scrie o secvenţă de instrucţiuni C, în urma executării căreia se
citesc şirurile m şi n, variabila s memorează valoarea sunei numerelor m şi n, ca şir de caractere şi se
afişează valoarea variabilei s. De exemplu, dacă m are valoarea ”14503” şi n are valoarea ”797777”
atunci s va primi valoarea ”812280”, iar această valoare se va afişa.
3. (14p.) Trei numere naturale nenule x, y si z se numesc „Pitagoreice” dacă x2 + y2 = z2. Spre exemplu, x =
5, y = 12 şi z = 13 sunt numere „Pitagoreice”. Se cere afişarea tuturor tripletelor de numere „Pitagoreice”
(x,y,z) astfel încât x  y  z si 1  x,y,z  n unde n este un număr natural dat.
a) (10p.) Scrieţi algoritmul de rezolvare al problemei în pseudocod.
b) (4p.) Descrieţi rolul tuturor variabilelor din algoritm şi indicaţi datele de intrare şi pe cele de
ieşire.
III. SUBIECTUL al III-lea (30 puncte)
1. (5p.) Se consideră şirul A = (30, 3, 6, 1, 17, 25, 4, 53, 10). Notând cu B şirul rezultat prin ordonarea lui A
folosind metoda inserţiei, scrieţi succesiunea etapelor prin care trece şirul B, considerând că iniţial B este
egal cu şirul A, adică B = A.
2. (5p.) În secvenţa următoare, toate variabilele sunt întregi.
scanf(“%d”, &n);
...
while (...) {
...
}
if(...) {
printf(“Numarul %d nu contine un numar par de cifre
impare\n“, n);
}
Completaţi secvenţa anterioară, înlocuind punctele de suspensie, astfel încât în urma executării secvenţei, să
se afişeze mesajul respectiv. Spre exemplu, dacă se citeşte numărul n cu valoarea 275913 atunci mesajul nu
va fi afişat, dar dacă se citeşte numărul n cu valoarea 265913 atunci mesajul va fi afişat.
3. (10p.) Dându-se două mulţimi de numere întregi, A = {a1, …, an} şi B = {b1, …, bm}, să se verifice dacă
multimea A este inclusă strict in multimea B, adică dacă A  B. Să se scrie un program C care citeşte de la
terminalul standard de intrare numărul de elemente ale fiecăreia dintre cele două mulţimi, precum şi
elementele acestora, şi afisează ”DA” dacă mulţimea A este inclusă strict în B, altfel afişează ”NU”.
4. (10p.) Se consideră un text format din cel mult 200 de caractere reprezentând o mulţime de cuvinte (ce
conţin litere mici sau mari) ce pot fi separate prin spaţii ’ ’ şi caracterele de punctuaţie ’:’, ’,’, ’;’,
’.’. Să se scrie un program C/C++ care afişează cuvântul din text care conţine cea mai lungă secvenţă de
vocale consecutive. Dacă există mai multe cuvinte ce satisfac această condiţie atunci se va afişa doar primul
dintre acestea pentru care secvenţa de vocale consecutive este cea mai mare conform ordinii lexicografice
(alfabetice). Vocalele sunt caracterele ’a’, ’e’, ’i’, ’o’, ’u’. Spre exemplu dacă textul citit este:
”Programarea este frumoasa, dar destul de grea.” atunci programul va afişa cuvântul
”frumoasa” deoarece secvenţa de vocale consecutive ”oa” este mai mare conform ordinii lexicografice
decât ”ea”.
Deschide documentul original
Barem · 9 pagini

Barem · pagina 1

Universitatea din Craiova
Facultatea de Automatică, Calculatoare și Electronică
Departamentul de Calulatoare și Tehnologia Informației
Informatică
Barem de evaluare și de notare
Model 1
 Se punctează oricare alte modalități de rezolvare corectă a cerințelor.
 Nu se acordă punctaje intermediare, altele decât cele precizate explicit prin
barem.
 Nu se acordă fracțiuni de punct.
 Se acordă 10 puncte din oficiu. Nota finală se calculează prin împărțirea la 10 a
punctajului total acordat pentru lucrare.
SUBIECTUL I (30 puncte)
1. b) 4p.
2. a) 149 4p. Observație. Algoritmul însumează
numerele care sunt prefixe ale
inversului numărului citit, inclusiv
inversul acestuia.
b) 4321 6p.
c) Pentru algoritm pseudocod correct:
-echivalența prelucrării realizate (*)
-corectitudinea globală a algoritmului
(1)
6p.
5p.
1p.
(*) Se acordă numai 2p. dacă
algoritmul are o structură repetitivă
de tipul indicat, principial corectă,
dar nu este echivalent cu cel dat.
Se va puncta orice formă corectă de
structură repetitivă conform
cerinței.
d) Pentru program correct:
-declarare variabile
-citire date
-afisare date
-instrucțiune repetitivă corectă
-corectitudine globală a programului
(1)
10p.
2p.
1p.
1p.
4p.
2p.
SUBIECTUL al II-lea (30 puncte)
1. b) 4p. -1,0; 1,0: 0,-1; 0,1
2. c) 4p.
3. Pentru rezolvare corectă:
-determinarea corectă a numerelor
Fibonacci
-testul corectă de oprire
-afișarea corectă a mesajului
6p.
3p.
2p.
1p.
3. a) Pentru rezolvare corectă:
-citire date
10p.
1p.
(*) Se va puncta orice formă
corectă de structură repetitivă sau

Barem · pagina 2

-determinarea corectă a divizorilor
termenului liber
-evaluarea corectă a velorii funcției
polinomiale
-scriere corectă a structurilor de
control (*)
-afișare rezultat
4p.
2p.
2p.
1p.
decizională.
b) Pentru răspuns correct:
-menționarea rolului variabilelor
utilizate (*)
-date de intrare identificate corect
-date de ieșire identificate corect
6p.
3p.
2p.
1p.
(*) Se acordă numai 2p. dacă s-au
identificat doar o parte dintre
variabilele utilizate sau dacă nu
pentru toate variabilele este corect
menționat rolul acestora
SUBIECTUL al III-lea (30 puncte)
1. d) 4p. Observație: Programul realizează
permutări circulare la stânga
2. 16, 17, 18, 19, 20 6p.
3. Pentru program corect
-citirea secvenței de numere
-determinarea corectă a sufixului și a
prefixului secvenței (*)
-verificarea corectă a condiției
problemei
-afișare rezultat
-declarare a tuturor variabilelor,
corectitudinea globală a programului
(1)
10p.
1p.
4p.
2p.
1p.
1p.
(*) Prefixul reprezintă partea de
început a secvenței (posibil vidă)
care nu conține 2 simboluri
consecutive 99; sufixul reprezintă
partea de sfârșit a secvenței (posibil
vidă) care începe cu cel puțin 2
simboluri consecutive 99.
4. Pentru program corect
-citirea fișierului de intrare
-determinarea traiectoriei razei de
lumină
-verificarea coincidenței punctului de
destinație cu sfârșitul razei de lumină
-scrierea corectă a fișierului de ieșire
-declararea tuturor variabilelor,
corectitudinea globală a programului
(1)
10p.
2p.
3p.
2p.
2p.
1p.
(1) Corectitudinea globală vizează structura, sintaxa, alte aspecte neprecizate în barem.

Barem · pagina 3

Informatică
Barem de evaluare și de notare
Model 2
 Se punctează oricare alte modalități de rezolvare corectă a cerințelor.
 Nu se acordă punctaje intermediare, altele decât cele precizate explicit prin
barem.
 Nu se acordă fracțiuni de punct.
 Se acordă 10 puncte din oficiu. Nota finală se calculează prin împărțirea la 10 a
punctajului total acordat pentru lucrare.
SUBIECTUL I (30 puncte)
1. a) și c) 4p.
2. a) 4426125357 4p. Observație. Algoritmul
concatenează, de la sfârșit spre
început, în mod alternativ, cifrele
celor 2 numere, începând cu
primul.
b) (24,13); (4,123); (124,3) 6p.
c) Pentru algoritm pseudocod correct:
-echivalena prelucrării realizate (*)
-corectitudine globală a algoritmului
(1)
6p.
5p.
1p.
(*) Se acordă numai 2p. dacă
algoritmul are o structură repetitivă
de tipul indicat, principial corectă,
dar nu este echivalent cu cel dat.
Se va puncta orice formă corectă de
structură repetitivă conform
cerinței.
d) Pentru program correct:
-declarare variabile
-citire date
-afisare date
-instrucțiuni repetitive corecte
-instrucțiuni de decizie corecte
-corectitudine globală a programului
(1)
10p.
2p.
1p.
1p.
3p.
2p.
1p.
SUBIECTUL al II-lea (30 puncte)
1. a) și c) 4p.
2. b) 4p.
3. Pentru rezolvare corectă:
-citirea datelor de intrare
-determinarea tipului triunghiului
-afișarea corectă a rezultatului
-scriere corectă a structurilor de
control (*)
6p.
1p.
3p.
1p.
1p.
(*) Se va puncta orice formă
corectă de structură repetitivă.
4. a) Pentru rezolvare corectă:
-citirea datelor de intrare
-determinarea inversului numarului n
-determinarea multiplilor inversului
10p.
1p.
3p.
2p.
(*) Se va puncta orice formă
corectă de structură repetitivă sau
decizională.

Barem · pagina 4

numarului n
-determinarea primului și a ultimului
multiplu din interval
-afișarea rezultatelor
-scrierea corectă a structurilor de
control (*)
2p.
1p.
1p.
b) Pentru răspuns correct:
-menționarea rolului variabilelor
utilizate (*)
-date de intrare identificate corect
-date de ieșire identificate corect
6p.
2p.
1p.
1p.
(*) Se acordă numai 1p. dacă s-au
identificat doar o parte dintre
variabilele utilizate sau dacă nu
pentru toate variabilele este corect
menționat rolul acestora
SUBIECTUL al III-lea (30 puncte)
1. a) 4p. Observație. Algoritmul determină
cifrele pare ale numărului
2. 5, 6, 7, 8 6p.
3. Pentru program corect
-citire datelor de intrare
-determinarea primelor n valori ale
șirului lui Fibonacci
-determinarea tipului tabloului
-afisarea rezultatului
-declararea tuturor variabilelor,
corectitudinea globală a programului
(1)
10p.
1p.
3p.
4p.
1p.
1p.
4. Pentru program corect
-citirea fișierului de intrare
-determinarea, pentru fiecare secvență
de numere a condiției din problemă
(dacă secvența de numere formează o
partiție a primului număr)(*)
-scrierea corectă a fisierului de ieșire
-declararea tuturor variabilelor,
corectitudinea globală a programului
(1)
10p.
1p.
7p.
1p.
1p.
(*) Se vor acorda 5p. pentru
determinarea permutării corecte și
2p. pentru concatenarea numerelor
(1) Corectitudinea globală vizează structura, sintaxa, alte aspecte neprecizate în barem.

Barem · pagina 5

Universitatea din Craiova
Facultatea de Automatică, Calculatoare și Electronică
Departamentul de Calulatoare și Tehnologia Informației
Informatică
Barem de evaluare și de notare
Model 3
 Se punctează oricare alte modalități de rezolvare corectă a cerințelor.
 Nu se acordă punctaje intermediare, altele decât cele precizate explicit prin
barem.
 Nu se acordă fracțiuni de punct.
 Se acordă 10 puncte din oficiu. Nota finală se calculează prin împărțirea la 10 a
punctajului total acordat pentru lucrare.
SUBIECTUL I (30 puncte)
1. a) b) d) 4p
2. a) 356997 6p Observație. Algoritmul
afișează prima cifră de la
dreapta la stânga a fiecărui
număr citit, care este mai
mare sau egală cu cifra
precedentă. Cifra de pondere
maximă se consideră
precedată de cifra 0. Procesul
se repetă până cand ultimul
număr y procesat a fost 7.
b) 2, 0, 1, 7 4p Observatie. Orice alt set de
date de intrare se considera
valid, daca genereaza iesirea
2017
c) Pentru algoritm pseudocod corect:
-echivalența prelucrării realizate (*)
-corectitudine globală a algoritmului (1)
6p
5p
1p
(*) Se acordă numai 2p dacă
algoritmul are o structură
repetitivă de tipul indicat,
principial corectă, dar nu este
echivalent cu cel dat. Se va
puncta orice formă corectă de
structură repetitivă conform
cerinței.
d) Pentru program corect:
-declarare variabile
-citire date
-afișare date
-instrucțiuni de decizie corecte (*)
-instrucțiuni repetitive corectă
-corectitudine globală a programului (1)
10p
1p
1p
1p
4p
2p
1p
(*) Se acordă numai 2p dacă
doar una dintre instrucțiuni
este corectă.

Barem · pagina 6

SUBIECTUL al II-lea (30 puncte)
1. a) b) 6p
2. Pentru rezolvare corectă:
-declarare variabile
-instrucțiuni de decizie corecte (*)
-corectitudinea globală a algoritmului
10p
1p
6p
3p
(*) Se scade câte 1p pentru
pierderea tratării a câte unui
caz posibil.
3. a) Pentru rezolvare corectă:
-citire date
-parcurgere șir de cifre binare
-determinare cifre binare pentru
complement
-conversie șir binar în număr întreg
-afișare rezultat
10p
1p
2p
4p
2p
1p
b) Pentru răspuns corect:
-menționarea rolului variabilelor utilizate
(*)
-date de intrare identificate corect
-date de ieșire identificate corect
4p
2p
1p
1p
(*) Se acordă numai 1p dacă
se omite explicarea unor
variabile.
SUBIECTUL al III-lea (30 puncte)
1. 30, 3, 6, 1, 17, 25, 4, 53, 10
1, 3, 6, 30, 17, 25, 4, 53, 10
1, 3, 6, 30, 17, 25, 4, 53, 10
1, 3, 4, 30, 17, 25, 6, 53, 10
1, 3, 4, 6 17, 25, 30, 53, 10
1, 3, 4, 6, 10, 25, 30, 53, 17
1, 3, 4, 6, 10, 17, 30, 53, 25
1, 3, 4, 6, 10, 17, 25, 53, 30
1, 3, 4, 6, 10, 17, 25, 30, 53
5p
2. Pentru răspuns corect:
-inițializarea dinaintea buclei while
-determinarea cifrelor lui n
-realizarea testului
5p
1p
2p
2p
3. Pentru program corect:
-citire date de intrare
-determinarea reuniunii (*)
-afișare rezultat
-declararea tuturor variabilelor
10p
2p
5p
1p
2p
(*) Se scad câte 2p pentru
fiecare eroare de logică:
adăugare de elemente
duplicate la reuniune,
neadăugarea unor elemente la
reuniune
4. Pentru program corect:
-citire datelor de intrare
-izolarea fiecărui cuvânt
-determinarea lungimii unei secvențe de
vocale dintr-un cuvânt
-determinarea cuvântului cu cea mai
lungă secvență de vocale
-afișarea rezultatului
10p
1p
3p
2p
3p
1p

Barem · pagina 7

Universitatea din Craiova
Facultatea de Automatică, Calculatoare și Electronică
Departamentul de Calulatoare și Tehnologia Informației
Informatică
Barem de evaluare și de notare
Model 4
 Se punctează oricare alte modalități de rezolvare corectă a cerințelor.
 Nu se acordă punctaje intermediare, altele decât cele precizate explicit prin
barem.
 Nu se acordă fracțiuni de punct.
 Se acordă 10 puncte din oficiu. Nota finală se calculează prin împărțirea la 10 a
punctajului total acordat pentru lucrare.
SUBIECTUL I (30 puncte)
1. a) d) 4p
2. a) 2559977 6p Observație. Algoritmul
parcurge numărul m de la
dreapta la stânga. Numărul n
este egal cu valoarea
numărului citit invers, până la
poziția curentă (inclusiv cifra
curentă). x este egal cu restul
numărului m. Se determină
ultima cifră adaugată la
numarul m, care are
proprietatea că m≥x.
Procesul se repetă până când
ultimul număr y procesat a
fost 7.
b) 2, 0, 1, 7 4p Observatie. Orice alt set de
date de intrare se considera
valid, daca genereaza iesirea
2017
c) Pentru algoritm pseudocod corect:
-echivalența prelucrării realizate (*)
-corectitudine globală a algoritmului (1)
6p
5p
1p
(*) Se acordă numai 2p dacă
algoritmul are o structură
repetitivă de tipul indicat,
principial corectă, dar nu este
echivalent cu cel dat. Se va
puncta orice formă corectă de
structură repetitivă conform
cerinței.
d) Pentru program corect:
-declarare variabile
-citire date
10p
1p
1p
(*) Se acordă numai 2p dacă
doar una dintre instrucțiuni
este corectă.

Barem · pagina 8

-afișare date
-instrucțiuni de decizie corecte (*)
-instrucțiuni repetitive corectă
-corectitudine globală a programului (1)
1p
4p
2p
1p
SUBIECTUL al II-lea (30 puncte)
1. a) c) 6p
2. Pentru rezolvare corectă:
-citire date
-parcurgere șiruri de cifre zecimale
-realizarea corectă a adunării
-conversie șir rezultat în număr întreg
-afișare rezultat
10p
1p
2p
4p
2p
1p
3. a) Pentru rezolvare corectă:
- conditiile de determinare a unui triplet
Pitagoreic
- bucla de generare a tripletelor
- corectitudinea generala a algoritmului
10p
4p
4p
2p
b) Pentru răspuns corect:
-menționarea rolului variabilelor utilizate
(*)
-date de intrare identificate corect
-date de ieșire identificate corect
4p
2p
1p
1p
(*) Se acordă numai 1p dacă
se omite explicarea unor
variabile.
SUBIECTUL al III-lea (30 puncte)
1. 30, 3, 6, 1, 17, 25, 4, 53, 10
3, 30, 6, 1, 17, 25, 4, 53, 10
3, 6, 30, 1, 17, 25, 4, 53, 10
1, 3, 6, 30, 17, 25, 4, 53, 10
1, 3, 6, 17, 30, 25, 4, 53, 10
1, 3, 6, 17, 25, 30, 4, 53, 10
1, 3, 4, 6, 17, 25, 30, 53, 10
1, 3, 4, 6, 17, 25, 30, 53, 10
1, 3, 4, 6, 10, 17, 25, 30, 53 (*)
5p (*) Se scade 1p pentru
omiterea pasului care nu
modifica vectorul
2. Pentru răspuns corect:
-inițializarea dinaintea buclei while
-determinarea cifrelor lui n
-realizarea testului buclei while
-realizarea testului instrucțiunii if
5p
1p
2p
1p
1p
3. Pentru program corect:
-citire date de intrare
-realizarea testului de incluziune
-afișare rezultat
-declararea tuturor variabilelor
10p
2p
5p
1p
2p
4. Pentru program corect:
-citirea datelor de intrare
-izolarea fiecărui cuvânt
-determinarea lungimii unei secvențe de
vocale dintr-un cuvânt
10p
1p
3p
2p

Barem · pagina 9

-compararea a două secvențe de vocale
-determinarea cuvântului cu cea mai
lungă secvență de vocale
-afișarea rezultatului
1p
2p
1p
Deschide documentul original

Răspunsuri directe

Ce trebuie să știi despre acest subiect?

Ce document de admitere este acesta?

Pagina prezintă model de pregătire din 2016 pentru Informatică, la Facultatea de Automatică, Calculatoare și Electronică. 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?

Da. Pagina include baremul sau răspunsurile publice asociate acestui subiect, afișate separat ori în același document atunci când sursa le publică împreună. Verifică fiecare rezolvare după ce ai terminat varianta și urmărește exact criteriile de punctare indicate de instituție.

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.