Bacalaureat 2017
Sesiunea iunie–iulie
Mi 3h
Informatică 2017
Informatică – Mi – Bacalaureat 2017, sesiunea iunie–iulie (varianta 04)
Textul subiectului
Ministerul Educaţiei Naționale
Centrul Naţional de Evaluare şi Examinare
Examenul de bacalaureat naţional 2017
Proba E. d)
Informatică
Limbajul C/C++
Varianta 4
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. Indicaţi o expresie C/C++ care are valoarea 1 dacă şi numai dacă numărul natural memorat
în variabila întreagă x are exact o cifră. (4p.)
a. x%10==x b. x/10==x c. x%10==x/10 d. (x%10)/10==x
2. Se consideră algoritmul alăturat, citeşte n
reprezentat în pseudocod. (număr natural nenul)
a) Scrieţi ce se afișează dacă se citește ┌pentru i 1,n execută
numărul 3. (6p.) │┌pentru j 1,n execută
││┌dacă i=j sau i+j=n+1 atunci
b) Scrieți un număr care poate fi citit, astfel │││ scrie ’#’
încât, în urma executării algoritmului │││altfel
numărul de simboluri # afișate să fie 100. │││ scrie j
(4p.) ││└■
│└■
└■
c) Scrieţi în pseudocod un algoritm echivalent cu cel dat, înlocuind adecvat prima structură
pentru...execută cu o structură repetitivă cu test inițial. (6p.)
d) Scrieţi programul C/C++ corespunzător algoritmului dat. (10p.)
Probă scrisă la informatică Varianta 4
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
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. Indicați șirul afișat pe ecran în urma executării instrucțiunii următoare:
cout<<strstr(”veni,vidi,vici”,”vi”); |
printf(”%s”,strstr(”veni,vidi,vici”,”vi”));
(4p.)
a. vidi b. vidi,vici c. 2 d. 6
2. Se consideră un graf neorientat cu 7 noduri şi 21 de muchii. Indicaţi numărul minim de
muchii care pot fi eliminate, astfel încât graful parţial obţinut să aibă două componente
conexe, cu cel puţin două noduri fiecare. (4p.)
a. 6 b. 8 c. 10 d. 12
Scrieţi pe foaia de examen răspunsul pentru fiecare dintre cerinţele următoare.
3. În declararea alăturată, variabila x struct elev
memorează numele unui elev şi cele două { char nume[30];
medii semestriale obținute de acesta la int media1, media2;
informatică. Scrieţi o secvență de instrucțiuni } x;
C/C++ în urma executării căreia să se afişeze
pe ecran prima literă a numelui și, pe linia
următoare, media anuală la informatică a
acestui elev. (6p.)
Exemplu: dacă elevul are numele Popescu, iar cele două medii sunt sunt 9, respectiv 10,
se afișează pe ecran
P
9.5
4. Într-un graf orientat două circuite sunt distincte dacă ele diferă prin cel puţin un arc.
Scrieți matricea de adiacență a unui graf orientat cu 5 vârfuri şi 6 arce, care are două
circuite elementare distincte. (6p.)
5. Scrieţi un program C/C++ care citeşte de la tastatură două numere naturale din intervalul
[3,50], n şi m, și elementele unui tablou bidimensional cu n linii şi m coloane, numere
naturale din intervalul [0,104].
Programul modifică în memorie tabloul dat, atribuind valoarea elementului aflat pe ultima
linie și pe ultima coloană a tabloului fiecărui element aflat pe conturul acestuia (pe prima
linie, ultima linie, prima coloană, ultima coloană), apoi afişează pe ecran tabloul modificat,
câte o linie a tabloului pe câte o linie a ecranului, elementele fiecărei linii fiind separate prin
câte un spaţiu.
Exemplu: dacă n=5, m=4 și tabloul este
0 5 2 11 atunci se obţine tabloul următor: 5 5 5 5
3 2 10 2 5 2 10 5
7 3 1 4 5 3 1 5
4 5 0 12 5 5 0 5
8 13 7 5 5 5 5 5 (10p.)
Probă scrisă la informatică Varianta 4
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
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. Utilizând metoda backtracking se generează, în ordine strict crescătoare, toate numerele
de trei cifre din mulţimea {1, 2, 5, 7, 8}, numere cu proprietatea că au cel mult două cifre
impare. Primele şapte numere generate sunt, în această ordine: 112, 118, 121, 122, 125,
127, 128. Al optulea număr generat este: (4p.)
a. 151 b. 152 c. 157 d. 158
Scrieţi pe foaia de examen răspunsul pentru fiecare dintre cerinţele următoare.
2. Subprogramul f este definit alăturat. Scrieţi int f(int x,int y)
valorile f(3,9) şi f(1,1000). (6p.) { if(x*5>y/5)
return x;
return f(x*5,y/5);
}
3. Subprogramul duplicare are un singur parametru, n, prin care primește un număr
natural (n∈∈[1,104)). Subprogramul furnizează, prin același parametru, numărul obţinut
din n prin inserarea, după fiecare cifră pară din scrierea lui, a unei cifre egale cu jumătate
din aceasta.
Scrieți definiția completă a subprogramului.
Exemplu: dacă n=2380 după apel, n=2138400, iar dacă n=35 după apel, n=35. (10p.)
4. Numim secvență pară într-un șir o succesiune de termeni ai șirului cu proprietatea că sunt
numere pare și că se află pe poziții consecutive în șir; orice secvență are cel puțin doi
termeni și este maximală în raport cu proprietatea precizată (dacă i se adaugă un alt
termen, secvența își pierde această proprietate). Lungimea secvenței este egală cu
numărul termenilor săi.
Fişierul bac.txt conţine un şir de cel mult 106 numere naturale din intervalul [0,109].
Numerele din şir sunt separate prin câte un spaţiu.
Se cere să se afişeze pe ecran numărul de secvențe pare de lungime maximă din șir.
Proiectați un algoritm eficient din punctul de vedere al spațiului de memorie utilizat şi al
timpului de executare.
Exemplu: dacă fişierul bac.txt conţine valorile
1 2 3 4 6 10 2 8 5 7 9 4 6 10 121 20 4 11 10 2 5 2 6 8 10 16
se afişează pe ecran numărul 2.
a) Descrieţi în limbaj natural algoritmul proiectat, justificând eficienţa acestuia. (2p.)
b) Scrieţi programul C/C++ corespunzător algoritmului descris. (8p.)
Probă scrisă la informatică Varianta 4
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