Înapoi la fișa subiectului

Textul subiectului și baremului

Subiect BAC Informatică Științe ale Naturii C/C++ 2017 – 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++
Filiera teoretică, profilul real, specializarea ştiinţe ale naturii
1
Examenul de bacalaureat naţional 2017
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. Indicaţi o expresie C/C++ care are valoarea 1 dacă şi numai dacă numărul natural memorat
în variabila întreagă x are exact o cifră. (4p.)
a. x%10==x b. x/10==x c. x%10==x/10 d. (x%10)/10==x
2. Se consideră algoritmul alăturat,
reprezentat în pseudocod.
citeşte n
(număr natural nenul)
┌pentru i1,n execută
│┌pentru j1,n execută
││┌dacă i=j sau i+j=n+1 atunci
│││ scrie ’#’
│││altfel
│││ scrie j
││└■
│└■
└■
a) Scrieţi ce se afișează dacă se citește
numărul 3. (6p.)
b) Scrieți un număr care poate fi citit, astfel
încât, în urma executării algoritmului
numărul de simboluri # afișate să fie 100.
(4p.)
c) Scrieţi în pseudocod un algoritm echivalent cu cel dat, înlocuind adecvat prima structură
pentru...execută cu o structură repetitivă cu test inițial. (6p.)
d) Scrieţi programul C/C++ corespunzător algoritmului dat. (10p.)

Subiectul · pagina 2

Ministerul Educaţiei Naționale
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. O expresie C/C++ care are valoarea 1 este: (4p.)
a. ceil(6.15)<ceil(5.61) b. ceil(6.15)>floor(5.61)
c. floor(6.15)<ceil(5.61) d. floor(6.15)<floor(5.61)
2. Se consideră secvenţa de mai jos, în care toate variabilele sunt de tip întreg.
i=2;
while(.....)
{ if(x%i==0) cout<<i<<’ ’; | printf(”%d ”,i);
i=i+1;
}
Pentru a afişa în ordine crescătoare toţi divizorii pozitivi ai numărului natural nenul memorat
în variabila x, cu excepţia lui 1 şi a numărului respectiv, o expresie care poate înlocui
punctele de suspensie este: (4p.)
a. i>0 b. i>=2
c. i<=x/2 d. i<=x
Scrieţi pe foaia de examen răspunsul pentru fiecare dintre cerinţele următoare.
3. Variabilele întregi media1 şi media2 memorează mediile semestriale obținute de un elev
la informatică, iar variabila initiala memorează prima literă a numelui elevului. Declarați
variabila initiala și scrieţi o secvență de instrucțiuni C/C++ în urma executării căreia să
se afişeze pe ecran prima literă a numelui și, pe linia următoare, media anuală la
informatică a acestui elev.
Exemplu: dacă elevul are numele Popescu, iar cele două medii sunt 9, respectiv 10, se
afișează pe ecran
P
9.5 (6p.)
4. Se citeşte un număr natural nenul, n, şi se cere să se scrie numărul obţinut din n, prin
inserarea, după fiecare cifră pară din scrierea lui, a unei cifre egale cu jumătate din
aceasta.
Exemplu: dacă se citește 2380 se obţine 2138400, iar dacă se citește 35 se obţine 35.
a) Scrieţi, în pseudocod, un algoritm 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
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. În secvenţa de instrucţiuni de mai jos toate variabilele sunt de tip întreg.
for(i=0;i<5;i++)
{ for(j=0;j<5;j++)
if(...........)
cout<<″1 ″; | printf(″1 ″);
else
cout<<″2 ″; | printf(″2 ″);
cout<<endl; | printf(″\n″);
}
1 1 1 1 1
1 2 2 2 1
1 2 2 2 1
1 2 2 2 1
1 1 1 1 1
Indicaţi o expresie care poate înlocui punctele de suspensie astfel încât, în urma executării
secvenţei obţinute, să se afişeze pe ecran valorile din figura de mai sus, în această ordine.
(4p.)
a. (4-i)%4==0 || (4-j)%4==0 b. (4-i)%4==0 && (4-j)%4==0
c. (4-i)%4!=0 || (4-j)%4!=0 d. (4-i)%4!=0 && (4-j)%4!=0
Scrieţi pe foaia de examen răspunsul pentru fiecare dintre cerinţele următoare.
2. Se consideră două tablouri unidimensionale A și B: A=(1,7,9) și B=(5,7,8,12).
Scrieţi elementele unui tablou obținut prin interclasarea tablourilor A și B, în ordinea în care
ele apar în acesta. (6p.)
3. Scrieţi un program C/C++ care citeşte de la tastatură un număr natural n (n∈∈∈∈[2,50]) şi
cele n elemente ale unui tablou unidimensional, numere naturale din intervalul [0,104].
Cel puțin două elemente ale tabloului sunt nenule. Programul modifică în memorie tabloul
prin ordonarea descrescătoare a elementelor nenule ale acestuia, celelalte elemente
păstrându-şi poziția iniţială, apoi afișează pe ecran elementele tabloului obținut, separate
prin câte un spațiu.
Exemplu: dacă n=9, iar tabloul citit este (5, 0, 0, 9, 3, 4, 0, 7, 3), atunci se obține tabloul
(9, 0, 0, 7, 5, 4, 0, 3, 3). (10p.)
4. Numim secvență pară într-un șir o succesiune de termeni ai șirului cu proprietatea că sunt
numere pare și că se află pe poziții consecutive în șir; orice secvență are cel puțin doi
termeni și este maximală în raport cu proprietatea precizată (dacă i se adaugă un alt
termen, secvența își pierde această proprietate).
Fişierul bac.txt conţine un şir de cel mult 106 numere naturale din intervalul [0,109].
Numerele din şir sunt separate prin câte un spaţiu.
Se cere să se afişeze pe ecran numărul de secvențe pare din șir.
Proiectați un algoritm eficient din punctul de vedere al spațiului de memorie utilizat şi al
timpului de executare.
Exemplu: dacă fişierul bac.txt conţine valorile
1 2 3 4 6 10 2 8 5 7 9 4 6 14 121 20 4
se afişează pe ecran numărul 3.
a) Descrieţi în limbaj natural algoritmul proiectat, justificând eficienţa acestuia. (2p.)
b) Scrieţi programul C/C++ corespunzător algoritmului descris. (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
Filiera teoretică, profilul real, specializarea ştiinţe ale naturii
Barem de evaluare şi de notare
1
Examenul de bacalaureat naţional 2017
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: #2#1#3#2# 6p. Se acordă numai 3p. dacă datele sunt
parțial corecte și includ secvența #2#
b) Răspuns corect: 50 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ţiune de decizie conform
cerinței (*)
-instrucţiuni repetitive conform cerinței
(**)
-corectitudine globală a programului1)
10p.
1p.
1p.
1p.
3p.
3p.
1p.
(*) Se acordă numai 1p. dacă s-a scris o
instrucțiune de decizie, dar expresia logică nu
este conform cerinței.
(**) Se acordă numai 2p. dacă doar una
dintre instrucțiunile repetitive este conform
cerinței.
SUBIECTUL al II - lea (30 de puncte)
1. b 4p.
2. c 4p.
3. Pentru rezolvare corectă
-declarare a variabilei cerute
-expresie corectă pentru calculul mediei
(*)
-afișare a datelor conform cerinței
6p.
1p.
3p.
2p.
(*) Se acordă numai 2p. dacă media se
calculează corect doar dacă rezultatul este
un număr întreg.

Baremul · pagina 2

Ministerul Educaţiei Naționale
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 cu
proprietatea cerută (*)
-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 (identificare a unei cifre a
numărului, identificare a unei cifre pare,
inserare a unei cifre într-un număr, păstrare
a ordinii cifrelor, inserare a valorilor
corespunzătoare doar după cifre pare,
inserare corectă după cifrele nule de la
sfârşitul numărului).
(**) 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 corect
-date de ieșire indicate corect
6p.
2p.
2p.
2p.
(*) Se acordă numai 1p. dacă s-au
identificat doar unele dintre variabilele
utilizate sau dacă nu pentru toate variabilele
este corect precizat rolul acestora.
SUBIECTUL al III - lea (30 de puncte)
1. a 4p.
2. Pentru răspuns corect 6p. Se acordă numai 4p. dacă elementele
tabloului sunt ordonate (crescător sau
descrescător), dar valoarea 7 apare o singură
dată în tablou.
3. Pentru program corect
-declarare a variabilei de tip tablou
-citire a tabloului
-modificare a tabloului (*)
-afişare a datelor în formatul cerut
-declarare și citire a variabilelor
simple, corectitudine globală a
programului1)
10p.
1p.
1p.
6p.
1p.
1p.
(*) Se acordă câte 2p. pentru fiecare aspect
specificat (algoritm de ordonare principial
corect, elemente suport conform cerinței,
modificare în memorie) al cerinţei.
4. a) Pentru răspuns corect
-coerenţă a descrierii algoritmului (*)
-justificare a unor elemente de
eficienţă, conform cerinței
2p.
1p.
1p.
(*) 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 a valorii cerute (*, **)
-utilizare a unui algoritm eficient (***)
-afișare a datelor, corectitudine
globală a programului1)
8p.
1p.
5p.
1p.
1p.
(*) Se acordă punctajul chiar dacă soluţia
propusă nu prezintă elemente de eficienţă.
(**) Se acordă numai 3p. pentru algoritm
principial corect, dar care nu conduce la
rezultatul cerut pentru toate cazurile.
(***) Se acordă punctajul numai pentru un
algoritm liniar (de complexitate O(n)), care
utilizează eficient memoria.
O soluţie posibilă parcurge o dată fişierul
memorând numărul de termeni pari de pe
poziții consecutive din secvența curentă,
număr care se incrementează la întâlnirea
fiecărui termen par, respectiv se
inițializează cu 0 la întâlnirea fiecărui
termen impar. La finalizarea fiecărei
secvențe (inclusiv cea care încheie șirul) se
actualizează, după caz, numărul de
secvențe pare obținute.
1) Corectitudinea globală vizează structura, sintaxa, alte aspecte neprecizate în barem.