Înapoi la fișa subiectului

Textul subiectului și baremului

Model oficial BAC Informatică Științe ale Naturii C/C++ 2021

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 și Cercetării
Centrul Național de Politici și Evaluare în Educație
Probă scrisă la INFORMATICĂ Model
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++
Model
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. Indicați valoarea expresiei C/C++ alăturate. 21/2*2-5
a. 0 b. 0.25 c. 15 d. 16
2. Tablourile unidimensionale A și B au elementele: A=(2,20,27,36,50), iar B=(63,45,8,5,3). În
urma interclasării lor în ordine descrescătoare se obține tabloul cu elementele:
a. (63,45,27,36,50) b. (63,45,8,5,3,2,20,27,36,50)
c. (63,2,45,20,27,8,36,5,50,3) d. (63,50,45,36,27,20,8,5,3,2)
3. Pentru a verifica dacă în tabloul unidimensional (4,8,9,14,16,24,48) există elementul cu valoarea
x se aplică metoda căutării binare. Știind că valoarea x a fost comparată cu două elemente ale tabloului
pe parcursul aplicării metodei, două valori ale lui x ar putea fi:
a. 4, 8 b. 8, 24 c. 9, 16 d. 24, 48
4. Indicați valoarea expresiei alăturate. floor(-20.20)
a. -21 b. -20 c. 20.20 d. 21
5. Variabilele x, y, z, w și r sunt de tip întreg, iar r memorează inițial valoarea 0. Indicați o secvență
echivalentă cu cea de mai jos.
if(x==y && z!=w) r=1; else if(x==y && z==w) r=2; else r=3;
a. if (x==y || z!=w) r=1; else if(x!=y || z==w) r=2; else if(x!=y) r=3;
b. if (x==y || z!=w) r=1; else if(x==y || z==w) r=2; else r=3;
c. if (x==y && z!=w) r=1; else if(x!=y && z==w) r=2; else if(x!=y) r=3;
d. if (x==y){ r=1; if(z==w) r=2; } else r=3;
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,k
(numere naturale)
p1
┌dacă k=0 atunci
│ nr-1
│altfel
│ nr0
│┌repetă
││ cn%2; n[n/10]
││┌dacă c≠0 atunci
│││ nrnr+(n%10)*p; pp*10
│││altfel
│││ kk-1
││└■
│└până când n=0 sau k=0
└■
scrie nr
a. Scrieți numărul afișat în urma executării algoritmului dacă se
citesc, în această ordine, numerele 3845267 și 3. (6p.)
b. Dacă pentru variabila k se citește 2, scrieți trei numere din
intervalul [103,104) care pot fi citite pentru n astfel încât,
pentru fiecare dintre acestea, în urma executării algoritmului, să
se afișeze 20. (6p.)
c. Scrieți programul C/C++ corespunzător algoritmului dat. (10p.)
d. Scrieți în pseudocod un algoritm, echivalent cu cel dat,
înlocuind adecvat structura repetă...până când cu o
structură repetitivă cu test inițial. (6p.)

Subiectul · pagina 2

Ministerul Educației și Cercetării
Centrul Național de Politici și Evaluare în Educație
Probă scrisă la INFORMATICĂ Model
Limbajul C/C++
Filieră teoretică, profil real, specializare științe ale naturii
Pagina 2 din 2
2. Variabila c este de tip char, iar celelalte variabile
sunt de tip întreg. Scrieți valoarea variabilei nr în
urma executării secvenței alăturate, știind că se
citesc de la tastatură literele:
r e a l i z a r e (6p.)
nr=0;
for(i=9;i>=1;i--)
{ cin>>c; | scanf("%c",&c);
if(c=='e' || c=='i')
nr=nr+c-'a';
}
3. Setul de variabile întregi an, luna, zi memorează valori specifice unei date calendaristice din cadrul
primului semestru al acestui an școlar (14.09.2020 – 29.01.2021). Scrieți o secvență de
instrucțiuni în urma executării căreia să se afișeze pe ecran, în funcție de perioada căreia îi aparține
data, mesajul vacanta, dacă este din perioada vacanței de iarnă (23.12.2020 – 10.01.2021), sau
mesajul scoala, în caz contrar.
Exemplu: dacă an=2020, luna=11, zi=16, se afișează pe ecran scoala (6p.)
SUBIECTUL al III-lea (30 de puncte)
1. Se citește un număr natural n (n≥4) și se cere să se scrie, în ordine strict crescătoare, cele mai mari
două numere prime din intervalul [1,n).
Scrieți, în pseudocod, algoritmul de rezolvare a problemei enunțate.
Exemplu: dacă n=49, se scriu numerele 43 47. (10p.)
2. Scrieți un program C/C++ care citește de la tastatură un număr natural n (n∈∈∈∈[2,102]) și construiește în
memorie un tablou unidimensional cu n elemente, cu proprietatea că parcurgându-l de la stânga la
dreapta se obține șirul primelor n pătrate perfecte pare, ordonat strict descrescător, ca în exemplu.
Elementele tabloului obținut se afișează pe ecran, separate prin câte un spațiu.
Exemplu: pentru n=6 se obține tabloul (100,64,36,16,4,0). (10p.)
3. Fișierul cheltuieli.in are cel mult 106 linii, fiecare linie conținând câte trei numere naturale din
intervalul [1,102], reprezentând, în această ordine, date despre câte o achiziție: tipul produsului
cumpărat, numărul de produse de acest tip cumpărate, respectiv prețul unui astfel de produs la acel
moment. Numerele aflate pe aceeași linie sunt separate prin câte un spațiu.
Se cere să se afișeze pe ecran cea mai mare sumă cheltuită pentru toate produsele de
același tip. Proiectați un algoritm eficient din punctul de vedere al timpului de executare.
Exemplu: dacă fișierul cheltuieli.in are conținutul alăturat, se afișează pe ecran: 26
(s-a cheltuit suma maximă 26 pentru produsele de tipul 1 și 4: 26=16·1+5·2=1·10+2·8).
4 1 10
1 16 1
4 2 8
2 1 5
1 5 2
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 și Cercetării
Centrul Național de Politici și Evaluare în Educație
Probă scrisă la informatică Model
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)
Model
Filieră teoretică, profil real, specializare științe ale naturii
• Se punctează orice formulare/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 punctajului total
acordat pentru lucrare la zece.
• 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)
1c 2d 3b 4a 5d 5x4p.
SUBIECTUL al II - lea (40 de puncte)
1. a. Răspuns corect: 46 6p.
b. Pentru răspuns corect 6p. Se acordă câte 2p. pentru fiecare dintre cele trei
numere conform cerinței (numere de forma 2x0y unde
x, y sunt cifre impare).
c. Pentru program corect
-declarare variabile
-citire date
-afișare date
-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
-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. Răspuns corect:
16
6p.
3. Pentru răspuns corect
-determinare a perioadei de
vacanță/școală (*)
-afișare a mesajelor (**)
-corectitudine globală a algoritmului1)
6p.
3p.
2p.
1p.
(*) Se acordă câte 1p. pentru fiecare reper specific
(zile de școală în lunile septembrie, octombrie și
noiembrie, zile de vacanță/școală în luna decembrie,
zile de vacanță/școală în luna ianuarie) conform
cerinței.
(**) Se acordă 1p. dacă s-au afișat cele două mesaje,
dar nu în concordanță cu perioadele corespunzătoare.
SUBIECTUL al III - lea (30 de puncte)
1. Pentru algoritm corect
-citire a datelor
-determinare a valorilor cerute (*)
-scriere a datelor
-scriere principial corectă a structurilor de
control, corectitudine globală a
algoritmului1) (**)
10p.
1p.
6p.
1p.
2p.
(*)Se acordă câte 2p. pentru fiecare aspect specific
(algoritm principial corect de determinare a unui
număr prim, determinare a celui mai mare număr prim
din interval, determinare a celui de al doilea număr
prim) conform cerinței.
(**) Se va puncta orice formă corectă de structură
repetitivă sau decizională.

Baremul · pagina 2

Ministerul Educației și Cercetării
Centrul Național de Politici și Evaluare în Educație
Probă scrisă la informatică Model
Filieră teoretică, profil real, specializare științe ale naturii
Barem de evaluare și de notare
Pagina 2 din 2
2. Pentru program corect
-declarare a unei variabile care să
memoreze un tablou unidimensional
-acces la un element al tabloului
-citire a datelor
-construire a tabloului cerut (*)
-afișare a datelor în formatul cerut
-declarare a variabilelor simple,
corectitudine globală a programului1)
10p.
1p.
1p.
1p.
5p.
1p.
1p.
(*) Se acordă câte 1p. pentru fiecare aspect specific
(numere pare, numere pătrate perfecte, ordine valori,
valori suport, 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 tablou, s, în care
s[i]=suma cheltuită în total pentru produsele de tipul i.
Pe măsura citirii datelor din fișier, pentru fiecare triplet
x, y, z citit se actualizează s[x] prin adunare la
valoarea sa actuală a produsului y*z. La final se
determină valoarea maximă memorată în tabloul s.
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.