Înapoi la fișa subiectului

Textul subiectului și baremului

Subiect BAC Informatică Științe ale Naturii C/C++ 2019 – sesiunea specială, 29 mai 2019, varianta 1

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 1
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 1
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. Variabilele x și y sunt întregi. Indicați expresia C/C++ echivalentă cu
cea alăturată.
(x<3)&&(y>=5)
a. !((x<3)||(y>=5)) b. !(x>=3)&&(y<5)
c. !(!(x<3)||!(y>=5)) d. !((x>=3)&&(y<5))
2. Tabloul unidimesional v are elementele:
v1=4, v2=3, v3=2, v4=1.
Știind că s-a notat cu x↔↔↔↔y interschimbarea valorilor
variabilelor x şi y, indicați cu ce se pot înlocui punctele
de suspensie în algoritmul de sortare scris alăturat,
pentru a ordona crescător cele patru elemente ale
tabloului v.
┌pentru i1,3 execută
│ mi
│┌pentru ki+1,4 execută
││┌dacă vk<vm atunci
│││ mk
││└■
│└■
│ .........
└■
a. vi↔↔↔↔vm b. vk↔↔↔↔vm c. vk↔↔↔↔m d. vi↔↔↔↔m
3. Variabilele i şi j sunt de tip întreg. Indicați expresia care poate înlocui punctele de suspensie
astfel încât, în urma executării secvenţei obţinute, să se afișeze numerele de mai jos.
for(i=1;i<=5;i++)
{ for(j=1;j<=5;j++)
if(......) cout<<5-i<<’ ’; | printf(”%d ”,5-i);
else cout<<5-j<<’ ’; | printf(”%d ”,5-j);
cout<<endl; | printf(”\n”);
}
4 4 4 4 4
4 3 3 3 3
4 3 2 2 2
4 3 2 1 1
4 3 2 1 0
a. i<j b. i>j c. i+j<5 d. i+j>5
4. Variabilele x şi y sunt de tip real. Indicaţi instrucţiunea care
realizează o prelucrare echivalentă cu cea alăturată.
if(x<0) y=-x;
else y=x;
a. y=sqrt(x); b. y=abs(x); c. y=floor(x); d. y=ceil(x);
5. În secvenţa de mai jos toate variabilele sunt de tip întreg și memorează câte un număr natural
nenul.
Indicați expresia care poate înlocui punctele de
suspensie, astfel încât, în urma executării secvenței
obținute, variabila cm să memoreze cel mai mare divizor
comun al numerelor memorate în variabilele x și y.
d=1;
while(..............)
{ if(x%d==0 && y%d==0)
cm=d;
d=d+1;
}
a. d*d<=x && d*d<=y b. d<=x/2 && d<=y/2
c. d>x && d<y d. d<=x && d<=y

Subiectul · pagina 2

Ministerul Educaţiei Naționale
Centrul Naţional de Evaluare şi Examinare
Probă scrisă la informatică Varianta 1
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 şi cu [c] partea întreagă a numărului real c.
citeşte n,k
(numere naturale, k număr prim)
p0; i1
┌cât timp i≤n execută
│ xi
│┌cât timp x%k=0 execută
││ x[x/k]; pp+1
│└■
│ ii+1
└■
scrie p
a) Scrieţi valoarea afişată dacă se citesc, în această ordine,
numerele 10 și 3. (6p.)
b) Dacă pentru k se citeşte numărul 5, scrieţi trei numere care
pot fi citite pentru n astfel încât, în urma executării
algoritmului, pentru fiecare dintre acestea, valoarea afişată să
fie 10. (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.)
2. Variabilele e_luna și e_zi, de tip întreg, memorează luna și respectiv ziua desfășurării unui
eveniment din anul 2019, iar variabilele d_luna și d_zi memorează luna și respectiv ziua
corespunzătoare unei date calendaristice din același an. Scrieţi o expresie C/C++ care are valoarea
1 dacă și numai dacă data calendaristică precizată este anterioară datei desfășurării evenimentului.
(6p.)
3. Pentru a verifica dacă în tabloul unidimensional (0,2,5,7,16,21,49) există elementul cu
valoarea x=15, se aplică metoda căutării binare. Scrieți succesiunea de elemente din tablou ale
căror valori se compară cu valoarea lui x pe parcursul aplicării metodei indicate. (6p.)
SUBIECTUL al III-lea (30 de puncte)
1. Se citește un număr natural, n (n≥10), cu cel puțin o cifră impară, și se cere să se scrie valoarea 1
dacă toate cifrele impare ale lui n sunt egale între ele sau valoarea 0 în caz contrar. Scrieți, în
pseudocod, algoritmul de rezolvare pentru problema enunțată.
Exemplu: dacă n=7727470 sau n=7240 atunci se scrie valoarea 1, iar dacă n=7921470 atunci
se scrie valoarea 0. (10p.)
2. 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,102), dintre care cel puțin
unul are o singură cifră şi cel puţin unul are două cifre. Programul afișează pe prima linie a ecranului
toate elementele tabloului formate din câte o singură cifră, iar pe a doua linie a ecranului celelalte
elemente ale tabloului. Numerele de pe aceeași linie a ecranului sunt separate prin câte un spațiu.
Exemplu: pentru n=6 și tabloul (3,14,2,1,7,21) se afişează pe ecran, nu neapărat în această
ordine:
3 2 1 7
14 21 (10p.)
3. Se consideră șirul definit astfel: f0=0; f1=x; f2=2⋅⋅⋅⋅x-1; fi=fi-1+fi-2-fi-3, unde x și i sunt numere
naturale nenule, i>2. De exemplu, dacă x=5 șirul este: 0, 5, 9, 14, 18, 23, 27, 32, 36, 41, ...
Se citesc de la tastatură două numere naturale, n și x, (n∈∈∈∈[1,104], x∈∈∈∈[1,102)), unde x
reprezintă al doilea termen al șirului precizat mai sus. Se cere să se scrie în fișierul bac.txt primii
n termeni ai șirului, separați prin câte un spațiu, în ordine inversă a apariției lor în șir. Proiectați un
algoritm eficient din punctul de vedere al timpului de executare și al spațiului de memorie utilizat.
Exemplu: dacă n=8 și x=5, atunci fișierul conține numerele 32 27 23 18 14 9 5 0
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 1
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 1
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)
1c 2a 3a 4b 5d 5x4p.
SUBIECTUL al II - lea (40 de puncte)
1. a) Răspuns corect: 4 6p.
b) Pentru răspuns corect 6p. Se acordă câte 2p. pentru fiecare dintre cele trei
numere conform cerinţei (oricare dintre numerele
45,46,47,48,49).
c) Pentru program corect
-declarare variabile
-citire date
-afişare date
-instrucţiuni repetitive (*)
-atribuiri
-corectitudine globală a programului1)
10p.
1p.
1p.
1p.
4p.
2p.
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ă
-verificare a condiției impuse (*)
-corectitudine globală a secvenței1)
6p.
5p.
1p.
(*) Se acordă numai 3p. dacă doar unul dintre cazuri
(date în aceeași lună, date în luni diferite) s-a tratat
conform cerinței.
3. Răspuns corect: 7, 21, 16 6p. Se acordă numai 2p. dacă s-a precizat corect doar prima
valoare, numai 4p. dacă s-au precizat corect doar
primele două valori sau dacă, pe lângă valorile corecte,
s-au precizat și alte valori.
SUBIECTUL al III - lea (30 de puncte)
1. Pentru algoritm corect
-citire a datelor
-verificare a proprietății 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 al cerinței
(identificare a unei cifre pare/impare, cifre suport,
algoritm principial corect de verificare a unei
proprietăți).
(**) Se va puncta orice formă corectă de structură
repetitivă sau decizională.
2. Pentru program corect
-declarare a variabilei de tip tablou
-citire a elementelor tabloului
-afişare a numerelor conform cerinţei (*)
-declarare a tuturor variabilelor simple,
citirea datelor simple, corectitudine
globală a programului1)
10p.
1p.
2p.
6p.
1p.
(*) Se acordă câte 2p. pentru fiecare aspect al cerinţei
(identificare a numerelor de o cifră/două cifre, numere
suport pentru cele două linii, format al afișării).

Baremul · pagina 2

Ministerul Educaţiei Naționale
Centrul Naţional de Evaluare şi Examinare
Probă scrisă la informatică Varianta 1
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 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
și care utilizează eficient memoria.
O soluţie posibilă generează termenii șirului deducând
forma generală a unui astfel de termen (pentru i≥0):
fi=i•x-[i/2].
b) Pentru program corect
-operaţii cu fişiere: declarare, pregătire în
vederea scrierii, scriere în fişier
-determinare a valorilor cerute (*),(**)
-utilizare a unui algoritm eficient (***)
-declarare a variabilelor, citire a datelor,
corectitudine globală a programului1)
8p.
1p.
5p.
1p.
1p.
1) Corectitudinea globală vizează structura, sintaxa, alte aspecte neprecizate în barem.