Înapoi la fișa subiectului

Textul subiectului și baremului

Subiect BAC Informatică Științe ale Naturii C/C++ 2016 – varianta 10

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 și Cercetării Științifice
Centrul Naţional de Evaluare şi Examinare
Probă scrisă la informatică Varianta 10
Limbajul C/C++
Filiera teoretică, profilul real, specializarea ştiinţe ale naturii
1
Examenul de bacalaureat național 2016
Proba E. d)
Informatică
Limbajul C/C++
Varianta 10
Filiera teoretică, profilul real, specializarea ştiinţe ale naturii
• Toate subiectele sunt obligatorii. Se acordă 10 puncte din oficiu.
• Timpul de lucru efectiv este de 3 ore.
• În rezolvările cerute, identificatorii utilizaţi 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ă).
• În programele cerute, datele de intrare se consideră corecte, validarea acestora
nefiind necesară.
SUBIECTUL I (30 de puncte)
Pentru itemul 1, scrieţi pe foaia de examen litera corespunzătoare răspunsului corect.
1. Variabila x este de tip întreg. Indicaţi o expresie C/C++ care are valoarea 1 dacă şi numai
dacă valoarea variabilei x are exact trei cifre. (4p.)
a. x%1000==0 || x%100!=0 b. x/1000==0 || x/100!=0
c. x%1000==0 && x%100!=0 d. x/1000==0 && x/100!=0
2. Se consideră algoritmul alăturat, 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,x
(numere natural nenule, m<n)
p0
┌cât timp m<n şi p=0 execută
│┌dacă m%x=0 şi n%x=0 atunci
││ px
││altfel
││┌dacă m%x=0 atunci
│││ nn-1
│││altfel
│││ mm+1
││└■
│└■
└■
scrie m,’ ’,n
a) Scrieţi valorile afişate în urma executării
algoritmului dacă se citesc, în această ordine,
numerele 11, 30 și 7. (6p.)
b) Scrieţi un set de valori care pot fi citite pentru
variabilele m, n şi x, astfel încât, în urma
executării algoritmului, să se afişeze două
numere egale. (4p.)
c) Scrieţi în pseudocod un algoritm echivalent cu
cel dat, înlocuind structura cât
timp...execută cu o structură repetitivă de
alt tip. (6p.)
d) Scrieţi programul C/C++ corespunzător
algoritmului dat. (10p.)

Subiectul · pagina 2

Ministerul Educaţiei Naționale și Cercetării Științifice
Centrul Naţional de Evaluare şi Examinare
Probă scrisă la informatică Varianta 10
Limbajul C/C++
Filiera teoretică, profilul real, specializarea ştiinţe ale naturii
2
SUBIECTUL al II-lea (30 de puncte)
Pentru fiecare dintre itemii 1 şi 2 scrieţi pe foaia de examen litera corespunzătoare
răspunsului corect.
1. Variabilele x, y, z şi p sunt de tip real. O transcriere
în limbajul C/C++ a expresiei alăturate este: (4p.)  ∙  −  ∙  −  ∙  − 
a. pow(p(p-x)(p-y)(p-z),1/2) b. pow(p*p-p*x,1/2)*pow(p-y)*pow(p-z)
c. sqrt(p)*(p-x)*(p-y)*(p-z) d. sqrt(p*(p-x)*(p-y)*(p-z))
2. Variabilele x, y şi z sunt de tip întreg şi memorează
numere naturale, iar x şi y au inițial valori nenule. Indicați o
expresie care poate înlocui punctele de suspensie astfel
încât, în urma executării secvenței obţinute, variabila z să
memoreze produsul valorilor memorate inițial în x și y.
(4p.)
z=0;
while(x>0)
{ z=..........;
x=x-1;
}
a. z+y b. z-y c. z+x d. z-x
Scrieţi pe foaia de examen răspunsul pentru fiecare dintre cerinţele următoare.
3. O persoană deține două mașini, pentru fiecare cunoscându-se codul și anul fabricației.
Cele două mașini sunt fabricate în ani diferiți.
Variabilele întregi an1 și cod1 memorează anul fabricației, respectiv codul primei mașini,
iar variabilele întregi an2 și cod2 memorează anul fabricației, respectiv codul celei de a
doua mașini.
Scrieți o secvență de instrucțiuni C/C++ în urma executării căreia se afișează pe ecran date
despre mașina cea mai nouă dintre cele două menționate mai sus: anul fabricației, urmat
de mesajul prototip, în cazul în care codul acesteia este 0, sau de mesajul produs de
serie, altfel. (6p.)
4. Se citeşte un număr natural cu toate cifrele nenule, n, şi se cere să se scrie numărul
obţinut prin eliminarea tuturor cifrelor impare din n, respectiv -1 dacă nu există astfel de
cifre sau dacă toate cifrele lui n sunt impare.
Exemplu: dacă n= 23541 se scrie 24, iar dacă n=28 se scrie -1.
a) Scrieţi, în pseudocod, algoritmul de rezolvare pentru problema enunţată. (10p.)
b) Precizaţi rolul tuturor variabilelor care au intervenit în algoritmul realizat la punctul a) şi
indicaţi datele de intrare, respectiv datele de ieşire ale problemei enunţate. (6p.)

Subiectul · pagina 3

Ministerul Educaţiei Naționale și Cercetării Științifice
Centrul Naţional de Evaluare şi Examinare
Probă scrisă la informatică Varianta 10
Limbajul C/C++
Filiera teoretică, profilul real, specializarea ştiinţe ale naturii
3
SUBIECTUL al III-lea (30 de puncte)
Pentru itemul 1, scrieţi pe foaia de examen litera corespunzătoare răspunsului corect.
1. Pentru a calcula cel mai mare divizor comun al unui şir de numere naturale nenule citite de
la tastatură, se poate aplica: (4p.)
a. algoritmul de determinare a unui element
din şirul lui Fibonacci
b. algoritmul lui Euclid
c. metoda bulelor d. metoda interclasării
Scrieţi pe foaia de examen răspunsul pentru fiecare dintre cerinţele următoare.
2. În secvenţa alăturată toate variabilele sunt de tip
întreg. Scrieţi secvența înlocuind punctele de
suspensie astfel încât, în urma executării
secvenţei obţinute, valoarea variabilei p să fie 1,
dacă s-au citit doar numere strict pozitive, sau 0
altfel. (6p.)
p=............;
for(i=1;i<=10;i++)
{ cin>>x; | scanf(”%d”,&x);
..............
}
3. 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, numerotate de la 1 la n,
astfel:
• primul element este nul;
• elementele de pe poziții pare sunt egale cu valoarea poziției pe care se află;
• oricare alt element este obţinut prin însumarea celor două elemente aflate imediat
înaintea sa, ca în exemplu.
Elementele tabloului obținut sunt afișate pe ecran, separate prin câte un spaţiu.
Exemplu: pentru n=11 se obține tabloul (0,2,2,4,6,6,12,8,20,10,30) (10p.)
4. Fişierul numere.in conţine un şir de numere naturale din intervalul [1,109]. Numerele
din şir sunt ordonate strict crescător şi sunt separate prin câte un spaţiu.
Se cere să se determine valorile naturale distincte din intervalul închis delimitat de prima și
ultima valoare din șir care NU se găsesc în fișier. Valorile determinate se afişează pe
ecran în ordine strict crescătoare, separate prin câte un spaţiu. Dacă nu există astfel de
valori, se afişează pe ecran mesajul Nu exista.
Pentru determinarea valorilor cerute se utilizează un algoritm eficient din punctul de
vedere al memoriei şi al timpului de executare.
Exemplu: dacă fişierul conţine numerele
2 3 6 8
se afişează pe ecran valorile
4 5 7
a) Descrieţi în limbaj natural algoritmul utilizat, justificând eficienţa acestuia. (4p.)
b) Scrieţi programul C/C++ corespunzător algoritmului descris. (6p.)

Baremul

Deschide PDF-ul original

Baremul · pagina 1

Ministerul Educaţiei Naționale și Cercetării Științifice
Centrul Naţional de Evaluare şi Examinare
Probă scrisă la informatică Varianta 10
Filiera teoretică, profilul real, specializarea ştiinţe ale naturii
Barem de evaluare şi de notare
1
Examenul de bacalaureat naţional 2016
Proba E. d)
Informatică
Barem de evaluare și de notare
(comun pentru limbajele C/C++ şi Pascal)
Varianta 10
Filiera teoretică, profilul real, specializarea ş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.
• Se vor lua în considerare atât implementările concepute pentru compilatoare pe 16
biţi, cât şi cele pentru compilatoare pe 32 de biţi.
SUBIECTUL I (30 de puncte)
1. d 4p.
2. a) Răspuns corect: 14 28 6p.
b) Pentru răspuns corect 4p.
c) 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.
d) Pentru program corect
-declarare variabile
-citire date
-afişare date
-instrucţiuni de decizie conform
cerinței (*)
-instrucţiune repetitivă conform
cerinței
-atribuiri corecte
-corectitudine globală a programului1)
10p.
1p.
1p.
1p.
3p.
2p.
1p.
1p.
(*) Se acordă numai 2p. dacă doar una dintre
instrucțiuni este conform cerinței.
SUBIECTUL al II - lea (30 de puncte)
1. d 4p.
2. a 4p.
3. Pentru rezolvare corectă
-afișare a anului de fabricație cerut
-afișare mesaje conform cerinței (*)
6p.
2p.
4p.
(*) Se acordă numai 2p. dacă s-au afișat
mesajele indicate, dar nu conform cerinței.

Baremul · pagina 2

Ministerul Educaţiei Naționale și Cercetării Științifice
Centrul Naţional de Evaluare şi Examinare
Probă scrisă la informatică Varianta 10
Filiera teoretică, profilul real, specializarea ştiinţe ale naturii
Barem de evaluare şi de notare
2
4. a) Pentru rezolvare corectă
-citire a datelor
-obţinere a unui număr conform
cerinţei (*)
-scriere principial corectă a structurilor
de control (**)
-scriere a rezultatului
10p.
1p.
6p.
2p.
1p.
(*) Se acordă câte 1p. pentru fiecare aspect
al cerinței (acces la o cifră a numărului, cifre
pare/impare, cifre suport, obținere rezultat
pentru număr cu cifre pare și impare,
obținere rezultat pentru număr doar cu cifre
pare, obținere rezultat pentru număr doar
cu cifre impare).
(**) Se va puncta orice formă corectă de
structură repetitivă sau decizională.
b) Pentru răspuns corect
-precizare a rolului variabilelor utilizate
(*)
-date de intrare indicate conform
cerinței
-date de ieșire indicate conform
cerinței
6p.
2p.
2p.
2p.
(*) Se acordă numai 1p. dacă s-au
identificat doar o parte din variabilele
utilizate sau dacă nu pentru toate variabilele
este corect precizat rolul acestora.
SUBIECTUL al III - lea (30 de puncte)
1. b 4p.
2. Pentru răspuns corect
-înlocuire a punctelor de suspensie
din prima zonă
-înlocuire a punctelor de suspensie
din cea de a doua zonă
-corectitudine globală a secvenței1)
6p.
2p.
3p.
1p.
3. 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 variabile simple,
corectitudine globală a programului1)
10p.
1p.
1p.
6p.
1p.
1p.
(*) Se acordă câte 2p. pentru fiecare aspect
al cerinței (plasare valoare pe prima poziție,
plasare valori pe poziții pare, plasare valori
pe celelalte poziții ale tabloului).
4. a) Pentru răspuns corect
-coerenţă a descrierii metodei (*)
-justificare a unor elemente de
eficienţă
4p.
2p.
2x1p.
(*) Se acordă punctajul chiar dacă metoda
aleasă nu este eficientă.
b) Pentru program corect
-operaţii cu fişiere: declarare,
pregătire în vederea citirii, citire din
fişier
-determinare și afișare a valorilor
cerute (*, **)
-tratare a cazului Nu exista
-utilizare a unui algoritm eficient (***)
6p.
1p.
3p.
1p.
1p.
(*) Se acordă punctajul chiar dacă soluţia
propusă nu prezintă elemente de eficienţă.
(**) Se acordă numai 2p. pentru un algoritm
principial corect, dar care nu conduce la
rezultatul cerut.
(***) Se acordă punctajul numai pentru un
algoritm liniar, care utilizează eficient
memoria.
O soluţie posibilă parcurge numerele din
fișier memorând, la fiecare pas, ultimele
două numere citite, x și y, și afișând toate
numerele naturale din intervalul (x,y).
1) Corectitudinea globală vizează structura, sintaxa, alte aspecte neprecizate în barem.