Înapoi la fișa subiectului

Textul subiectului și baremului

Subiect BAC Informatică Științe ale Naturii C/C++ 2016 – 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 și Cercetării Științifice
Centrul Naţional de Evaluare şi Examinare
Probă scrisă la informatică Varianta 4
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 4
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, y și z sunt de tip întreg și memorează numere naturale din intervalul
[1,103]. Indicați o expresie C/C++ care are valoarea 1 dacă și numai dacă valoarea
variabilei x este strict mai mare decât valoarea oricăreia dintre variabilele y și z. (4p.)
a. x*y>y*z && x*z>y*z b. x*z>x*y && y*z>y*x
c. y*z>x*z && y*x>z*x d. y*z>y*x && y*z>z*x
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)
k1
m1
┌cât timp n>9 execută
│┌dacă n%10=[n/10]%10 atunci
││ kk+1
││┌dacă k>m atunci
│││ mk
││└■
││altfel
││ k1
│└■
│ n[n/10]
└■
scrie m
a) Scrieţi valoarea afişată în urma executării
algoritmului dacă se citeşte numărul
81112337. (6p.)
b) Scrieţi numărul de valori din intervalul
[10000,99999] care să înceapă cu cifra 1,
care pot fi citite pentru variabila n, astfel încât,
în urma executării algoritmului, pentru fiecare
dintre acestea, să se afişeze valoarea 4. (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 4
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 A, B și C sunt de tip real și memorează coeficienții unei ecuații de gradul al II-lea
Ax2+Bx+C=0, cu două rădăcini reale distincte. Indicați o expresie C/C++ a cărei valoare
este egală cu valoarea uneia dintre cele două rădăcini. (4p.)
a. -B+pow(sqrt(B)-4*A*C,2)/2*A b. (-B+pow(sqrt(B)-4*A*C,2))/(2*A)
c. -B+sqrt(pow(B,2)-4*A*C)/2*A d. (-B+sqrt(pow(B,2)-4*A*C))/(2*A)
2. În secvența alăturată toate variabilele sunt întregi și
memorează valori naturale. 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
câtul împărțirii numărului memorat inițial în x la numărul
nenul memorat în y. (4p.)
z=0;
while(x>=y)
{ x=........;
z=z+1;
}
a. x+y b. x-y c. x/10 d. x%10
Scrieţi pe foaia de examen răspunsul pentru fiecare dintre cerinţele următoare.
3. Într-un cartier sunt două zone de parcare, pentru fiecare cunoscându-se numărul de locuri
închiriate pe parcursul orei curente, precum și prețul practicat de zona respectivă pentru
închirierea unui loc pentru o oră.
Varabilele întregi n1 și p1 memorează numărul de locuri închiriate, respectiv prețul de
închiriere pentru o oră în prima zonă, iar variabilele întregi n2 și p2 memorează numărul de
locuri închiriate, respectiv prețul de închiriere pentru o oră în cea de a doua zonă.
Scrieţi o secvenţă de instrucțiuni C/C++ în urma executării căreia se afișează pe ecran
suma totală obținută în urma închirierii locurilor de parcare din cele două zone pe parcursul
orei curente. (6p.)
4. Se citește un număr natural, n (n≥2) și se cere să se scrie cel mai mic număr natural care
are aceiași divizori primi ca n.
Exemplu: dacă n=75, se scrie numărul 15, iar dacă n=7, se scrie numărul 7.
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 4
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. Variabilele din secvența alăturată sunt de tip
întreg, iar numerele citite sunt naturale.
Indicați expresiile care pot înlocui simbolurile
αααα și ββββ astfel încât, în urma executării
secvenței obținute, variabila u să memoreze
ultima poziție pe care apare numărul 2016
în șirul de numere citite de la tastatură sau
valoarea 0 dacă acesta nu apare în șir. (4p.)
u=αααα;
for(i=1;i<=10;i++)
{ cin>>x; | scanf("%d",&x);
if(x==2016)
u=ββββ;
}
a. αααα=0 și ββββ=i b. αααα=1 și ββββ=i c. αααα=0 și ββββ=x d. αααα=1 și ββββ=x
Scrieţi pe foaia de examen răspunsul pentru fiecare dintre cerinţele următoare.
2. Elementele unui tablou unidimensional sunt, în această ordine, (1,4,6,10,56,57,76).
Pentru a verifica dacă în tablou există elementul cu valoarea x=57, se aplică metoda
căutării binare.
Scrieţi succesiunea de elemente cu care se compară valoarea x pe parcursul aplicării
metodei indicate. (6p.)
3. Scrieţi un program C/C++ care citeşte de la tastatură un număr natural, n (n∈∈∈∈[2,102]),
apoi numere naturale din intervalul [0,109], în această ordine: cele n elemente ale unui
tablou unidimensional și un număr x. Cel puţin unul dintre elementele tabloului are
valoarea x. Programul modifică ordinea valorilor din tablou, astfel încât toate valorile
având aceeași paritate ca a lui x să ocupe primele poziţii din tablou, iar celelalte valori să
se regăsească în continuarea acestora, într-o ordine oarecare. Elementele tabloului
obținut sunt afișate pe ecran, separate prin câte un spaţiu.
Exemplu: pentru n=9, tabloul (20, 11, 0, 1, 75, 0, 11, 4, 53) şi x=11,
unul dintre tablourile obținute poate fi: (11, 1, 75, 11, 53, 20, 0, 0, 4). (10p.)
4. Se consideră șirul 1, -1, 2 ... definit astfel: f1=1, f2=-1, iar fn=1-2·fn-1-fn-2, dacă
n≥3 (unde n este un număr natural).
Se citesc de la tastatură două numere întregi din intervalul [-109,109], x și y,
reprezentând, în această ordine, doi termeni ai șirului aflați pe poziții consecutive în
acesta. Se cere să se scrie în fișierul text bac.out, separați prin câte un spațiu, în ordine
inversă apariției lor în șir, cei doi termeni citiți, precum și toți ceilalți termeni care îi preced
pe aceștia în șir, ca în exemplu.
Pentru determinarea și afișarea numerelor cerute, se utilizează un algoritm eficient din
punctul de vedere al spațiului de memorie și al timpului de executare.
Exemplu: dacă x=-1 și y=2
fişierul conţine valorile
2 -1 1
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 4
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 4
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: 3 6p.
b) Răspuns corect: 18 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. b 4p.
3. Pentru rezolvare corectă
-calcul al sumei cerute
-afișare a rezultatului
6p.
4p.
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 4
Filiera teoretică, profilul real, specializarea ştiinţe ale naturii
Barem de evaluare şi de notare
2
4. a) Pentru rezolvare corectă
-citire a datelor
-determinare a numărului cerut (*)
-scriere principial corectă a structurilor
de control (**)
-afișare a datelor
10p.
1p.
6p.
2p.
1p.
(*) Se acordă numai 3p. dacă s-a
determinat un număr cu aceiași divizori
primi, dar nu este cel mai mic.
(**) Se va puncta orice formă corectă de
structură repetitivă sau decizională.
b) Pentru rspuns corect
-precizarea rolului variabilelor utilizate
(*)
-date de intrare identificate corect
-date de ieșire identificate corect
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. a 4p.
2. Răspuns corect: 10 57 6p. Se acordă numai 3p. dacă s-a scris doar
prima valoare comparată.
3. Pentru program corect
-declarare a variabilei de tip tablou
-citire a elementelor tabloului
-plasare a valorilor în tablou conform
cerinței (*)
-afişare a datelor conform cerinței
-declarare a variabilelor simple, citire
a datelor simple, corectitudine globală
a programului1)
10p.
1p.
1p.
6p.
1p.
1p.
(*) Se acordă câte 2p. pentru fiecare aspect
al cerinței (plasare a tuturor numerelor cu
paritate diferită de a lui x conform cerinței,
plasare a tuturor numerelor cu paritate
egală cu a lui x conform cerinței, modificare
tablou în memorie).
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ă.
(**) Se acordă punctajul pentru elementele
de eficiență justificate, conform cerinței,
chiar dacă metoda aleasă nu este optimă.
b) Pentru program corect
-operaţii cu fişiere: declarare,
pregătire în vederea scrierii, scriere
în fişier
-citire date, determinare și afișare a
valorilor cerute (*, **)
-utilizare a unui algoritm eficient (***)
6p.
1p.
4p.
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ă se bazează pe forma
generală a unui termen: fi=(i+1)/2, dacă i
este impar, respectiv fi=-i/2, dacă i este par.
O altă soluție posibilă generează termenii în
ordine inversă a apariției lor în șir astfel
încât, dacă z,x,y sunt trei termeni
consecutivi în șir, iar x și y sunt ultimii doi
termeni generați, atunci z=1-2·x-y
1) Corectitudinea globală vizează structura, sintaxa, alte aspecte neprecizate în barem.