Înapoi la fișa subiectului

Textul subiectului și baremului

Subiect BAC Informatică Mate-Info C/C++ 2017 – varianta 5, rezervă

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 5
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 5
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. Variabila x este de tip întreg. Numărul de valori întregi distincte ale lui
x pentru care expresia C/C++ alăturată are valoarea 0 este: (4p.)
x/2017
a. 2016 b. 2017 c. 2·2016+1 d. 2·2017+1
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, cu [a]
partea întreagă a numărului real a.
citeşte a,b
(numere naturale nenule, a≤b)
s0
┌pentru xa,b execută
│┌pentru j1,[x/2] execută
││ ┌dacă x%j=0 șșșși []*[]=j atunci
││ │ ss+j
││ └■
│└■
└■
scrie s
a) Scrieţi ce se afişează dacă se citesc,
în această ordine, numerele 11 şi 16.
(6p.)
b) Scrieţi un set de date care pot fi citite
astfel încât, în urma executării
algoritmului, să se afişeze valoarea
10. (4p.)
c) Scrieţi în pseudocod un algoritm echivalent cu cel dat, înlocuind adecvat prima structură
pentru...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
Centrul Naţional de Evaluare şi Examinare
Probă scrisă la informatică Varianta 5
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. Variabila s permite accesarea unui șir de maximum 49 de caractere. Indicați expresia egală
cu 1 dacă și numai dacă șirul 2017 coincide cu subșirul format din primele patru caractere
ale șirului accesat prin variabila s și NU mai apare pe alte poziții în acesta. (4p.)
a. strstr(s,”2017”)==0 && strstr(s+4,”2017”)==s+4
b. strstr(s,”2017”)!=s || strstr(s+4,”2017”)!=s+4
c. strstr(s,”2017”)!=0 || strstr(s+4,”2017”)!=0
d. strstr(s,”2017”)==s && strstr(s+4,”2017”)==0
2. Într-un arbore cu rădăcină considerăm că un nod se află pe nivelul x dacă lanţul elementar
care are o extremitate în nodul respectiv şi cealaltă extremitate în rădăcina arborelui are
lungimea x. Pe nivelul 0 se află un singur nod (rădăcina).
Pe fiecare nivel nenul al unui arbore cu rădăcină există cel puțin o frunză. Dacă ultimul nivel
este 3, atunci numărul minim de noduri din arbore este: (4p.)
a. 5 b. 6 c. 7 d. 8
Scrieţi pe foaia de examen răspunsul pentru fiecare dintre cerinţele următoare.
3. Se consideră declararea alăturată, în care variabila t
memorează, pentru fiecare dintre cele 10 triunghiuri,
lungimile laturilor.
Scrieţi o expresie C/C++ care are valoarea 1 dacă şi numai
dacă primul triunghi dintre cele menţionate este echilateral.
(6p.)
struct triunghi {
int x,y,z;
} t[10];
4. Scrieţi matricea de adiacenţă a unui graf orientat cu 5 vârfuri şi 3 arce, ştiind că el are un
număr maxim de vârfuri care au gradul intern egal cu gradul extern. (6p.)
5. Scrieţi un program C/C++ care citeşte de la tastatură două numere naturale din intervalul
[2,50], m şi n, şi elementele unui tablou bidimensional cu m linii şi n coloane, numere
naturale distincte, din intervalul [0,104]. Programul interschimbă valoarea minimă din
ultima coloană a tabloului cu valoarea minimă din prima coloană a tabloului, apoi afişează
pe ecran tabloul modificat, câte o linie a tabloului pe câte o linie a ecranului, elementele
fiecărei linii fiind separate prin câte un spaţiu.
Exemplu: dacă m=4, n=3 şi tabloul este
7 5 19 atunci se obţine tabloul următor: 7 5 19
3 8 4 1 8 4
23 6 1 23 6 3
10 2 9 10 2 9 (10p.)

Subiectul · pagina 3

Ministerul Educaţiei Naționale
Centrul Naţional de Evaluare şi Examinare
Probă scrisă la informatică Varianta 5
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ă toate modalităţile de a scrie numărul 6 ca
sumă de numere naturale impare. Termenii fiecărei sume sunt în ordine crescătoare. Cele
patru soluţii sunt obţinute în această ordine: 1+1+1+1+1+1; 1+1+1+3; 1+5; 3+3.
Aplicând acelaşi algoritm, numărul soluţiilor obţinute pentru scrierea lui 8 este: (4p.)
a. 5 b. 6 c. 8 d. 9
Scrieţi pe foaia de examen răspunsul pentru fiecare dintre cerinţele următoare.
2. Se consideră subprogramul f, definit alăturat. Scrieţi ce se
afișează în urma executării instrucțiunii:
cout<<f(10)<<’ ’<<f(11); |
printf(”%d %d”,f(10),f(11));
(6p.)
int f (int x)
{ if (x%2==0)
return x;
return f(x/2);
}
3. Subprogramul produs are doi parametri:
• a, prin care primește un număr natural (a∈∈∈∈[1,106]);
• k, prin care furnizează cea mai mare valoare naturală impară cu proprietatea că
produsul tuturor numerelor impare din intervalul [1,k] este mai mic sau egal cu a.
Scrieți definiția completă a subprogramului.
Exemplu: dacă a=200, atunci k=7 (1⋅⋅⋅⋅3⋅⋅⋅⋅5⋅⋅⋅⋅7≤200<1⋅⋅⋅⋅3⋅⋅⋅⋅5⋅⋅⋅⋅7⋅⋅⋅⋅9). (10p.)
4. Fişierul bac.txt conţine un şir de cel mult 106 numere naturale din intervalul [1,109],
ordonate crescător. Numerele din şir sunt separate prin câte un spaţiu.
Se cere să se afişeze pe ecran cel mai mic număr din şir care apare în fişier de un număr
impar de ori.
Dacă în fişier nu se află o astfel de valoare, pe ecran se afişează mesajul nu exista.
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 numerele
5 5 8 8 8 8 20 20 20 34 54 54 65 65 65
atunci pe ecran se afişează 20.
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 5
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 5
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. c 4p.
2. a) Răspuns corect: 14 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ţ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 1p. dacă s-a scris o
instrucțiune de decizie, dar expresia logică nu
este conform cerinței.
(**) Se acordă numai 2p. dacă numai 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ă
-acces la primul element al tabloului
-acces la câmpurile înregistrării
-verificarea egalităţii perechilor de laturi
-operatori logici utilizaţi conform cerinţei
6p.
1p.
2p.
2p.
1p.

Baremul · pagina 2

Ministerul Educaţiei Naționale
Centrul Naţional de Evaluare şi Examinare
Probă scrisă la informatică Varianta 5
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ă 6p. Se acordă câte 2p. pentru fiecare
parametru al matricei de adiacență
(dimensiuni, număr de valori nenule/nule,
elemente nenule corespunzătoare
numărului de vârfuri cu gradele indicate)
conform cerinței.
5. 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 (minim prima coloană, minim
ultima coloană, interschimbare) al cerinţei.
SUBIECTUL al III - lea (30 de puncte)
1. b 4p.
2. Răspuns corect: 10 2 6p. Se acordă câte 3p. pentru fiecare valoare
conform cerinţei.
3. Pentru subprogram corect
-structură antet principial corectă
-declarare corectă a parametrilor
-determinare a numărului cu
proprietatea cerută (*)
-furnizare a rezultatului prin
parametru
-declarare a tuturor variabilelor
locale, corectitudine globală a
subprogramului1)
10p.
1p.
1p.
6p.
1p.
1p.
(*) Se acordă câte 2p. pentru fiecare aspect
al cerinței (algoritm principial corect pentru
produs, factori impari, valoare maximă din
interval).
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
nu exista
-utilizare a unui algoritm eficient (***)
-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 (de complexitate O(n)), care
utilizează eficient memoria.
O soluţie posibilă parcurge cel mult o dată
fişierul, numărând apariţiile fiecărei valori
distincte din şir, până la întâlnirea primei
valori care apare de un număr impar de ori.
1) Corectitudinea globală vizează structura, sintaxa, alte aspecte neprecizate în barem.