Înapoi la fișa subiectului

Textul subiectului și baremului

Subiect BAC Informatică Științe ale Naturii C/C++ 2021 – sesiunea august–septembrie, 18 august 2021, varianta 4

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 4
Limbajul C/C++
Filieră teoretică, profil real, specializare științe ale naturii
Pagina 1 din 2
Examenul național de bacalaureat 2021
Proba E. d)
INFORMATICĂ
Limbajul C/C++
Varianta 4
Filieră teoretică, profil real, specializare științe ale naturii
• Toate subiectele sunt obligatorii. Se acordă zece puncte din oficiu.
• Timpul de lucru efectiv este de trei 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. Variabilele x și y sunt de tip real (x≠-2). Indicați o expresie C/C++
corespunzătoare expresiei aritmetice alăturate.
  
    

  
a. (x+y/5+x-y/2)/x+2 b. (x+y)/5+(x-y)/2/(x+2)
c. ((x+y)/5+(x-y)/2)/x+2 d. ((x+y)/5+(x-y)/2)/(x+2)
2. Termenii fiecăruia dintre șirurile de numere S1, S2 și S3 sunt scriși
alăturat, în ordinea apariției lor în șir. Indicați șirul/șirurile cărora li se
poate aplica algoritmul de căutare binară direct, fără alte prelucrări
prealabile.
S1: 2, 22, 25, 23, 24;
S2: 1, 8, 9, 6;
S3: 9, 5, 4, 1.
a. doar S1 b. doar S3 c. doar S1 și S2 d. doar S2 și S3
3. În secvenţa de mai jos toate variabilele sunt de tip întreg, iar de la tastatură se citesc 10 numere
naturale nenule.
Indicați o instrucțiune care poate înlocui punctele de suspensie
astfel încât, în urma executării secvenţei obţinute, valoarea
variabilei m să fie ultimul dintre numerele mai mari sau egale cu
2021 citite, sau 0 dacă nu există niciun astfel de număr.
m=0;
for(i=1;i<=10;i++)
{ cin>>x; | scanf("%d",&x);
...........
}
a. if(x>=2021) m=x; b. if(x>=2021) x=m;
c. if(x>=2021) m=x;
else m=0;
d. if(x<2021) x=0;
else x=m;
4. Variabila x este de tip real. Indicați o expresie C/C++ care are valoarea 1 pentru orice număr memorat
în variabila x.
a. ceil(x)-1==ceil(x)+1 b. ceil(x)-1==ceil(x+1)
c. ceil(x)+1==ceil(x-1) d. ceil(x)+1==ceil(x+1)
5. În secvența alăturată toate variabilele sunt întregi, iar variabila n
memorează un număr natural nenul. Indicați o expresie care poate
înlocui punctele de suspensie astfel încât, în urma executării
secvenței obținute, variabila s să memoreze suma tuturor divizorilor
naturali ai numărului memorat în variabila n.
s=0; i=1;
while(i*i<n)
{ if(n%i==0)s=s+.....;
i=i+1;
}
if(i*i==n) s=s+i;
a. i b. n/i c. i+n/i d. 2*i

Subiectul · pagina 2

Ministerul Educației Naționale
Centrul Național de Evaluare și Examinare
Probă scrisă la INFORMATICĂ Varianta 4
Limbajul C/C++
Filieră teoretică, profil real, specializare științe ale naturii
Pagina 2 din 2
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.
citește n,x,y
(numere naturale nenule, x≤n, y≤n)
ok0
┌pentru i1,n execută
│┌dacă (i%x=0 și i%y≠0) sau
││ (i%x≠0 și i%y=0) atunci
││ scrie i, ' '
││ ok1
│└■
└■
┌dacă ok=0 atunci scrie 0
└■
a. Scrieți ce se afișează în urma executării algoritmului dacă
se citesc, în această ordine, numerele 15, 3, 4. (6p.)
b. Scrieți două seturi distincte de date de intrare, astfel încât,
în urma executării algoritmului, pentru fiecare dintre
acestea să se afișeze valoarea 0. (6p.)
c. Scrieți programul C/C++ corespunzător algoritmului dat.
(10p.)
d. Scrieți în pseudocod un algoritm echivalent cu cel dat,
înlocuind structura pentru...execută cu o structură
repetitivă cu test inițial. (6p.)
2. Tabloul unidimensional A are elementele A=(2,20,27,36,50), iar în urma interclasării lui
crescătoare cu tabloul unidimensional B, se obține tabloul cu elementele
(2,3,5,8,20,27,36,48,50,60). Indicați elementele tabloului B, în ordinea apariției lor în acesta.
(6p.)
3. Pentru fiecare dintre cei doi angajați ai unei societăți comerciale se cunosc anul nașterii și venitul.
Variabilele întregi an1 și venit1 memorează anul nașterii primului angajat, respectiv venitul lunar al
acestuia, iar variabilele întregi an2 și venit2 memorează anul nașterii celui de al doilea angajat,
respectiv venitul lunar al acestuia. Cei doi angajați au venituri diferite.
Scrieți o secvență de instrucțiuni C/C++ în urma executării căreia se afișează pe ecran date despre
angajatul cu cel mai mare venit: venitul lunar al acestuia urmat, pe rândul următor, de anul nașterii sale.
(6p.)
SUBIECTUL al III-lea (30 de puncte)
1. Un număr natural n se numește cub perfect dacă există un număr natural b, astfel încât n=b3.
Se citește un număr natural n (n≥1) și se cere să se scrie separate prin câte un spațiu, în ordine
descrescătoare, primele n cuburi perfecte nenule.
Scrieți, în pseudocod, algoritmul de rezolvare a problemei enunțate.
Exemplu: dacă n=5 atunci, se scriu numerele 125 64 27 8 1 (10p.)
2. Scrieți un program C/C++ care citește de la tastatură două numere naturale din intervalul [2,102], k
și n, și construiește în memorie un tablou unidimensional cu n elemente, numerotate de la 0 la n-1,
astfel încât parcurgând fiecare poziție pară a sa, de la stânga la dreapta, să se obțină un șir strict
crescător format din primii multipli naturali nenuli ai lui k și parcurgând fiecare poziție impară a sa, de
la stânga la dreapta, să se obțină șirul strict crescător al primelor numere naturale. Elementele
tabloului obținut sunt afișate pe ecran, separate prin câte un spațiu.
Exemplu: pentru k=5 și n=9 se obține tabloul de mai jos
(5, 0, 10, 1, 15, 2, 20, 3, 25). (10p.)
3. Numim pereche asemenea (x,y) două numere naturale, x și y, cu proprietatea că ultima cifră a lui x
este egală cu ultima cifră a lui y.
Fișierul numere.in conține numere naturale din intervalul [1,105]: pe prima linie două numere na și
nb, pe a doua linie un șir A de na numere, iar pe a treia linie un șir B de nb numere. 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 numărul de perechi asemenea (x,y), cu proprietatea că x este un
termen al șirului A, iar y este un termen al șirului B. Proiectați un algoritm eficient din punctul de vedere
al timpului de executare.
Exemplu: dacă fișierul conține numerele
7 5
112 7 4 112 5013 824 10012
405 1024 321 52 6542
se afișează pe ecran numărul 8
deoarece sunt 8 perechi asemenea: (112,52), (112,6542), (4,1024), (112,52), (112,6542),
(824,1024), (10012,52), (10012,6542).
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
Centrul Național de Politici și Evaluare în Educație
Probă scrisă la INFORMATICĂ Varianta 4
Filieră teoretică, profil real, specializare științe ale naturii
Barem de evaluare și de notare
Pagina 1 din 2
Examenul național de bacalaureat 2021
Proba E. d)
INFORMATICĂ
BAREM DE EVALUARE ȘI DE NOTARE
(comun pentru limbajele C/C++ și Pascal)
Varianta 4
Filieră teoretică, profil real, specializare științe ale naturii
• Se punctează orice modalitate de rezolvare corectă a cerinţelor.
• Nu se acordă punctaje intermediare, altele decât cele precizate explicit în barem. Nu se
acordă fracțiuni de punct. Se acordă zece puncte din oficiu. Nota finală se calculează prin
împărțirea la zece a punctajului total acordat pentru lucrare.
• Utilizarea unui tip de date care depășește domeniul de valori precizat în enunț (de exemplu
tipuri întregi cu semn pentru memorarea numerelor naturale, dimensiune a tablourilor) este
acceptată din punctul de vedere al corectitudinii programului, dacă acest lucru nu afectează
funcționarea acestuia.
SUBIECTUL I (20 de puncte)
1d 2b 3a 4d 5c 5x4p.
SUBIECTUL al II - lea (40 de puncte)
1. a) Răspuns corect: 3 4 6 8 9 15 6p. Se acordă câte 1p. pentru fiecare număr conform
cerinței.
b) Pentru răspuns corect 6p. Se acordă câte 3p. pentru fiecare set de date conform
cerinței (orice triplet de numere naturale nenule, n, x, y,
unde x≤n și x=y).
c) Pentru program corect
-declarare a variabilelor
-citire a datelor
-afișare a datelor
-instrucțiuni de decizie (*)
-instrucțiune repetitivă
-atribuiri
-corectitudine globală a programului1)
10p.
1p.
1p.
1p.
3p.
2p.
1p.
1p.
(*) Se acordă numai 2p. dacă doar una dintre
instrucțiunile de decizie este conform cerinței.
d) Pentru algoritm pseudocod corect
-utilizare a unei structuri repetitive cu test
inițial (*)
-aspecte specifice ale secvenței obținute
prin înlocuire, conform cerinței (**)
-algoritm complet, corectitudine globală a
algoritmului1)
6p.
2p.
3p.
1p.
(*) Se acordă punctajul chiar dacă algoritmul obținut
nu este echivalent cu cel dat.
Se va puncta orice formă de structură repetitivă
conform cerinței (cât timp...execută, while... do etc.).
(**) Se acordă câte 1p. pentru fiecare aspect
(inițializare contor, expresie logică pentru test inițial,
actualizare contor) conform cerinței.
2. Răspuns corect
(3,5,8,48,60)
6p. Se acordă punctajul atât pentru valori ordonate
crescător, cât și descrescător.
Se acordă numai 2p. dacă doar primele două valori
sunt conform cerinței, numai 3p. dacă doar primele trei
valori sunt conform cerinței, numai 4p. dacă doar
primele patru valori sunt conform cerinței, numai 5p.
dacă șirul ordonat cerut cuprinde și alte valori în plus
față de cele cerute.
3. Pentru răspuns corect
-determinare a valorilor cerute (*)
-afișare a unor date
-corectitudine globală a secvenței1)
6p.
4p.
1p.
1p.
(*) Se acordă câte 2p. pentru fiecare aspect
(determinare venit maxim, an naștere corespunzător
venitului maxim) conform cerinței.

Baremul · pagina 2

Ministerul Educaţiei
Centrul Național de Politici și Evaluare în Educație
Probă scrisă la INFORMATICĂ Varianta 4
Filieră teoretică, profil real, specializare științe ale naturii
Barem de evaluare și de notare
Pagina 2 din 2
SUBIECTUL al III - lea (30 de puncte)
1. Pentru algoritm corect
-citire a datelor
-determinare a valorilor cerute (*)
-afișare a datelor (**)
-scriere principial corectă a structurilor de
control, corectitudine globală a
algoritmului1) (***)
10p.
1p.
4p.
3p.
2p.
(*) Se acordă câte 2p. pentru fiecare aspect
(determinare/identificare a unui cub perfect, cuburi
perfecte suport determinate) conform cerinței.
(**) Se acordă numai 1p. dacă valorile sunt afișate,
dar nu în ordinea cerută.
(***) Se va puncta orice formă corectă de structură
repetitivă sau decizională.
2. Pentru program corect
-declarare a unei variabile care să
memoreze un tablou unidimensional
-citire a datelor
-construire a tabloului conform cerinței (*)
-afișare a datelor
-declarare a variabilelor simple,
corectitudine globală a programului1)
10p.
1p.
1p.
6p.
1p.
1p.
(*) Se acordă câte 1p. pentru fiecare aspect specific
(identificare a unor poziții pare/impare, determinare a
unui multiplu al lui k, multipli ai lui k suport plasați pe
poziții pare, plasare a unor valori consecutive în
tablou, valori suport plasate pe poziții impare,
construire în memorie) conform cerinței.
3. a) Pentru răspuns corect
-coerență a descrierii algoritmului (*)
-justificare a elementelor 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ță v în
care vi reprezintă numărul de valori din șirul A care au
ultima cifră egală cu i (i∈[0,9]). Vectorul v se
actualizează pe măsura parcurgerii celei de a doua
linii a fișierului. Se determină numărul cerut nr pe
măsura parcurgerii numerelor de pe a treia linie a
fișierului: pentru fiecare număr curent y din șirul B se
determină numărul i=y%10, apoi se adună la nr
valoarea vi.
O altă soluție utilizează câte un vector de frecvență
pentru fiecare șir, va și vb, cu aceeași semnificație ca
mai sus. Vectorii se completează pe măsura citirii
fiecărui șir, iar numărul cerut se obține la final, prin
parcurgerea simultană a celor doi vectori, adunând,
pentru fiecare i∈[0,9], produsele vbi∙ vai.
b) Pentru program corect
-operații cu fișiere: declarare, pregătire în
vederea citirii, citire din fișier
-determinare a valorii 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.