Înapoi la fișa subiectului

Textul subiectului și baremului

Subiect BAC Informatică Mate-Info C/C++ 2017 – varianta 3

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 3
Limbajul C/C++
Filiera teoretică, profilul real, specializările: matematică-informatică, matematică-informatică intensiv informatică
Filiera vocaţională, profilul militar, specializarea matematică-informatică
1
Examenul de bacalaureat naţional 2017
Proba E. d)
Informatică
Limbajul C/C++
Varianta 3
Filiera teoretică, profilul real, specializările: matematică-informatică
matematică-informatică intensiv informatică
Filiera vocaţională, profilul militar, specializarea matematică-informatică
• 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 expresia C/C++ care are valoarea 1 dacă şi numai dacă numărul natural memorat
în variabila întreagă 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 a,b
(numere naturale, a≥2, b≥2)
┌dacă a>b atunci
│ xa
│ ab
│ bx
└■
s←←←←0
┌pentru x←←←←a,b execută
│ c←←←←2
│┌cât timp x%c>0 execută
││ c←←←←c+1
│└■
│ss+c
└■
scrie s
a) Scrieţi valoarea afişată dacă se citesc, în
această ordine, numerele 7, 4. (6p.)
b) Scrieți patru seturi de date de intrare,
numere naturale din intervalul [2,9], care
pot fi citite astfel încât, în urma executării
algoritmului, pentru fiecare dintre acestea,
să se afişeze valoarea 7. (4p.)
c) Scrieţi în pseudocod un algoritm echivalent
cu cel dat, înlocuind adecvat structura
cât timp...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
Centrul Naţional de Evaluare şi Examinare
Probă scrisă la informatică Varianta 3
Limbajul C/C++
Filiera teoretică, profilul real, specializările: matematică-informatică, matematică-informatică intensiv informatică
Filiera vocaţională, profilul militar, specializarea matematică-informatică
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. Un arbore cu 9 noduri, numerotate de la 1 la 9, este reprezentat prin vectorul de „taţi”
(5,4,6,0,3,2,6,9,7). Rădăcina arborelui este: (4p.)
a. 1 b. 4 c. 6 d. 8
2. Într-un graf neorientat două cicluri sunt disjuncte dacă nu au niciun
nod comun. Pentru graful neorientat cu 9 noduri, reprezentat
alăturat, se construiește o mulțime formată din cicluri elementare,
cu proprietatea că oricare două dintre acestea sunt disjuncte.
Numărul maxim de cicluri dintr-o astfel de mulțime este: (4p.)
a. 1 b. 2 c. 3 d. 4
Scrieţi pe foaia de examen răspunsul pentru fiecare dintre cerinţele următoare.
3. Variabila p memorează simultan numărul de vârfuri ale unui poligon (număr natural din
intervalul [3,102)) și coordonatele vârfurilor acestuia (abscisa și ordonata) în sistemul de
coordonate xOy (numere reale).
Știind că expresiile C/C++ de mai jos au ca valori numărul de vârfuri ale unui poligon,
abscisa, respectiv ordonata primului său vârf, scrieți definiția unei structuri cu eticheta
poligon, care permite memorarea datelor despre un poligon, și declarați corespunzător
variabila p.
p.numar
p.varf[0].x
p.varf[0].y (6p.)
4. Variabilele i şi j sunt de tip întreg, iar variabila a memorează un
tablou bidimensional cu 9 linii şi 9 coloane, numerotate de la 0 la
8, având iniţial toate elementele egale cu caracterul *.
Fără a utiliza alte variabile, scrieţi secvenţa de instrucţiuni de mai
jos, înlocuind punctele de suspensie astfel încât, în urma
executării secvenţei obţinute, variabila a să memoreze tabloul
alăturat.
for(i=0;i<9;i++)
for(j=0;j<9;j++)
.................. (6p.)
b a a a a a a a b
b b a a a a a b b
b b b a a a b b b
b b b b a b b b b
b b b b b b b b b
b b b b b b b b b
b b b b b b b b b
b b b b b b b b b
b b b b b b b b b
5. Se consideră un text cu cel mult 100 de caractere, în care cuvintele sunt formate din litere
mari ale alfabetului englez și sunt separate prin câte un spațiu.
Scrieţi un program C/C++ care citeşte de la tastatură un text de tipul menţionat mai sus şi
afișează pe ecran, pe câte un rând, cuvintele care cuprind cel puțin o notă muzicală. Dacă
nu există astfel de cuvinte, se afișează pe ecran mesajul nu exista.
Notele muzicale sunt DO, RE, MI, FA, SOL, LA, SI.
Exemplu: pentru textul
REMI DOMINO SI KHANHOO SUNT DENUMIRI DE JOCURI CE AU ASPECTE SIMILARE
se afişează cuvintele de mai jos, nu neapărat în această ordine
REMI
DOMINO
SI
DENUMIRI
SIMILARE (10p.)

Subiectul · pagina 3

Ministerul Educaţiei Naționale
Centrul Naţional de Evaluare şi Examinare
Probă scrisă la informatică Varianta 3
Limbajul C/C++
Filiera teoretică, profilul real, specializările: matematică-informatică, matematică-informatică intensiv informatică
Filiera vocaţională, profilul militar, specializarea matematică-informatică
3
SUBIECTUL al III-lea (30 de puncte)
Pentru itemul 1, scrieţi pe foaia de examen litera corespunzătoare răspunsului corect.
1. Utilizând metoda backtracking se generează, în ordine crescătoare, toate numerele
naturale pare cu trei cifre, cu proprietatea că nu există două cifre egale alăturate și suma
cifrelor este 10. Primele cinci numere generate sunt, în această ordine: 136, 154, 172,
190, 208. Al şaselea număr generat este: (4p.)
a. 217 b. 226 c. 262 d. 280
Scrieţi pe foaia de examen răspunsul pentru fiecare dintre cerinţele următoare.
2. Subprogramul f este definit
alăturat. Scrieţi ce se afişează în
urma apelului de mai jos.
f(4); (6p.)
void f(int n)
{ int i;
if(n>0)
{ for(i=1;i<=n;i++)
cout<<i; | printf(“%d”,i);
f(n-1);
}
}
3. Subprogramul identice are doi parametri, a și b, prin care primește câte un număr
natural (10≤a≤b≤106). Subprogramul afișează pe ecran toate numerele naturale din
intervalul [a,b] care au toate cifrele identice. Numerele afișate sunt separate prin câte un
spațiu, iar dacă nu există astfel de numere, se afişează pe ecran mesajul nu exista.
Scrieţi definiţia completă a subprogramului.
Exemplu: pentru a=700 și b=1500 se afișează pe ecran
777 888 999 1111. (10p.)
4. Numim inserare a unui șir A într-un șir B introducerea, între două elemente ale șirului B, a
tuturor elementelor lui A, pe poziții consecutive, în ordinea în care apar în A.
Fișierul bac.in conține numere naturale din intervalul [1,106]: pe prima linie numerele m
și n, iar pe fiecare dintre următoarele două linii câte un șir de m, respectiv de n numere
întregi ordonate strict crescător. Numerele aflate pe aceeași linie a fișierului sunt
separate prin câte un spațiu, iar numerotarea elementelor în șiruri începe de la 1.
Se cere să se afișeze pe ecran poziția din al doilea șir începând de la care poate fi inserat
primul șir, astfel încât șirul obținut să fie strict crescător. Dacă nu există o astfel de poziție,
se afișează pe ecran mesajul imposibil.
Proiectați un algoritm eficient din punctul de vedere al spațiului de memorie utilizat şi al
timpului de executare.
Exemplu: dacă fișierul conține numerele
4 6
15 16 17 19
7 10 12 20 30 40
se poate obține șirul 7, 10, 12, 15, 16, 17, 19, 20, 30, 40 și se afișează pe ecran 4
iar dacă fișierul conține numerele
4 6
15 16 17 19
7 14 18 20 30 40
sau numerele
4 6
1 2 3 4
7 15 18 20 30 40
se afișează pe ecran mesajul imposibil
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 3
Filiera teoretică, profilul real, specializările: matematică-informatică, matematică-informatică intensiv informatică
Filiera vocaţională, profilul militar, specializarea matematică-informatică
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 3
Filiera teoretică, profilul real, specializările: matematică-informatică
matematică-informatică intensiv informatică
Filiera vocaţională, profilul militar, specializarea matematică-informatică
• 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: 16 6p.
b) Pentru răspuns corect 4p. Se acordă câte 1p. pentru fiecare dintre
seturile cerute (oricare dintre seturile 2,4; 4,2;
4,5; 5,4; 5,6; 6,5; 7,7).
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
(*)
-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. b 4p.
3. Pentru rezolvare corectă
-definire principial corectă a unei
structuri/înregistrări
-câmpuri ale structurii/înregistrării definite
conform cerinței (*)
-declarare variabilă
6p.
2p.
3p.
1p.
(*) Se acordă numai 2p. dacă doar unul dintre
câmpuri este conform cerinței.

Baremul · pagina 2

Ministerul Educaţiei Naționale
Centrul Naţional de Evaluare şi Examinare
Probă scrisă la informatică Varianta 3
Filiera teoretică, profilul real, specializările: matematică-informatică, matematică-informatică intensiv informatică
Filiera vocaţională, profilul militar, specializarea matematică-informatică
Barem de evaluare şi de notare
2
4. Pentru rezolvare corectă
-acces la un element al tabloului
-atribuire a uneia dintre valorile indicate
elementelor corespunzătoare (*)
-atribuire a celei de a doua dintre valorile
indicate elementelor corespunzătoare
6p.
1p.
2p.
3p.
(*) Se acordă punctajul chiar dacă,
suplimentar elementelor suport indicate, s-a
atribuit valoarea și altor elemente.
5. Pentru program corect
-declarare a unei variabile care să
memoreze un șir de caractere
-citire a şirului
-determinare a cuvintelor conform cerinței
(*)
-afișare a cuvintelor și tratare a cazului nu
exista
-declarare variabile simple, corectitudine
globală a programului1)
10p.
1p.
1p.
6p.
1p.
1p.
(*) Se acordă câte 2p. pentru fiecare aspect
al cerinței (căutare a unui subșir într-un șir,
identificare a unui cuvânt conform cerinței,
cuvinte suport).
SUBIECTUL al III - lea (30 de puncte)
1. c 4p.
2. Răspuns corect: 1234123121 6p. Se acordă numai 3p. dacă răspunsul este
parțial corect și include secvența 1234123.
3. Pentru subprogram corect
-structură antet principial corectă
-declarare corectă a parametrilor
-determinare a numerelor cu
proprietatea cerută (*)
-afișare a datelor și tratare a cazului
nu exista
-declarare a tuturor variabilelor
locale, corectitudine globală a
subprogramului1)
10p.
1p.
1p.
6p.
1p.
1p.
(*) Se acordă câte 3p. pentru fiecare aspect
al cerinței (identificare/construire a unui
număr conform cerinței, numere suport).
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 (*, **)
-afișare a datelor și tratare a cazului
imposibil
-utilizare a unui algoritm eficient (***)
-declarare a variabilelor,
corectitudine globală a programului1)
8p.
1p.
4p.
1p.
1p.
1p.
(*) Se acordă punctajul chiar dacă soluţia
propusă nu prezintă elemente de eficienţă.
(**) Se acordă numai 2p. pentru algoritm
principial corect, dar care nu conduce la
rezultatul cerut pentru toate cazurile.
(***) Se acordă punctajul numai pentru un
algoritm liniar, care utilizează eficient
memoria.
O soluție posibilă memorează prima și
ultima valoare din primul șir în variabilele p,
respectiv u, apoi, pe măsura citirii celui de al
doilea șir, se determină numărul k de
termeni ai acestuia cu proprietatea că primii
k-1 sunt strict mai mici decât p, iar al k-lea
este strict mai mare decât u. Poziția cerută
este k.
1) Corectitudinea globală vizează structura, sintaxa, alte aspecte neprecizate în barem.