Înapoi la fișa subiectului

Textul subiectului și baremului

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

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 9
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 9
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. Variabilele x şi y sunt de tip real. Expresia C/C++ alăturată este
echivalentă cu expresia: (4p.)
!(x>0 && y>0)
a. x<=0 || y<=0 b. x<=0 && y<=0
c. x>0 || y>0 d. !(x>0) && !(y>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 şi cu
[c] partea întreagă a numărului real c.
citeşte n
(număr natural nenul)
p0
┌pentru i1,n execută
│ mi
│┌cât timp m%2=0 execută
││ m[m/2]
│└■
│┌dacă m=1 atunci
││ pi
│└■
└■
scrie p
a) Scrieţi valoarea afişată în urma
executării algoritmului dacă se citeşte
numărul 12. (6p.)
b) Scrieţi cel mai mic şi cel mai mare
număr care pot fi citite astfel încât,
pentru fiecare dintre acestea, valoarea
afişată să fie 16. (4p.)
c) Scrieţi în pseudocod un algoritm echivalent cu cel dat, înlocuind structura
pentru...execută cu o structură repetitivă cu test final. (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 9
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. Indicați o expresie C/C++ care are valoarea 1 dacă şi numai dacă numărul întreg memorat
în variabila întreagă x aparţine mulţimii {-2,-1,1,2}. (4p.)
a. abs(x)>2 || x==0 b. abs(x)<=2 && x!=0
c. abs(x-2)<1 d. abs(x-1)>2
2. Variabilele x, y şi d sunt de tip întreg și memorează câte un
număr natural strict pozitiv. Indicați o expresie care poate
înlocui punctele de suspensie astfel încât, în urma executării
secvenţei obţinute, variabila d să memoreze cel mai mare
divizor comun al valorilor memorate în variabilele x şi y. (4p.)
d=x;
if(d>y) d=y;
while(........)
d=d-1;
a. x%d+y%d!=0 b. x%d!=y%d
c. (x+y)%d!=0 d. (x%d)*(y%d)!=0
Scrieţi pe foaia de examen răspunsul pentru fiecare dintre cerinţele următoare.
3. Se consideră două puncte A şi B din planul definit de sistemul de coordonate xOy.
Coordonatele punctului A sunt memorate în variabilele întregi xa (abscisa) şi ya
(ordonata), iar coordonatele punctului B sunt memorate în variabilele întregi xb (abscisa) şi
yb (ordonata). Niciunul dintre cele două puncte nu se află în originea sistemului.
Scrieţi o expresie C/C++ care să aibă valoarea 1 dacă şi numai dacă punctul A este situat
pe axa Oy, iar punctul B este situat pe axa Ox a sistemului de coordonate. (6p.)
4. Se citeşte un număr natural, n (n≥1), şi se cere să se scrie numărul obţinut prin duplicarea
fiecărei cifre pare a lui n sau -1 dacă acesta nu are nicio cifră pară.
Exemplu: dacă n=2380 se scrie
2238800
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 9
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. Tablourile unidimensionale A şi B au elementele: A=(20,17,12,10,3), iar
B=(45,16,12,7,2). În urma interclasării lor în ordine descrescătoare se obţine tabloul cu
elementele: (4p.)
a. (45,17,12,10,3) b. (45,20,16,17,12,12,7,10,2,3)
c. (45,20,17,16,12,12,10,7,3,2) d. (45,20,17,16,12,12,7,10,3,2)
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 s să fie
egală cu suma numerelor întregi citite care au
cel mult două cifre. (6p.)
s=.........;
for(i=1;i<=10;i++)
{ cin>>x; | scanf(“%d”,&x);
if(.............)
s=s+x;
}
3. Scrieţi un program C/C++ care citeşte de la tastatură un număr natural, n (n∈∈∈∈[2,102]), și
numere naturale din intervalul [0,1000], în această ordine: cele n elemente ale unui
tablou unidimensional și un număr x. Prima poziție a tabloului este 0.
Programul afişează pe ecran mesajul DA, dacă există cel puțin un element egal cu x aflat
pe pozițiile impare ale tabloului sau mesajul NU în caz contrar.
Exemplu: pentru n=5, tabloul (1,3,4,2,6) şi x=2,
se afişează pe ecran mesajul
DA
iar pentru n=5, tabloul (1,12,2,4,6) sau tabloul (1,3,12,4,6) şi x=2,
se afişează pe ecran mesajul
NU (10p.)
4. Fişierul bac.txt conţine un şir de cel mult 106 numere naturale distincte din intervalul
[0,109]. Numerele din şir sunt separate prin câte un spaţiu.
Se cere să se determine ultimii doi termeni pari din şirul aflat în fișier care sunt precedați
de doar un termen impar. Termenii determinați se afișează pe ecran, în ordinea apariţiei
lor în şir, separați printr-un spațiu, iar dacă în şir nu există doi astfel de termeni, pe ecran
se afişează mesajul Nu exista.
Pentru determinarea termenilor ceruţi se utilizează un algoritm eficient din punctul de
vedere al spațiului de memorie şi al timpului de executare.
Exemplu: dacă fişierul conţine numerele
4 16 5 12 14 30 212 16 11 400
se afişează pe ecran
212 16
(4 și 16 sunt precedate de 0 numere impare, 12, 14, 30, 212 și 16 sunt precedate
de 1 număr impar, iar 400 este precedat de 2 numere impare; dintre numerele 12, 14,
30, 212 și 16 ultimele două sunt 212 și 16).
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 9
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 9
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. a 4p.
2. a) Răspuns corect: 8 6p.
b) Răspuns corect: 16 31 4p. Se acordă câte 2p. pentru fiecare valoare
menţionată corect.
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ă de tipul indicat,
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ţiune de decizie conform
cerinței
-instrucţiuni repetitive conform cerinței
(*)
-atribuiri corecte
-corectitudine globală a programului1)
10p.
1p.
1p.
1p.
2p.
3p.
1p.
1p.
(*) Se acordă numai 2p. dacă doar una dintre
instrucțiuni este conform cerinței.
SUBIECTUL al II - lea (30 de puncte)
1. b 4p.
2. a 4p.
3. Pentru rezolvare corectă
-condiție conform cerinței pentru punctul A
-condiție conform cerinței pentru punctul B
-operatori logici utilizați conform cerinței
6p.
2p.
2p.
2p.

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 9
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 2p. pentru fiecare aspect
al cerinței (duplicare a unei cifre, cifre
suport, tratare caz -1).
(**) 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. c 4p.
2. Pentru răspuns corect
-înlocuire a punctelor de suspensie
corespunzătoare instrucțiunii de
atribuire
-înlocuire a punctelor de suspensie
corespunzătoare instrucțiunii de
decizie (*)
-corectitudine globală a secvenței1)
6p.
2p.
3p.
1p.
Se acordă doar 2p. dacă este respectată
condiţia doar pentru numere pozitive sau doar
pentru numere negative.
3. Pentru program corect
-declarare a unei variabile de tip
tablou unidimensional
-citire a elementelor tabloului
-verificare a proprietății cerute (*)
-afişare a mesajului conform cerinței
-declarare variabile simple, citire
valori variabile simple, corectitudine
globală a programului1)
10p.
1p.
1p.
6p.
1p.
1p.
(*) Se acordă câte 3p. pentru fiecare aspect
al cerinței (algoritm principial corect de
verificare a unei proprietăți, poziții suport).
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 (de complexitate O(n)), care
utilizează eficient memoria.
O soluţie posibilă parcurge fișierul până
când s-a întâlnit un termen impar. Se
parcurge apoi fișierul în continuare până la
final sau până când se întâlnește un nou
termen impar, memorând pe parcurs
ultimele două valori pare citite.
1) Corectitudinea globală vizează structura, sintaxa, alte aspecte neprecizate în barem.