Bacalaureat 2016
Sesiunea august
Mi 3h
Informatică 2016
Informatică – Mi – Bacalaureat 2016, sesiunea august (varianta 09)
Textul subiectului
Ministerul Educaţiei Naționale și Cercetării Științifice
Centrul Naţional de Evaluare şi Examinare
Examenul de bacalaureat național 2016
Proba E. d)
Informatică
Limbajul C/C++
Varianta 9
Filiera teoretică, profilul real, specializările: matematică-informatică
matematică-informatică intensiv informatică
Filiera vocaţională, profilul militar, specializarea matematică-informatică
• Toate subiectele sunt obligatorii. Se acordă 10 puncte din oficiu.
• Timpul de lucru efectiv este de 3 ore.
• În rezolvările cerute, identificatorii utilizaţi trebuie să respecte precizările din
enunţ (bold), iar în lipsa unor precizări explicite, notaţiile trebuie să corespundă cu
semnificaţiile asociate acestora (eventual în formă prescurtată).
• În programele cerute, datele de intrare se consideră corecte, validarea acestora
nefiind necesară.
SUBIECTUL I (30 de puncte)
Pentru itemul 1, scrieţi pe foaia de examen litera corespunzătoare răspunsului corect.
1. Variabilele x şi y sunt de tip real. Expresia C/C++ alăturată este !(x>0 && y>0)
echivalentă cu expresia: (4p.)
a. x<=0 || y<=0 b. x<=0 && y<=0
c. x>0 || y>0 d. !(x>0) && !(y>0)
2. Se consideră algoritmul alăturat, citeşte n
reprezentat în pseudocod. (număr natural nenul)
S-a notat cu a%b restul împărţirii numărului p 0
natural a la numărul natural nenul b şi cu ┌pentru i 1,n execută
[c] partea întreagă a numărului real c. │ m i
│┌cât timp m%2=0 execută
a) Scrieţi valoarea afişată în urma ││ m [m/2]
executării algoritmului dacă se citeşte │└■
numărul 12. (6p.) │┌dacă m=1 atunci
b) Scrieţi cel mai mic şi cel mai mare ││ p i
număr care pot fi citite, astfel încât, │└■
pentru fiecare dintre acestea, valoarea └■
afişată să fie 16. (4p.) scrie p
c) Scrieţi în pseudocod un algoritm echivalent cu cel dat, înlocuind structura
pentru...execută cu o structură repetitivă cu test final. (6p.)
d) Scrieţi programul C/C++ corespunzător algoritmului dat. (10p.)
Probă scrisă la informatică Varianta 9
Limbajul C/C++
Filiera teoretică, profilul real, specializările: matematică-informatică, matematică-informatică intensiv informatică
Filiera vocaţională, profilul militar, specializarea matematică-informatică
1
Ministerul Educaţiei Naționale și Cercetării Științifice
Centrul Naţional de Evaluare şi Examinare
SUBIECTUL al II-lea (30 de puncte)
Pentru fiecare dintre itemii 1 şi 2 scrieţi pe foaia de examen litera corespunzătoare
răspunsului corect.
1. În declararea alăturată, câmpurile x şi y ale înregistrării struct fractie {
reprezintă numărătorul, respectiv numitorul unei fracţii. Indicaţi o int x,y;
expresie C/C++ care are valoarea 1 dacă şi numai dacă fracţia } f;
memorată în variabila f are valoarea 1. (4p.)
a. (int x).f==(int y).f b. x.f.fractie==y.f.fractie
c. f.x==f.y d. x.y==y.x
2. Matricea de adiacenţă a unui graf neorientat cu 7 noduri are 10 elemente nenule. Numărul
maxim de componente conexe ale grafului este: (4p.)
a. 2 b. 3 c. 4 d. 5
Scrieţi pe foaia de examen răspunsul pentru fiecare dintre cerinţele următoare.
3. În secvenţa de instrucțiuni de mai jos variabilele s1 și s2 memorează câte un şir cu cel
mult 20 de caractere. Scrieţi ce se afişează pe ecran în urma executării secvenţei.
strcpy(s1,”bacalaureat”);
cout<<strlen(s1); | printf(”%d”,strlen(s1));
strcpy(s2,s1+5); s2[3]=’\0’;
cout<<s2; | printf(”%s”,s2); (6p.)
4. Într-un graf orientat cu 7 vârfuri, numerotate de la 1 la 7, pentru oricare două vârfuri ale
sale i și j există arcul (i,j) fie dacă j este divizor al lui i (i≠ ≠j), fie dacă i și j au
aceeași paritate, iar i<j. Enumerați vârfurile pentru care gradul interior este mai mare sau
egal cu cel exterior. (6p.)
5. Scrieţi un program C/C++ care citeşte de la tastatură numere naturale din intervalul
[3,102], în această ordine: n şi m, apoi elementele unui tablou bidimensional cu n linii şi m
coloane, iar la final un număr x.
Programul afişează pe ecran mesajul DA, dacă există cel puțin un 12 5 12 11 4
element egal cu x aflat pe conturul tabloului (format din prima linie,
3 20 10 20 12
ultima linie, prima coloană și ultima coloană), sau mesajul NU în caz
contrar. 4 5 30 12 6
Exemplu: pentru n=4, m=5, tabloul alăturat şi x=12, se afişează pe
8 13 7 12 14
ecran mesajul DA. (10p.)
Probă scrisă la informatică Varianta 9
Limbajul C/C++
Filiera teoretică, profilul real, specializările: matematică-informatică, matematică-informatică intensiv informatică
Filiera vocaţională, profilul militar, specializarea matematică-informatică
2
Ministerul Educaţiei Naționale și Cercetării Științifice
Centrul Naţional de Evaluare şi Examinare
SUBIECTUL al III-lea (30 de puncte)
Pentru itemul 1, scrieţi pe foaia de examen litera corespunzătoare răspunsului corect.
1. Subprogramele f1 şi f2 sunt definite mai jos.
int f1(int n) int f2(int n)
{ if(n==0) return 1; { if(n!=1) return n*f2(n-1);
else return n*f1(n-1); else return 0;
} }
La apel, pentru parametrul n=5, returnează valoarea 120: (4p.)
a. atât f1, cât şi f2 b. numai f1 c. numai f2 d. nici f1, nici f2
Scrieţi pe foaia de examen răspunsul pentru fiecare dintre cerinţele următoare.
2. Utilizând metoda bactracking se generează în ordine lexicografică toate şirurile de 5 litere
distincte din mulţimea {C, A, R, T, E}, astfel încât în fiecare şir litera T precede litera A.
Primele trei soluţii generate sunt, în această ordine: CERTA, CETAR, CETRA. Scrieţi cea de
a patra şi cea de a cincea soluţie, în ordinea generării acestora. (6p.)
3. Subprogramul duplicare are doi parametri:
• n, prin care primeşte un număr natural (n∈ ∈[1,104]);
• d, prin care furnizează numărul obţinut prin duplicarea fiecărei cifre pare a lui n sau -1
dacă acesta nu are nicio cifră pară.
Scrieţi definiţia completă a subprogramului.
Exemplu: dacă n=2380, după apel d=2238800. (10p.)
4. Fişierul bac.txt conţine un şir de cel mult 106 numere naturale distincte din intervalul
[0,109]. Numerele din şir sunt separate prin câte un spaţiu.
Se cere să se determine cei mai mari doi termeni pari din şir care sunt precedaţi de doar
trei termeni impari. Termenii determinați se afișează pe ecran, în ordine strict crescătoare,
separați printr-un spațiu, iar dacă în şir nu există doi astfel de termeni, se afişează pe
ecran mesajul Nu exista.
Pentru determinarea termenilor ceruţi se utilizează un algoritm eficient din punctul de
vedere al spațiului de memorie şi al timpului de executare.
Exemplu: dacă fişierul conţine numerele
4 3 5 312 27 30 14 212 11 15 17 400
se afişează pe ecran numerele
30 212
(4 este precedat de 0 numere impare, 312 este precedat de 2 numere impare, 30, 14 și
212 sunt precedate de 3 numere impare, iar 400 este precedat de 6 numere impare;
dintre numerele 30, 14 și 212 cele mai mari sunt 30 și 212).
a) Descrieţi în limbaj natural algoritmul utilizat, justificând eficienţa acestuia. (4p.)
b) Scrieţi programul C/C++ corespunzător algoritmului descris. (6p.)
Probă scrisă la informatică Varianta 9
Limbajul C/C++
Filiera teoretică, profilul real, specializările: matematică-informatică, matematică-informatică intensiv informatică
Filiera vocaţională, profilul militar, specializarea matematică-informatică
3
Alte subiecte la Informatică – Mi
2026 · Sesiunea iunie–iulie
Informatică
Mi
Subiect
· Barem · Var. 03
2026 · Sesiunea iunie–iulie (rezervă)
Informatică
Mi
Subiect
· Barem · Var. 05
2026 · Sesiunea august
Informatică
Mi
Subiect
· Barem · Var. 01
2026 · Sesiunea specială
Informatică
Mi
Subiect
· Barem · Var. 04
2026 · Simulare
Informatică
Mi
Subiect
· Barem
2026 · Simulare (a doua)
Informatică
Mi
Subiect
· Barem · Var. 04
2026 · Model de subiect
Informatică
Mi
Subiect
· Barem
2025 · Sesiunea iunie–iulie
Informatică
Mi
Subiect
· Barem · Var. 01
2025 · Sesiunea iunie–iulie (rezervă)
Informatică
Mi
Subiect
· Barem · Var. 07
2025 · Sesiunea specială
Informatică
Mi
Subiect
· Barem · Var. 06
2025 · Simulare
Informatică
Mi
Subiect
· Barem
2025 · Model de subiect
Informatică
Mi
Subiect
· Barem