Înapoi la fișa subiectului

Textul subiectului și baremului

Subiect BAC Informatică Mate-Info C/C++ 2016 – varianta 10

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 10
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 2016
Proba E. d)
Informatică
Limbajul C/C++
Varianta 10
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. Indicaţi o expresie C/C++ care are valoarea 1 dacă şi numai
dacă valoarea variabilei 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 m,n,x
(numere natural nenule, m<n)
p0
┌cât timp m<n şi p=0 execută
│┌dacă m%x=0 şi n%x=0 atunci
││ px
││altfel
││┌dacă m%x=0 atunci
│││ nn-1
│││altfel
│││ mm+1
││└■
│└■
└■
scrie m,’ ’,n
a) Scrieţi valorile afişate în urma executării
algoritmului dacă se citesc, în această ordine,
numerele 11, 30 și 7. (6p.)
b) Scrieţi un set de valori care pot fi citite pentru
variabilele m, n şi x, astfel încât, în urma
executării algoritmului, să se afişeze două
numere egale. (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 10
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. În declararea alăturată, variabila m memorează
anul fabricaţiei şi marca unei maşini. Indicaţi o
expresie C/C++ care are valoarea 1 dacă şi numai
dacă maşina a fost fabricată înainte de anul 1950.
(4p.)
struct masina
{ int an_fabricatie;
char marca[20];
} m;
a. m.an_fabricatie<1950 b. m.masina.an_fabricatie.m<1950
c. m(an_fabricatie)<1950 d. masina(an_fabricatie)<1950
2. Matricea de adiacenţă a unui graf neorientat cu 5 noduri are 6 elemente nenule. Numărul
minim de componente conexe ale grafului este: (4p.)
a. 1 b. 2 c. 3 d. 5
Scrieţi pe foaia de examen răspunsul pentru fiecare dintre cerinţele următoare.
3. Un arbore cu 8 noduri, numerotate de la 1 la 8, are drept rădăcină nodul numerotat cu 7 şi
muchiile [1,7], [2,5], [3,5], [3,6], [4,7], [5,7], [5,8]. Enumeraţi nodurile care
sunt descendenţi direcţi („fii”) ai nodului 5. (6p.)
4. În secvenţa de instrucțiuni de mai jos variabilele s1 și s2 memorează câte un şir cu cel
mult 20 de caractere. Scrieţi ce se afişează pe ecran în urma executării secvenţei.
strcpy(s1,”informatica”);
cout<<strlen(s1); | printf(”%d”,strlen(s1));
strcpy(s2,”mate”);
strcat(s2,strstr(s1,”ma”));
cout<<s2; | printf(”%s”,s2); (6p.)
5. Scrieţi un program C/C++ care citeşte de la tastatură un număr natural, n (n∈∈∈∈[2,102]), şi
construieşte în memorie un tablou bidimensional, cu n linii şi n coloane, astfel:
• prima coloană conţine, în ordine strict crescătoare, numerele naturale din intervalul [1,n];
• toate elementele ultimei linii au valoarea n;
• oricare alt element este obţinut prin însumarea celor două elemente vecine cu el, aflate pe
coloana anterioară, unul pe aceeaşi linie cu el, iar celălalt pe linia următoare, ca în
exemplu.
Programul afişează pe ecran tabloul obţinut, fiecare linie a tabloului pe câte o linie a
ecranului, elementele fiecărei linii fiind separate prin câte un spaţiu.
Exemplu: pentru n=4 pe ecran se afişează:
1 3 8 20
2 5 12 23
3 7 11 15
4 4 4 4
(10p.)

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 10
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. Subprogramul f este definit alăturat.
Indicaţi ce se afişează în urma apelului de
mai jos.
f(2016); (4p.)
void f(int n)
{ if (n!=0)
{ cout<<n; | printf(”%d”,n);
f(n/10);
}
}
a. 6102 b. 2202012016 c. 2016201202 d. 20162012020
Scrieţi pe foaia de examen răspunsul pentru fiecare dintre cerinţele următoare.
2. Având la dispoziţie cinci tipuri de prăjituri, cu pere, cu mure, cu afine, cu fragi, cu
zmeură, se utilizează metoda backtracking pentru a obţine toate posibilităţile de a forma
platouri cu câte trei tipuri de prăjituri diferite, ştiind că în cadrul unui platou nu contează
ordinea de aşezare a prăjiturilor şi că prăjiturile cu mure nu vor fi plasate pe acelaşi platou
cu prăjiturile cu fragi. Primele patru soluţii obţinute sunt, în această ordine: (pere, mure,
afine), (pere, mure, zmeură), (pere, afine, fragi), (pere, afine, zmeură). Scrieţi
cea de a cincea şi cea de a şasea soluţie, în ordinea obţinerii lor. (6p.)
3. Subprogramul cifreImpare are un singur parametru, n, prin care primeşte un număr
natural cu toate cifrele nenule (n∈∈∈∈[1,109]). Subprogramul returnează numărul obţinut
prin eliminarea tuturor cifrelor impare din n, respectiv -1 dacă nu există astfel de cifre sau
dacă toate cifrele lui n sunt impare.
Scrieţi definiţia completă a subprogramului.
Exemplu: dacă n=23541 subprogramul returnează 24, iar dacă n=28 subprogramul
returnează -1. (10p.)
4. Fişierul numere.in conţine pe prima linie un număr natural n (n∈∈∈∈[2,109]), iar pe a doua
linie un şir de cel mult 109 numere naturale din intervalul [1,n]. Numerele din şir sunt
ordonate crescător şi sunt separate prin câte un spaţiu.
Se cere să se determine valorile naturale distincte din intervalul [1,n] care NU se găsesc
în şirul menţionat mai sus. Valorile determinate se afişează pe ecran în ordine strict
crescătoare, separate prin câte un spaţiu. Dacă nu există astfel de valori, se afişează pe
ecran mesajul Nu exista.
Pentru determinarea valorilor cerute se utilizează un algoritm eficient din punctul de
vedere al memoriei şi al timpului de executare.
Exemplu: dacă fişierul conţine numerele
10
3 4 4 8
se afişează pe ecran valorile
1 2 5 6 7 9 10
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 10
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 2016
Proba E. d)
Informatică
Barem de evaluare și de notare
(comun pentru limbajele C/C++ şi Pascal)
Varianta 10
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. d 4p.
2. a) Răspuns corect: 14 28 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ţ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. a 4p.
2. b 4p.
3. Răspuns corect: 2 3 8 6p. Se acordă numai 2p. dacă doar un nod este
conform cerinței, numai 4p. dacă doar două
noduri sunt conform cerinței sau dacă, în
plus față de răspunsul corect, au fost
adăugate și alte noduri.

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 10
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 răspuns corect
-rezultat al primei instrucțiuni de afișare
-rezultat al celei de a doua instrucțiuni de
afișare
-date (număr și cuvânt) afișate pe
aceeași linie a ecranului
6p.
2p.
3p.
1p.
5. Pentru program corect
-declarare a unei variabile care să
memoreze un tablou bidimensional
-citire a datelor
-construire a tabloului conform cerinței (*)
-afişare a datelor
-declarare variabile simple, corectitudine
globală a programului1)
10p.
1p.
1p.
6p.
1p.
1p.
(*) Se acordă câte 2p. pentru fiecare aspect
al cerinței (plasare valori pe prima coloană,
plasare valori pe ultima linie, plasare valori
pe celelalte poziții ale tabloului).
SUBIECTUL al III - lea (30 de puncte)
1. c 4p.
2. Răspuns corect:
(pere, fragi, zmeură)
(mure, afine, zmeură)
6p. Se acordă câte 2p. pentru fiecare aspect al
cerinţei (prima soluţie scrisă, a doua soluţie
scrisă, ordinea soluţiilor).
3. Pentru subprogram corect
-structură antet principial corectă
-declarare a parametrului
-determinare a numărului cerut (*)
-returnare a rezultatului
-declarare a tuturor variabilelor
locale, corectitudine globală a
subprogramului1)
10p.
1p.
1p.
6p.
1p.
1p.
(*) Se acordă câte 1p. pentru fiecare aspect
al cerinței (acces la o cifră a numărului, cifre
pare/impare, cifre suport, obținere rezultat
pentru număr cu cifre pare și impare,
obținere rezultat pentru număr doar cu cifre
pare, obținere rezultat pentru număr doar cu
cifre impare).
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, care utilizează eficient
memoria.
O soluţie posibilă afișează toate numerele
naturale din intervalul [1,x), unde x este
primul număr din fișier, apoi parcurge
numerele din fișier memorând, la fiecare
pas, ultimele două numere citite, x și y, și
afișând toate numerele naturale din
intervalul (x,y). La final, se afișează
numerele din intervalul (y,n]
1) Corectitudinea globală vizează structura, sintaxa, alte aspecte neprecizate în barem.