Bacalaureat 2017
Simulare
Sn 3h
Informatică 2017
Informatică – Sn – Bacalaureat 2017, simulare
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++
Simulare
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. Expresia C/C++ alăturată are valoarea: (4p.) 17/3/2%17
a. 0 b. 2 c. 10 d. 17
2. Se consideră algoritmul alăturat, citeşte n,a,b
reprezentat în pseudocod. (numere naturale nenule, a≤n, b≤n)
S-a notat cu a%b restul împărţirii numărului ←0
ok←
natural a la numărul natural nenul b. ←1
x←
a) Scrieţi ce se afişează dacă se citesc, în ┌cât timp x≤n execută
această ordine, numerele 15, 3 şi 4. (6p.) │┌dacă x%a=0 şi x%b≠0 sau
││ x%a≠0 şi x%b=0 atunci
b) Scrieţi două seturi distincte de date de ││ scrie x,’ ’
intrare astfel încât, în urma executării ←1
││ ok←
algoritmului, pentru fiecare dintre acestea │└■
să se afişeze valoarea 0. (4p.) ←x+1
│ x←
c) Scrieţi în pseudocod un algoritm echivalent └■
cu cel dat, înlocuind adecvat structura ┌dacă ok=0 atunci
cât timp...execută cu o structură │ scrie 0
└■
repetitivă de tip pentru...execută. (6p.)
d) Scrieţi programul C/C++ corespunzător algoritmului dat. (10p.)
Probă scrisă la informatică Simulare
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. Variabilele x şi y sunt de tip real și memorează valori pozitive. O
x2 + y / 2
transcriere în limbajul C/C++ a expresiei alăturate poate fi: (4p.)
a. pow(sqrt(x,2)+y/2,1/2) b. pow(sqrt(x)+y/2,2)
c. sqrt(pow(x,2)+y/2,1/2) d. sqrt(pow(x,2)+y/2)
2. Variabilele x şi y sunt de tip întreg şi memorează numere y=0;
naturale, iar x are o valoare nenulă. Indicați expresia care while(x>=2017)
poate înlocui punctele de suspensie astfel încât, la finalul { y=y+1;
executării secvenţei obţinute, variabila y să memoreze x=........
câtul împărţirii la 2017 a numărului memorat inițial în }
variabila x. (4p.)
a. x-2017 b. x+2017 c. x+1 d. x-1
Scrieţi pe foaia de examen răspunsul pentru fiecare dintre cerinţele următoare.
3. Variabila întreagă an memorează anul fabricației unei mașini, iar variabila carburant, de
tip char, memorează o literă, în funcție de tipul de carburant folosit în prezent: litera B
pentru benzină, litera M pentru motorină sau litera G pentru gaz petrolier lichefiat.
Scrieţi o secvență de instrucțiuni C/C++ în urma executării căreia se afișează pe ecran anul
fabricației mașinii, urmat, pe linia următoare, de mesajul rezervor clasic, dacă mașina
folosește carburant de tip benzină sau motorină, sau de mesajul adaptor GPL dacă
mașina folosește carburant de tip gaz petrolier lichefiat. (6p.)
4. Se citeşte un număr natural, n (n≥10), și se cere să se scrie numărul de cifre ale lui n care
sunt egale cu pozițiile pe care le ocupă în scrierea acestuia. Pozițiile sunt numerotate de la
dreapta la stânga, iar cifra unităților ocupă poziția 0.
Exemplu: dacă n=6594270, se scrie 4.
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ă Simulare
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. Pentru a verifica dacă într-un tablou unidimensional există elementul cu valoarea x=2017,
se aplică metoda căutării binare, iar succesiunea de elemente ale tabloului a căror valoare
se compară cu valoarea lui x pe parcursul aplicării metodei indicate este: 3, 17, 2017.
Elementele tabloului pot fi (în ordinea în care apar în tablou): (4p.)
a. (-2016,-17,2,3,17,20,2017) b. (-2016,-10,2,3,16,17,2017)
c. (-2016,-17,20,3,2017,17,21) d. (-2016,-16,-10,2,3,17,2017)
Scrieţi pe foaia de examen răspunsul pentru fiecare dintre cerinţele următoare.
2. În secvenţa alăturată toate variabilele sunt de tip p=............;
întreg. Scrieţi secvența, înlocuind punctele de for(i=1;i<=10;i++)
suspensie astfel încât, în urma executării { cin>>x; | scanf(”%d”,&x);
secvenţei obţinute, valoarea variabilei p să fie ...........;
egală cu produsul valorilor nenule citite. (6p.) }
3. Scrieţi un program C/C++ care citește de la tastatură un număr natural n (n∈ ∈[2,30]), și
construiește în memorie un tablou unidimensional cu 2·n elemente, numerotate de la 0 la
2·n-1, astfel încât:
• elementul de pe poziția 0 are valoarea 1;
• elementele de pe poziții impare sunt numere naturale din intervalul [0,109], citite de la
tastatură;
• oricare alt element aflat pe o poziție pară este obţinut prin însumarea celor două
elemente vecine cu el, unul aflat pe poziția din dreapta, iar celălalt pe poziția din stânga,
ca în exemplu.
Elementele tabloului obținut se afișează pe ecran, separate prin câte un spațiu.
Exemplu: dacă n=4, iar celelalte numere citite de la tastatură sunt 2, 7, 3, 3, se obține
tabloul: (1,2,9,7,10,3,6,3) (10p.)
4. Fișierul bac.in conține pe prima linie două numere naturale din intervalul [2,104], m și
n, iar pe fiecare dintre următoarele două linii câte un șir de m, respectiv n numere naturale
din intervalul [0,109], ordonate crescător. Numerele aflate pe aceeași linie a fișierului
sunt separate prin câte un spațiu.
Se cere să se afișeze pe ecran, în ordine descrescătoare, toate numerele pare aflate în
cele două șiruri. Numerele afișate sunt separate prin câte un spațiu, iar dacă nu există
niciun astfel de număr, se afișează pe ecran mesajul nu exista.
Pentru determinarea numerelor cerute se va utiliza un algoritm eficient din punctul de
vedere al timpului de executare.
Exemplu: dacă fișierul conține numerele
5 6
1 4 8 9 10
2 4 10 10 15 18
se afișează pe ecran
18 10 10 10 8 4 4 2
a) Descrieți în limbaj natural algoritmul utilizat, justificând eficiența acestuia. (2p.)
b) Scrieţi programul C/C++ corespunzător algoritmului descris. (8p.)
Probă scrisă la informatică Simulare
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