Înapoi la fișa subiectului

Textul subiectului și baremului

Subiect BAC Informatică Științe ale Naturii C/C++ 2019 – sesiunea august–septembrie, 26 august 2019, varianta 2, rezervă

Acesta este textul selectabil extras automat din documentele PDF ale acestei variante. Pentru formule, tabele, pseudocod sau grafice, verifică pagina originală din PDF înainte de a rezolva exercițiile.

Subiectul

Deschide PDF-ul original

Subiectul · pagina 1

Ministerul Educaţiei Naționale
Centrul Naţional de Evaluare şi Examinare
Probă scrisă la informatică Varianta 2
Limbajul C/C++
Filieră teoretică, profil real, specializare științe ale naturii
Pagina 1 din 2
Examenul de bacalaureat naţional 2019
Proba E. d)
Informatică
Limbajul C/C++
Varianta 2
Filieră teoretică, profil real, specializare științe ale naturii
• Toate subiectele sunt obligatorii. Se acordă 10 puncte din oficiu.
• Timpul de lucru efectiv este de 3 ore.
• Identificatorii utilizaţi în rezolvări 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ă). Datele de intrare se consideră corecte, validarea lor nefiind necesară.
SUBIECTUL I (20 de puncte)
Pentru fiecare dintre itemii de la 1 la 5, scrieţi pe foaia de examen litera corespunzătoare răspunsului
corect. Fiecare răspuns corect se notează cu 4 puncte.
1. O expresie C/C++ care are valoarea 0 este:
a. ’m’<’n’ b. ’m’==’M’
c. ’M’==’m’+’N’-’n’ d. ’N’=='M’+1
2. În secvența alăturată toate variabilele sunt întregi. Indicați expresia
cu care pot fi înlocuite punctele de suspensie, astfel încât, în urma
executării secvenței obținute, să se afișeze valoarea sumei
primelor 20 de numere naturale nenule.
s=0;
for(i=1;i<=10;i++)
s=s+..........;
a. 21 b. 10 c. i d. 2*i
3. Tablourile unidimensionale S1, S2 şi S3 sunt scrise alăturat.
Algoritmul de căutare binară se poate aplica direct, fără alte
prelucrări prealabile:
S1=(7,16,27,47,52);
S2=(21,69,36,24,16);
S3=(99,83,71,59,25,12).
a. doar tabloului S1 b. doar tablourilor S1 şi S3
c. doar tablourilor S2 şi S3 d. oricăruia dintre cele trei tablouri
4. Variabila x este de tip real şi are o valoare pozitivă. O expresie C/C++ care are ca valoare partea
fracţionară a numărului memorat în variabila x este:
a. ceil(x)-x+1 b. ceil(x) c. x-floor(x) d. x/10
5. În secvenţa alăturată toate variabilele sunt de tip întreg (n>1).
Indicaţi expresia cu care pot fi înlocuite punctele de suspensie
astfel încât, în urma executării secvenţei obţinute, variabila ok să
aibă valoarea 1 dacă şi numai dacă numărul memorat în
variabila n este prim.
ok=1;d=2;
while(ok==1 && ......)
if(n%d==0) ok=0;
else d=d+1;
a. d+d<n b. d+d>=n c. d*d<n d. d*d<=n
SUBIECTUL al II-lea (40 de puncte)
1. Algoritmul alăturat este reprezentat în pseudocod.
S-a notat cu a%b restul împărţirii numărului natural a la numărul
natural nenul b şi cu [c] partea întreagă a numărului real c.
citeşte n
(număr natural)
m0; x1
┌cât timp x≤9 execută
│ cpn
│┌cât timp cp≠0 execută
││┌dacă cp%10=x atunci
│││ mm*10+x
││└■
││ cp[cp/10]
│└■
│ xx+1
└■
scrie m
a) Scrieţi valoarea afişată dacă se citește numărul 27102. (6p.)
b) Scrieţi trei numere distincte din intervalul [10,9999] care pot
fi citite, astfel încât în urma executării algoritmului, pentru
fiecare dintre acestea, valoarea afişată să fie 11. (6p.)
c) Scrieţi programul C/C++ corespunzător algoritmului dat. (10p.)
d) Scrieţi în pseudocod un algoritm, echivalent cu cel dat,
înlocuind prima structură cât timp…execută cu o structură
de tip pentru…execută. (6p.)

Subiectul · pagina 2

Ministerul Educaţiei Naționale
Centrul Naţional de Evaluare şi Examinare
Probă scrisă la informatică Varianta 2
Limbajul C/C++
Filieră teoretică, profil real, specializare științe ale naturii
Pagina 2 din 2
2. Variabilele reale x și y memorează abscisa, respectiv ordonata unui punct în sistemul de
coordonate xOy. Scrieți o secvență de instrucțiuni C/C++ prin care se afișează pe ecran mesajul
interior, dacă punctul precizat mai sus se află în interiorul sau pe conturul unui cerc cu centrul în
originea sistemului de coordonate și raza egală cu 1, sau mesajul exterior, în caz contrar. (6p.)
3. Variabilele i şi j sunt de tip întreg. Scrieţi
secvenţa alăturată, înlocuind punctele de
suspensie astfel încât, în urma executării
secvenţei obţinute, să se afişeze pe ecran,
în această ordine, numerele de mai jos.
for(i=1;i<=5;i++){
for(.....)
cout<<j<<' '; | printf("%d ",j);
cout<<endl; | printf("\n");
}
5 4 3 2 1
4 3 2 1
3 2 1
2 1
1 (6p.)
SUBIECTUL al III-lea (30 de puncte)
1. Se citesc două numere naturale, a și b (2≤a<b), și se cere să se scrie cel mai mare număr natural
din intervalul [a,b] pentru care produsul divizorilor săi impari pozitivi este strict mai mare decât el
însuși sau 0 dacă nu există niciun astfel de număr. Scrieți, în pseudocod, algoritmul de rezolvare
pentru problema enunțată.
Exemplu: dacă a=14 și b=19, atunci se scrie 18 (1·3·9=27>18). (10p.)
2. Numim segment de dimensiune m al unui tablou unimensional, tabloul obținut din acesta păstrând
doar elementele aflate pe primele m poziții ale sale.
Scrieţi un program C/C++ care citeşte de la tastatură un număr natural, n (n∈∈∈∈[2,20]), apoi cele n
elemente ale unui tablou unidimensional, numere naturale din intervalul [0,104].
Programul determină un segment de dimensiune maximă al tabloului citit, cu toate elementele egale,
și afișează pe ecran valoarea acestei dimensiuni.
Exemplu: pentru n=5 și tabloul (2,2,2,5,2), se afişează pe ecran 3. (10p.)
3. Fişierul bac.txt conţine un şir de cel mult 106 numere naturale din intervalul [0,103], separate
prin câte un spaţiu. Șirul are cel puțin doi termeni pari.
Se cere să se afișeze pe ecran toți termenii pari ai șirului, în ordine crescătoare, separați prin câte
un spaţiu, ca în exemplu. Proiectați un algoritm eficient din punctul de vedere al timpului de
executare.
Exemplu: dacă fişierul are conţinutul
12 2 3 1 2 5
se afişează pe ecran:
2 2 12
a) Descrieți în limbaj natural algoritmul proiectat, justificând eficiența acestuia. (2p.)
b) Scrieți programul C/C++ corespunzător algoritmului proiectat. (8p.)

Baremul

Deschide PDF-ul original

Baremul · pagina 1

Ministerul Educaţiei Naționale
Centrul Naţional de Evaluare şi Examinare
Probă scrisă la informatică Varianta 2
Filieră teoretică, profil real, specializare științe ale naturii
Barem de evaluare şi de notare
Pagina 1 din 2
Examenul de bacalaureat naţional 2019
Proba E. d)
Informatică
BAREM DE EVALUARE ȘI DE NOTARE
(comun pentru limbajele C/C++ şi Pascal)
Varianta 2
Filieră teoretică, profil real, specializare științe ale naturii
• 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 punctajului total acordat pentru lucrare la 10.
• Utilizarea unui tip de date care depăşeşte domeniul de valori precizat în enunţ este acceptată
dacă acest lucru nu afectează corectitudinea în funcţionarea programului.
SUBIECTUL I (20 de puncte)
1b 2a 3b 4c 5d 5x4p.
SUBIECTUL al II - lea (40 de puncte)
1. a) Răspuns corect: 1227 6p.
b) Pentru răspuns corect 6p. Se acordă câte 2p. pentru fiecare număr conform
cerinței (oricare dintre numerele 11, 101, 110, 1001,
1010, 1100).
c) Pentru program corect
-declarare variabile
-citire date
-afişare date
-instrucțiune de decizie
-instrucţiuni repetitive (*)
-atribuiri
-corectitudine globală a programului1)
10p.
1p.
1p.
1p.
2p.
3p.
1p.
1p.
(*) Se acordă numai 2p. dacă doar una dintre
instrucțiunile repetitive este conform cerinței.
d) Pentru algoritm pseudocod corect
-echivalenţă a prelucrării realizate,
conform cerinţei (*)
-corectitudine globală a algoritmului1)
6p.
5p.
1p.
(*) Se acordă numai 2p. dacă algoritmul are o
structură repetitivă conform cerinţei, principial corectă,
dar nu este echivalent cu cel dat.
Se va puncta orice formă corectă de structură
repetitivă conform cerinței.
2. Pentru rezolvare corectă 6p. Se acordă câte 2p. pentru afișarea mesajului cerut în
fiecare caz (în interiorul cercului, pe conturul cercului,
în exteriorul cercului).
3. Pentru rezolvare corectă
-afișare a valorilor cerute (*)
-corectitudine globală a secvenței1)
6p.
5p.
1p.
(*) Se acordă numai 3p. dacă doar unul dintre aspecte
(valori afișate pe fiecare linie, ordine descrescătoare)
este conform cerinței.
SUBIECTUL al III - lea (30 de puncte)
1. Pentru rezolvare corectă
-citire a datelor
-determinare a numărului cerut (*)
-scriere principial corectă a structurilor de
control (**)
-scriere a rezultatului și tratare a cazului 0
-corectitudine globală a algoritmului1)
10p.
1p.
6p.
1p.
1p.
1p.
(*) Se acordă câte 2p. pentru fiecare aspect al cerinței
(divizori suport, algoritm principial corect de calcul al
unui produs, număr maxim cu proprietatea cerută).
(**) Se va puncta orice formă corectă de structură
repetitivă sau decizională.
2. Pentru program corect
-declarare a variabilei de tip tablou
-citire a datelor
-determinare a valorii cerute (*)
-afişare a datelor
-declarare a variabilelor simple,
corectitudine globală a programului1)
10p.
1p.
1p.
6p.
1p.
1p.
(*) Se acordă câte 2p. pentru fiecare aspect al cerinței
(elemente care formează un segment, segment cu
elemente egale, dimensiune maximă).

Baremul · pagina 2

Ministerul Educaţiei Naționale
Centrul Naţional de Evaluare şi Examinare
Probă scrisă la informatică Varianta 2
Filieră teoretică, profil real, specializare științe ale naturii
Barem de evaluare şi de notare
Pagina 2 din 2
3. a) Pentru răspuns corect
-coerenţă a descrierii algoritmului (*)
-justificare a unor elemente de eficienţă
2p.
1p.
1p.
(*) Se acordă punctajul chiar dacă algoritmul ales nu
este eficient.
(**) Se acordă numai 3p. dacă algoritmul este
principial corect, dar nu oferă rezultatul cerut pentru
toate seturile de date de intrare.
(***) Se acordă punctajul numai pentru un algoritm liniar.
O soluţie posibilă utilizează un vector de frecvență (în
care vi este numărul de apariții ale valorii i) actualizat
pe măsura citirii din fișier. Vectorul de frecvență este
parcurs după completarea sa, doar pentru indicii pari i,
afișând de vi ori fiecare valoare i.
b) Pentru program corect
-operaţii cu fişiere: declarare, pregătire în
vederea citirii, citire din fişier
-determinare a valorilor cerute (*),(**)
-utilizare a unui algoritm eficient (***)
-declarare a variabilelor, afișare a
datelor, corectitudine globală a
programului1)
8p.
1p.
5p.
1p.
1p.
1) Corectitudinea globală vizează structura, sintaxa, alte aspecte neprecizate în barem.