Înapoi la fișa subiectului

Textul subiectului și baremului

Subiect BAC Informatică Științe ale Naturii C/C++ 2019 – 4 iulie 2019, 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 de bacalaureat naţional 2019
Proba E. d)
Informatică
Limbajul C/C++
Varianta 4
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. Indicați numerele pe care le pot memora variabilele întregi x şi y,
astfel încât valoarea expresiei C/C++ alăturate să fie 1.
x/2+x%y-x/y==0
a. x=4 şi y=2 b. x=6 şi y=3 c. x=8 şi y=4 d. x=10 şi y=0
2. Variabila x este de tip char şi memorează o literă mică a alfabetului englez. Indicați expresia
C/C++ care are valoare nenulă dacă şi numai dacă litera memorată în variabila x este o vocală. Se
consideră vocale literele a, e, i, o, u.
a. x==’a’ || x==’e’ || x==’i’ || x==’o’ || x==’u’
b. x==”a” && x==”e” && x==”i” && x==”o” && x==”u”
c. ’a’<=x && x<=’u’
d. x==a || x==e || x==i || x==o || x==u
3. Pentru a căuta un număr x într-un tablou în care sunt memorate 7 numere, ordonate strict
descrescător, căutarea binară este o metodă care:
a. se poate aplica numai dacă toate elementele tabloului sunt valori binare (0 sau 1)
b. se poate aplica numai dacă, înaintea căutării, numerele sunt ordonate strict crescător
c. conduce la un număr de maximum 7 comparații ale lui x cu elemente ale tabloului, dacă x nu
aparține acestuia
d. conduce la un număr de maximum 3 comparații ale lui x cu elemente ale tabloului, dacă x aparține
acestuia
4. Variabilele x şi y sunt de tip real. Indicaţi instrucţiunea care realizează o
prelucrare echivalentă cu cea alăturată.
y=x*x;
a. y=sqrt(x); b. y=pow(x,2); c. y=floor(x); d. y=ceil(x);
5. În secvența de mai jos toate variabilele sunt de tip întreg.
if(x==0)if(y==0)if(z==0)w=1;else w=2;else w=3;
Indicați o secvență echivalentă cu aceasta.
a. if(x==0 && y!=0) w=1;
if(x!=0 && y==0 && z==0) w=2;
if(x!=0 && y!=0 && z==0) w=3;
b. if(x==0 && y==0 && z!=0) w=1;
if(x!=0 && y!=0 && z==0) w=2;
if(x!=0 && y==0 && z!=0) w=3;
c. if(x==0 && y==0) w=1;
if(x==0 && y!=0 && z==0) w=2;
if(x==0 && y!=0 && z!=0) w=3;
d. if(x==0 && y==0 && z==0) w=1;
if(x==0 && y==0 && z!=0) w=2;
if(x==0 && y!=0) w=3;

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 m,n,p,q
(numere naturale nenule, p≤≤≤≤q)
s10; s20
┌cât timp p≤≤≤≤q execută
│┌dacă p%m=0 sau p%n=0 atunci
││ s1s1+1
│└■
│┌dacă p%m=0 şi p%n=0 atunci
││ s2s2+1
│└■
│ pp+1
└■
ss1-2*s2
scrie s
a) Scrieţi valoarea afişată dacă se citesc, în această
ordine, numerele 4, 3, 11 și 25. (6p.)
b) Dacă pentru m, n și p se citesc numerele 3, 5,
respectiv 1, scrieţi două numere care pot fi citite pentru
q 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 structura cât timp...execută
cu o structură repetitivă de tip pentru...execută. (6p.)
2. Variabilele întregi x și y memorează câte un număr natural, reprezentând 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 axa Ox dacă
punctul se află mai aproape de axa Ox a sistemului de coordonate, mesajul axa Oy dacă punctul
se află mai aproape de axa Oy, iar altfel mesajul egal. (6p.)
3. Într-un șir de numere întregi primii doi termeni sunt f1=1, respectiv
f2=2, iar cel de-al n-lea (n>2) termen se calculează cu ajutorul
formulei fn=fn-2-fn-1, dacă n este impar, sau cu ajutorul formulei
fn=fn-1-fn-2, dacă n este par.
În secvenţa alăturată toate variabilele sunt de tip întreg.
a=1; b=2;
for(n=3;n<=50;n++)
{
....
}
Scrieți secvența înlocuind zona punctată astfel încât, în urma executării secvenţei obținute, variabila
întreagă c să memoreze al 50-lea termen al şirului. (6p.)
SUBIECTUL al III-lea (30 de puncte)
1. Se citește un număr natural, n, cu cel puțin o cifră impară, și se cere să se scrie numărul obținut prin
înlocuirea fiecărei cifre impare a lui n cu cea mai mare cifră pară strict mai mică decât ea (astfel cifra
1 se înlocuieşte cu cifra 0, cifra 3 cu cifra 2 etc.). Scrieți, în pseudocod, algoritmul de rezolvare
pentru problema enunțată.
Exemplu: dacă n=235690, atunci se scrie numărul 224680, iar dacă n=15690, atunci se scrie
numărul 4680. (10p.)
2. Scrieţi un program C/C++ care citeşte de la tastatură un număr natural impar, n (n∈∈∈∈[3,21]), apoi
cele n elemente ale unui tablou unidimensional, numere naturale din intervalul [0,109]. Programul
afișează pe ecran mesajul DA, dacă elementele dispuse simetric faţă de elementul din mijloc al
tabloului au valori egale, sau mesajul NU în caz contrar.
Exemplu: pentru n=5 și tabloul (1,2,4,2,1) se afişează mesajul DA (10p.)
3. Un termen al unui șir de numere se numește vârf local al acestuia dacă nu există niciun alt termen
strict mai mare decât el care să îl preceadă în șir.
Fișierul bac.txt conține un șir format din cel puțin două și cel mult 106 numere naturale din
intervalul [0,103], separate prin câte un spațiu. Se cere să se afișeze pe ecran, separate prin câte
un spațiu, toate vârfurile locale ale șirului aflat în fișier. Proiectați un algoritm eficient din punctul de
vedere al timpului de executare și al spațiului de memorie utilizat.
Exemplu: dacă fișierul conține numerele 7 4 9 10 10 10 8 10 8 30
se afișează pe ecran 7 9 10 10 10 10 30
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 4
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 4
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)
1a 2a 3d 4b 5d 5x4p.
SUBIECTUL al II - lea (40 de puncte)
1. a) Răspuns corect: 3 6p.
b) Pentru răspuns corect 6p. Se acordă câte 3p. pentru fiecare număr conform
cerinței (oricare dintre numerele 25,26,30,31,32).
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. Pentru rezolvare corectă 6p. Se acordă câte 2p. pentru fiecare dintre cele trei
mesaje afișate conform cerinței.
3. Pentru răspuns corect 6p. Se acordă câte 2p. pentru fiecare aspect al cerinței
(determinare a unui termen de indice par, determinare a
unui termen de indice impar, actualizare termeni).
SUBIECTUL al III - lea (30 de puncte)
1. Pentru rezolvare corectă
-citire a datelor
-determinare a numărului cu proprietatea
cerută (*)
-scriere principial corectă a structurilor de
control (*)
-afișare a datelor
-corectitudine globală a algoritmului1)
10p.
1p.
6p.
1p.
1p.
1p.
(*) Se acordă câte 1p. pentru fiecare aspect al cerinței
(acces la o cifră, identificare cifre pare/impare,
includere în rezultat a unei cifre, includere în rezultat a
tuturor cifrelor pare suport nemodificate – inclusiv
cazul cu cifra unităților 0, includere în rezultat a tuturor
cifrelor obținute prin înlocuirea cifrelor impare, ordine a
cifrelor).
(**) 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
-verificare a proprietății cerute (*)
-afişare a mesajului conform cerinței
-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
(algoritm principial corect de verificare a unei
proprietăți, identificare a unei perechi de elemente
simetrice față de mijlocul tabloului, elemente suport).
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

Baremul · pagina 2

Ministerul Educaţiei Naționale
Centrul Naţional de Evaluare şi Examinare
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
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.
principial corect, dar nu oferă rezultatul cerut pentru
toate seturile de date de intrare.
(***) Se acordă punctajul numai pentru un algoritm liniar,
care utilizează eficient memoria.
O soluţie posibilă determină, pe măsura citirii datelor
din fișier, valoarea maximă curentă (fie aceasta m) şi
se afișează fiecare valoare citită mai mare sau egală
cu m, care se actualizează corespunzător.
1) Corectitudinea globală vizează structura, sintaxa, alte aspecte neprecizate în barem.