Bacalaureat 2017
Sesiunea iunie–iulie
Sn 3h
Informatică 2017
Informatică – Sn – 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, specializarea științe ale naturii
• 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, specializarea ştiinţe ale naturii
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. O expresie C/C++ care are valoarea 1 este: (4p.)
a. ceil(6.15)<ceil(5.61) b. ceil(6.15)>floor(5.61)
c. floor(6.15)<ceil(5.61) d. floor(6.15)<floor(5.61)
2. Se consideră secvenţa de mai jos, în care toate variabilele sunt de tip întreg.
i=2;
while(.....)
{ if(x%i==0) cout<<i<<’ ’; | printf(”%d ”,i);
i=i+1;
}
Pentru a afişa în ordine crescătoare toţi divizorii pozitivi ai numărului natural nenul memorat
în variabila x, cu excepţia lui 1 şi a numărului respectiv, o expresie care poate înlocui
punctele de suspensie este: (4p.)
a. i>0 b. i>=2
c. i<=x/2 d. i<=x
Scrieţi pe foaia de examen răspunsul pentru fiecare dintre cerinţele următoare.
3. Variabilele întregi media1 şi media2 memorează mediile semestriale obținute de un elev
la informatică, iar variabila initiala memorează prima literă a numelui elevului. Declarați
variabila initiala și scrieţi o secvență de instrucțiuni 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.
Exemplu: dacă elevul are numele Popescu, iar cele două medii sunt 9, respectiv 10, se
afișează pe ecran
P
9.5 (6p.)
4. Se citeşte un număr natural nenul, n, şi se cere să se scrie numărul obţinut din n, prin
inserarea, după fiecare cifră pară din scrierea lui, a unei cifre egale cu jumătate din
aceasta.
Exemplu: dacă se citește 2380 se obţine 2138400, iar dacă se citește 35 se obţine 35.
a) Scrieţi, în pseudocod, un algoritm de rezolvare pentru problema enunţată. (10p.)
b) 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. (6p.)
Probă scrisă la informatică Varianta 4
Limbajul C/C++
Filiera teoretică, profilul real, specializarea ştiinţe ale naturii
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. În secvenţa de instrucţiuni de mai jos toate variabilele sunt de tip întreg.
for(i=0;i<5;i++) 1 1 1 1 1
{ for(j=0;j<5;j++) 1 2 2 2 1
if(...........) 1 2 2 2 1
cout<<″1 ″; | printf(″1 ″); 1 2 2 2 1
else 1 1 1 1 1
cout<<″2 ″; | printf(″2 ″);
cout<<endl; | printf(″\n″);
}
Indicaţi o expresie care poate înlocui punctele de suspensie astfel încât, în urma executării
secvenţei obţinute, să se afişeze pe ecran valorile din figura de mai sus, în această ordine.
(4p.)
a. (4-i)%4==0 || (4-j)%4==0 b. (4-i)%4==0 && (4-j)%4==0
c. (4-i)%4!=0 || (4-j)%4!=0 d. (4-i)%4!=0 && (4-j)%4!=0
Scrieţi pe foaia de examen răspunsul pentru fiecare dintre cerinţele următoare.
2. Se consideră două tablouri unidimensionale A și B: A=(1,7,9) și B=(5,7,8,12).
Scrieţi elementele unui tablou obținut prin interclasarea tablourilor A și B, în ordinea în care
ele apar în acesta. (6p.)
3. Scrieţi un program C/C++ care citeşte de la tastatură un număr natural n (n∈ ∈[2,50]) şi
cele n elemente ale unui tablou unidimensional, numere naturale din intervalul [0,104].
Cel puțin două elemente ale tabloului sunt nenule. Programul modifică în memorie tabloul
prin ordonarea descrescătoare a elementelor nenule ale acestuia, celelalte elemente
păstrându-şi poziția iniţială, apoi afișează pe ecran elementele tabloului obținut, separate
prin câte un spațiu.
Exemplu: dacă n=9, iar tabloul citit este (5, 0, 0, 9, 3, 4, 0, 7, 3), atunci se obține tabloul
(9, 0, 0, 7, 5, 4, 0, 3, 3). (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).
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 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 14 121 20 4
se afişează pe ecran numărul 3.
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, specializarea ştiinţe ale naturii
3
Alte subiecte la Informatică – Sn
2026 · Sesiunea iunie–iulie
Informatică
Sn
Subiect
· Barem · Var. 03
2026 · Sesiunea august
Informatică
Sn
Subiect
· Barem · Var. 01
2026 · Sesiunea specială
Informatică
Sn
Subiect
· Barem · Var. 04
2026 · Simulare
Informatică
Sn
Subiect
· Barem
2026 · Simulare (a doua)
Informatică
Sn
Subiect
· Barem · Var. 04
2026 · Model de subiect
Informatică
Sn
Subiect
· Barem
2025 · Sesiunea iunie–iulie
Informatică
Sn
Subiect
· Barem · Var. 01
2025 · Simulare
Informatică
Sn
Subiect
· Barem
2025 · Model de subiect
Informatică
Sn
Subiect
· Barem
2024 · Sesiunea iunie–iulie
Informatică
Sn
Subiect
· Barem · Var. 03
2024 · Sesiunea specială
Informatică
Sn
Subiect
· Barem · Var. 04
2024 · Simulare
Informatică
Sn
Subiect
· Barem