Înapoi la fișa subiectului

Textul subiectului și baremului

Subiect BAC Informatică Mate-Info C/C++ 2010 – 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, Cercetării, Tineretului şi Sportului
Centrul NaŃional de Evaluare şi Examinare
Probă scrisă la INFORMATICĂ Varianta 10
Specializarea matematică-informatică Limbajul C/C++
1
Examenul de bacalaureat 2010
Proba E-d)
Proba scrisă la INFORMATICĂ
Limbajul C/C++
Specializarea matematică informatică
Varianta 10
• Toate subiectele (I, II şi III) sunt obligatorii. Se acordă 10 puncte din oficiu.
• Timpul efectiv de lucru 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ă).
SUBIECTUL I (30 de puncte)
Pentru itemul 1, scrieŃi pe foaia de examen litera corespunzătoare răspunsului corect.
1. IndicaŃi care dintre expresiile C/C++ de mai jos are valoarea 1 dacă şi numai dacă
numărul natural memorat în variabila întreagă n este divizibil cu 2 şi cu 7. (4p.)
a. !( (n%2==1) || (n%7!=0) ) b. (n%2==0) && (n%7!=0)
c. (n%2==0) || !(n%7==0) d. (n%7==2) && (n%2==7)
2. Se consideră algoritmul alăturat descris în
pseudocod:
S-a notat cu x%y restul împărŃirii numărului natural x
la numărul natural nenul y şi cu [z] partea întreagă a
numărului real z.
a) ScrieŃi numărul afişat dacă pentru variabila n se
citeşte valoarea 64598. (6p.)
b) ScrieŃi toate numerele de exact trei cifre care
pot fi citite pentru variabila n astfel încât, pentru
fiecare dintre acestea, numărul afişat în urma
executării algoritmului să fie 24. (4p.)
citeşte n (număr natural nenul)
m0
┌repetă
│ cn%10
│ n[n/10]
│┌dacă c>5 atunci
││ c[c/2]
│└■
│ mm*10+c
└până când n=0
scrie m
c) ScrieŃi în pseudocod un algoritm, echivalent cu cel dat, în care să se înlocuiască structura
repetă...până când 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, Cercetării, Tineretului şi Sportului
Centrul NaŃional de Evaluare şi Examinare
Probă scrisă la INFORMATICĂ Varianta 10
Specializarea matematică-informatică Limbajul C/C++
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. Se consideră declararea alăturată, în care variabila
FIG memorează coordonatele, în planul xOy, ale
centrului unui cerc, precum şi lungimea razei acestuia.
O expresie C/C++ care are valoarea 1 dacă şi numai
dacă centrul cercului se află pe prima bisectoare a
sistemului de coordonate al planului xOy este: (4p.)
struct cerc {
float x, y;
float raza;
} FIG;
a. centru(x)==centru(y) b. FIG.cerc.x==FIG.cerc.y
c. FIG(x)==FIG(y) d. FIG.x==FIG.y
2. O matrice de adiacenŃă prin care poate fi reprezentat graful
orientat cu 3 vârfuri, reprezentat în figura alăturată, este: (4p.)
a. 0 1 0
0 0 1
0 0 0
b. 0 0 1
0 0 1
0 0 0
c. 0 0 0
0 0 1
0 0 1
d. 0 1 0
1 0 1
0 1 0
ScrieŃi pe foaia de examen răspunsul pentru fiecare dintre cerinŃele următoare.
În secvenŃa de instrucŃiuni de mai jos, variabilele i şi j sunt de tip întreg şi se consideră că
variabila A memorează elementele, iniŃial nule, ale unui tablou bidimensional, cu 5 linii şi 5
coloane, numerotate de la 0 la 4.
Fără a utiliza şi alte variabile decât cele menŃionate mai sus, scrieŃi o instrucŃiune care
poate înlocui punctele de suspensie astfel încât, în urma executării secvenŃei, tabloul
memorat în variabila A să aibă elementele din figura de mai jos.
3.
for(i=0;i<5;i++)
for(j=0;j<5;j++)
.......
1 2 3 4 5
3 4 5 6 7
5 6 7 8 9
7 8 9 10 11
9 10 11 12 13 (6p.)
4. Se consideră arborele cu rădăcină, având 10 noduri, numerotate de la 1 la 10, cu vectorul
de „taŃi” t=(3,3,8,0,8,9,9,4,4,9). EnumeraŃi toate nodurile arborelui care au exact
doi fii. (6p.)
5. Se consideră un text cu cel mult 100 de caractere, format din cuvinte şi numere, separate
prin unul sau mai multe spaŃii. Cuvintele sunt formate numai din litere ale alfabetului
englez. Toate numerele sunt reale, pozitive şi sunt formate numai din parte întreagă sau
din parte întreagă şi parte fracŃionară, separate prin punctul zecimal (.).
ScrieŃi un program C/C++ care citeşte de la tastatură textul, pe care îl transformă,
eliminând din componenŃa sa toate numerele care au parte fracŃionară. Programul afişează
apoi pe ecran textul obŃinut.
Exemplu: dacă textul citit este
Reprezentat cu 4 zecimale PI este 3.1415 si e este 2.7182
se va afişa pe ecran textul:
Reprezentat cu 4 zecimale PI este si e este (10p.)

Subiectul · pagina 3

Ministerul EducaŃiei, Cercetării, Tineretului şi Sportului
Centrul NaŃional de Evaluare şi Examinare
Probă scrisă la INFORMATICĂ Varianta 10
Specializarea matematică-informatică Limbajul C/C++
3
SUBIECTUL al III-lea (30 de puncte)
Pentru itemul 1, scrieŃi pe foaia de examen litera corespunzătoare răspunsului corect.
1. Se consideră subprogramul p, definit
alăturat. Valoarea lui p(210, 49)
este:
(4p.)
int p(int m, int n)
{ if(n==0) return 1;
return 1+p(n, m%n);
}
a. 1 b. 2 c. 3 d. 4
ScrieŃi pe foaia de examen răspunsul pentru fiecare dintre cerinŃele următoare.
2. Având la dispoziŃie cinci flori diferite, lalea, narcisă, mac, frezie, garoafă, se
utilizează metoda backtracking pentru a obŃine toate posibilităŃile de a forma un
aranjament floral, ştiind că se folosesc toate cele cinci flori şi contează ordinea de aşezare
a acestora. Primele patru soluŃii obŃinute sunt, în această ordine: (lalea, narcisă, mac,
frezie, garoafă), (lalea, narcisă, mac, garoafă, frezie), (lalea, narcisă,
frezie, mac, garoafă), (lalea, narcisă, frezie, garoafă, mac). ScrieŃi ultimele
două soluŃii generate, în ordinea obŃinerii lor. (6p.)
3. Subprogramul tablou are trei parametri:
 n şi k, prin care primeşte câte un număr natural (3≤n≤20, 2≤k≤10);
 a, prin care furnizează un tablou unidimensional care memorează un şir crescător de
n⋅⋅⋅⋅k termeni, din mulŃimea primelor n numere naturale nenule, fiecare astfel de număr
fiind în şir de exact k ori.
ScrieŃi în limbajul C/C++ definiŃia completă a subprogramului.
Exemplu: dacă n=4, k=3 atunci, după apel, a=(1,1,1,2,2,2,3,3,3,4,4,4). (10p.)
Fişierul BAC.TXT conŃine, în ordine crescătoare, cel puŃin două şi cel mult 10000 de
numere naturale. Numerele sunt separate prin câte un spaŃiu şi au cel mult 9 cifre fiecare.
Cel puŃin un număr din fişier este par.
a) ScrieŃi un program C/C++ care citeşte toate numerele din fişier şi, printr-un algoritm
eficient din punct de vedere al timpului de executare şi al memoriei utilizate, determină şi
afişează pe ecran, în ordine strict crescătoare, separate prin câte un spaŃiu, toate
numerele pare care apar în fişier. Fiecare număr se va afişa o singură dată. (6p.)
Exemplu: dacă fişierul are conŃinutul de mai jos
1 1 2 2 2 7 10 10 10 10 24
pe ecran se afişează, în această ordine, numerele 2 10 24.
4.
b) DescrieŃi în limbaj natural (3-4 rânduri) algoritmul utilizat la punctul a) şi justificaŃi
eficienŃa acestuia. (4p.)

Baremul

Deschide PDF-ul original

Baremul · pagina 1

Ministerul EducaŃiei, Cercetării, Tineretului şi Sportului
Centrul NaŃional de Evaluare şi Examinare
Probă scrisă la INFORMATICĂ Varianta 10
Specializarea matematică-informatică
1
Examenul de bacalaureat 2010
Proba E-d)
Proba scrisă la INFORMATICĂ
Specializarea matematică-informatică
Subiecte 2009
BAREM DE CORECTARE ŞI DE NOTARE
(comun pentru limbajele Pascal şi C/C++)
Varianta 10
• Nu se acordă punctaje intermediare, altele decât cele precizate explicit prin barem. Nu se acordă
fracŃiuni de punct.
• Se punctează oricare alte formulări/ modalităŃi de rezolvare corectă a cerinŃelor.
• Se acordă 10 puncte din oficiu. Nota finală se calculează prin împărŃirea punctajului total acordat
pentru lucrare la 10.
• În programele cerute, datele de intrare se consideră corecte, validarea acestora nefiind necesară.
• 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) 44543 6p.
b) 420 820 920 (*) 4p. (*) Numerele pot fi scrise în orice ordine.
Se acordă câte 1p. pentru fiecare dintre primele
două numere menŃionate corect şi 2p. pentru al
treilea număr menŃionat corect.
c) Pentru algoritm pseudocod corect
- structură repetitivă corectă
- echivalenŃa prelucrării realizate
- algoritm complet
- corectitudine globală
6p.
2p.
2p.
1p.
1p.
d) Pentru program corect
-declararea corectă a tuturor variabilelor
-citire corectă
-scriere corectă
-structură repetitivă corectă
-structură de decizie corectă
-atribuiri corecte
-corectitudinea globală a programului1)
10p.
2p.
1p.
1p.
2p.
2p.
1p.
1p.
SUBIECTUL al II-lea 30 de puncte
1) d 4p.
2) b 4p.
3) Pentru rezolvare corectă
- acces corect la un element al tabloului
- completarea corectă a întregului tablou (*),
(**)
- utilizarea numai a variantelor indicate
6p.
1p.
4p.
1p.
(*) O soluŃie posibilă reprezintă transpunerea în
limbaj de programare a uneia dintre
instrucŃiunile pseudocod:
ai,j2*i+j+1
sau
aj,i2*j+i+1
sau
┌dacă j=0 atunci ai,j2*i+1
│altfel ai,j1+ai,j-1
└■
(**) Se acordă numai 1p. dacă tabloul este
completat corect doar parŃial.
4) Răspuns corect: 3, 4, 8 (*) 6p. (*) Se acordă câte 2p. pentru fiecare nod
menŃionat corect.

Baremul · pagina 2

Ministerul EducaŃiei, Cercetării, Tineretului şi Sportului
Centrul NaŃional de Evaluare şi Examinare
Probă scrisă la INFORMATICĂ Varianta 10
Specializarea matematică-informatică
2
5) Pentru program corect
- declararea corectă a tuturor variabilelor (şir
de caractere şi variabile simple)
- citire corectă a datelor
- determinarea corectă a unui număr cu
proprietatea cerută
- eliminarea unei porŃiuni din şir
- prelucrarea şirului conform cerinŃei (*)
- afişarea rezultatului
- corectitudinea globală a programului1)
10p.
1+1p.
1p.
2p.
1p.
2p.
1p.
1p.
(*) Se acordă numai 1p. dacă se elimină şi alte
numere decât cele indicate sau dacă nu se
elimină toate numerele cu proprietatea indicată.
SUBIECTUL al III-lea 30 de puncte
1) d 4p.
2) Răspuns corect:
(garoafă, frezie, mac, lalea,
narcisă),
(garoafă, frezie, mac, narcisă,
lalea) (*)
6p. (*) Se acordă doar 3p. dacă numai una dintre cele
două soluŃii este corectă sau dacă soluŃiile nu
respectă ordinea cerută.
3) Pentru subprogram corect
- structură antet principial corectă
- declarare corectă a parametrilor de
intrare
-declarare corectă a parametrului de ieşire
- accesul corect la un element al tabloului
- generarea unui subşir de k termeni egali
- generarea celor n*k termeni ai şirului
- memorarea în tablou a tuturor numerelor
indicate, conform cerinŃei
- furnizarea rezultatului prin parametrul
indicat
- corectitudinea globală a subprogramului1)
10p.
1p.
1p.
1p.
1p.
1p.
1p.
2p.
1p.
1p.
a) Pentru program corect
- operaŃii cu fişiere: declarare, pregătire în
vederea citirii, citire din fişier
- afişarea numerelor conform cerinŃei (*)
- utilizarea unui algoritm eficient (**)
- declarare de variabile, corectitudinea
globală a programului1)
6p.
1p.
2p.
2p.
1p.
(*) Se acordă punctajul chiar dacă soluŃia
propusă nu prezintă elemente de eficienŃă.
(**) Punctajul se acordă numai pentru un
algoritm liniar (de complexitate O(n)), care nu
utilizează un tablou.
4)
b) Pentru răspuns corect
- coerenŃa explicării metodei (*)
- explicarea unor elemente de eficienŃă
din punct de vedere al timpului de
executare
- explicarea unor elemente de eficienŃă
din punct de vedere al memoriei utilizate
4p.
2p.
1p.
1p.
(*) Se acordă punctajul chiar dacă metoda
aleasă nu este eficientă.
1) Corectitudinea globală vizează structura, sintaxa şi alte greşeli neprecizate în barem.