Înapoi la fișa subiectului

Textul subiectului și baremului

Subiect BAC Informatică Mate-Info C/C++ 2011 – varianta 9

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 9
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 2011
Proba E. d)
Proba scrisă la INFORMATICĂ
Limbajul C/C++
Varianta 9
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 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.
2. Se consideră algoritmul alăturat, descris în
pseudocod.
a. ScrieŃi numerele care se afişează în urma
executării algoritmului, în ordine, dacă pentru n
se citeşte valoarea 5, iar pentru k se citeşte
valoarea 2. (6p.)
b. Dacă pentru variabila k se citeşte valoarea 5,
scrieŃi cea mai mică şi cea mai mare valoare
care pot fi citite pentru variabila n astfel încât, în
urma executării algoritmului, ultimul număr care
se afişează, pentru fiecare dintre aceste valori,
să fie 7. (6p.)
c. ScrieŃi în pseudocod un algoritm care să conŃină
o singură structură repetitivă în loc de două şi
care să fie echivalent cu cel dat. (4p.)
d. ScrieŃi programul C/C++ corespunzător
algoritmului dat. (10p.)
citeşte n,k
(numere naturale nenule)
t0
┌cât timp n≥≥≥≥1 execută
│┌dacă n>k atunci ik
││altfel in
│└■
│ tt+1
│ nn-i
│┌cât timp i≥≥≥≥1 execută
││ scrie t,' '
││ ii-1
│└■
└■
1. IndicaŃi care dintre expresiile C/C++ de mai jos are valoarea 1 dacă şi numai dacă numărul
memorat în variabila întreagă x aparŃine reuniunii de intervale [-3,-1]∪∪∪∪[1,3]. (4p.)
a. x>=-3 && x<=-1 && x>=1 && x<=3
b. !(x<-3 || x>-1) || !(x<1 || x>3)
c. x>=-3 || x<=-1 || x>=1 || x<=3
d. !(x<-3 && x>3 && x>-1 || x<1)

Subiectul · pagina 2

Ministerul EducaŃiei, Cercetării, Tineretului şi Sportului
Centrul NaŃional de Evaluare şi Examinare
Probă scrisă la Informatică Varianta 9
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. Numim pădure un graf neorientat în care fiecare componentă conexă a sa este un arbore.
Orice pădure cu cel puŃin doi arbori este un graf care: (4p.)
a. are cicluri şi este conex b. are cicluri şi nu este conex
c. nu are cicluri şi este conex d. nu are cicluri şi nu este conex
2. Se consideră graful orientat cu 6 vârfuri, numerotate de la 1 la 6, şi mulŃimea arcelor
{(1,4), (2,1), (2,4), (2,6), (4,1), (4,6)}. Numărul de subgrafuri ale sale, fiecare
având mulŃimea arcelor {(1,4), (2,1), (2,4), (4,1)}, este: (4p.)
a. 2 b. 3 c. 4 d. 5
ScrieŃi pe foaia de examen răspunsul pentru fiecare dintre cerinŃele următoare.
3. Se consideră graful neorientat cu 5 noduri, numerotate de la 1 la 5,
reprezentat prin listele de adiacenŃă alăturate.
EnumeraŃi nodurile care fac parte din componenta conexă a grafului dat
care are cele mai puŃine noduri. (6p.)
1: 4, 5
2: 3
3: 2
4: 1
5: 1
În secvenŃa de instrucŃiuni de mai jos variabilele i şi j sunt de tip întreg şi variabila A este
de tip tablou bidimensional cu 5 linii şi 5 coloane, numerotate de la 0 la 4, cu elemente
numere întregi.
Fără a utiliza alte variabile, scrieŃi o instrucŃiune care poate înlocui punctele de suspensie
astfel încât, în urma executării secvenŃei obŃinute, tabloul memorat în variabila A să aibă
elementele din figura de mai jos. Înainte de executarea secvenŃei toate elementele
tabloului sunt nule.
4.
for(i=0;i<5;i++)
for(j=0;j<5;j++)
..............
0 1 2 3 4
1 2 3 4 5
2 3 4 5 6
3 4 5 6 7
4 5 6 7 8 (6p.)
5. ScrieŃi un program C/C++ care citeşte de la tastatură un număr natural n (2≤n≤20) şi apoi n
cuvinte distincte, fiecare fiind format din cel mult 20 de caractere, numai litere mici ale
alfabetului englez. La introducerea datelor, după fiecare cuvânt se tastează Enter. Programul
afişează pe ecran numărul de cuvinte dintre ultimele n-1 citite, care încep cu primul cuvânt
citit.
Exemplu: dacă n=5 şi cuvintele citite sunt:
bun
buncar
bunici
abundent
bunavoie
pe ecran se afişează 3 (deoarece numai cuvintele buncar, bunici şi bunavoie încep cu
bun). (10p.)

Subiectul · pagina 3

Ministerul EducaŃiei, Cercetării, Tineretului şi Sportului
Centrul NaŃional de Evaluare şi Examinare
Probă scrisă la Informatică Varianta 9
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.
Se consideră subprogramele recursive C1 şi C2, definite mai jos.
int C1 (int a, int b)
{ if(a==b) return a;
else if(a>b) return C1(a-b,b);
else return C1(a,b-a);
}
int C2 (int a, int b)
{ if(b==0) return a;
else return C2(b,a%b);
}
1.
La apel, returnează valoarea celui mai mare divizor comun al celor două numere naturale
nenule primite ca parametri: (4p.)
a. numai C1 b. numai C2 c. atât C1 cât şi C2 d. nici C1 nici C2
ScrieŃi pe foaia de examen răspunsul pentru fiecare dintre cerinŃele următoare.
2. Având la dispoziŃie cinci mărgele de culori diferite, roşu, galben, verde, albastru,
violet, se utilizează metoda backtracking pentru a obŃine toate posibilităŃile de a forma
şiruri de câte trei mărgele, ştiind că în cadrul unui şir contează ordinea de aşezare a
mărgelelor. Culorile mărgelelor, corespunzătoare primelor patru soluŃii obŃinute sunt, în
această ordine: (roşu, galben, verde), (roşu, galben, albastru), (roşu, galben,
violet), (roşu, verde, galben). ScrieŃi ultimele două soluŃii generate, în ordinea
obŃinerii lor. (6p.)
3. Subprogramul inserare are doi parametri:
 n, prin care primeşte un număr natural (2≤n≤20);
 a, prin care primeşte un tablou unidimensional care memorează un şir de n numere
naturale, fiecare cu cel mult 4 cifre. Cel puŃin un element al tabloului este număr par.
Subprogramul modifică tabloul astfel încât după fiecare termen par al şirului inserează
valoarea 2011 şi furnizează, tot prin parametrii n şi a, valorile actualizate ale datelor
primite.
ScrieŃi în limbajul C/C++ definiŃia completă a subprogramului.
Exemplu: dacă n=7 şi a=(1,4,5,3,82,6,2) atunci, după apel,
n=11 şi a=(1,4,2011,5,3,82,2011,6,2011,2,2011). (10p.)
4. Se citesc de la tastatură două numere naturale s1 şi s2 (0<s1≤≤≤≤18, 0≤≤≤≤s2≤≤≤≤18) şi se cere
scrierea în fişierul BAC.TXT, fiecare pe câte o linie, în ordine strict crescătoare, a tuturor
numerelor naturale cu exact 5 cifre, pentru care suma primelor două cifre este egală cu
s1, iar suma ultimelor două cifre este egală cu s2. Pentru determinarea numerelor
indicate se utilizează un algoritm eficient din punct de vedere al timpului de executare.
Exemplu: dacă s1=8, iar s2=7, atunci 35725 este unul dintre numerele care respectă
proprietatea cerută (3+5=8 şi 2+5=7).
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, Cercetării, Tineretului şi Sportului
Centrul NaŃional de Evaluare şi Examinare
Probă scrisă la Informatică Varianta 9
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 2011
Proba E. d)
Proba scrisă la INFORMATICĂ
BAREM DE EVALUARE ŞI DE NOTARE
(comun pentru limbajele C/C++ şi Pascal)
Varianta 9
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.
• Î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. b 4p.
2. a. 1 1 2 2 3 6p. Se acordă numai 3p. pentru un răspuns
parŃial corect care să includă menŃionarea
secvenŃei formată din cel puŃin primii trei
termeni (1,1,2).
b. Pentru răspuns corect 6p. Se acordă câte 3p. pentru fiecare valoare
corectă.
c. Pentru algoritm pseudocod corect
-echivalenŃa prelucrării realizate,
conform cerinŃei (*) (**)
-corectitudinea globală a algoritmului
4p.
3p.
1p.
(*) Se acordă numai 1p. dacă algoritmul are
o singură structură repetitivă, principial
corectă, dar nu este echivalent cu cel dat.
Se va puncta orice formă corectă de
structură repetitivă: repetă...până când,
repetă...cât timp, execută...cât
timp, cât timp...execută,
do...while etc.
(**) Două soluŃii posibile sunt:
citeşte n,k
┌pentru i0,n-1 execută
│┌dacă i%k=0 atunci tt+1
│└■
│ scrie t
└■
sau
citeşte n,k
┌pentru i0,n-1 execută
│ scrie [i/k]+1
└■

Baremul · pagina 2

Ministerul EducaŃiei, Cercetării, Tineretului şi Sportului
Centrul NaŃional de Evaluare şi Examinare
Probă scrisă la Informatică Varianta 9
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
d. Pentru program corect
-declarare corectă a tuturor variabilelor
-citire corectă
-scriere corectă
-instrucŃiune de decizie corectă
-instrucŃiuni repetitive cu test iniŃial
corecte (*)
-atribuiri corecte
-corectitudine globală a programului1)
10p.
1p.
1p.
1p.
2p.
3p.
1p.
1p.
(*) Se acordă numai 2p. dacă doar una dintre
structuri este corectă.
SUBIECTUL al II-lea (30 de puncte)
1. d 4p.
2. c 4p.
3. Răspuns corect: 2 3 6p. Se acordă numai 3p. dacă se indică
nodurile care fac parte dintr-o componentă
conexă, dar nu cea care are cele mai puŃine
noduri.
4. Pentru răspuns corect (*)
-accesare a unui element al tabloului
-expresie corectă de calcul al valorii
elementului
-atribuire corectă
6p.
2p.
3p.
1p.
(*) O soluŃie posibilă este transcrierea în
limbaj de programare a atribuirii
Ai,ji+j
5. Pentru program corect
-declararea corectă a tuturor variabilelor
(şiruri de caractere + variabile simple)
-citirea corectă a tuturor datelor
-determinarea principial corectă a unui
cuvânt care începe cu un alt cuvânt
-numărarea cuvintelor cerute
-afişarea rezultatului
-corectitudinea globală a programului1)
10p.
1+1p.
2p.
2p.
2p.
1p.
1p.
SUBIECTUL al III-lea (30 de puncte)
1. c 4p.
2. Răspuns corect:
(violet, albastru, galben) şi
(violet, albastru, verde) (*)
6p. (*) Se acordă câte 2p. pentru fiecare triplet
menŃionat corect şi 2p. pentru enumerarea
acestora în ordinea cerută.
Nu se depunctează elevii dacă soluŃiile nu
sunt scrise între paranteze.
3. Pentru subprogram corect
-structură antet principial corectă
-declarare corectă a parametrilor (de
tip simplu + tablou) (*)
-transfer parametri conform cerinŃei
-declararea tuturor variabilelor locale
-algoritm principial corect de inserare
a unei valori în tablou
-inserare, după fiecare număr par, a
valorii indicate
-corectitudine globală a
subprogramului1)
10p.
1p.
1+1p.
1p.
1p.
2p.
2p.
1p.
(*) Pentru limbajul Pascal, parametrul de tip
tablou impune definirea, în prealabil, a unui
tip adecvat.

Baremul · pagina 3

Ministerul EducaŃiei, Cercetării, Tineretului şi Sportului
Centrul NaŃional de Evaluare şi Examinare
Probă scrisă la Informatică Varianta 9
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
3
a. Pentru răspuns corect
-coerenŃa explicării metodei (*)
-explicarea unor elemente de eficienŃă
din punct de vedere al timpului de
executare
4p.
2p.
2p.
(*) Se acordă punctajul chiar dacă metoda
aleasă nu este eficientă
4.
b. Pentru program corect
-operaŃii cu fişiere: declarare,
pregătire în vederea scrierii, scriere în
fişier
-respectarea cerinŃei privind primele
două cifre ale numărului
-respectarea cerinŃei privind ultimele
două cifre ale numărului
-afişarea tuturor numerelor cerute
(*),(**)
-utilizarea unui algoritm eficient (***)
6p.
1p.
1p.
1p.
2p.
1p.
(*) Se acordă punctajul chiar dacă soluŃia
propusă nu prezintă elemente de eficienŃă
sau afişează numerele cifră cu cifră.
(**) Se acordă numai 1p. dacă numerele nu
sunt scrise în formatul cerut sau dacă fişierul
conŃine, în plus, şi alte numere.
(***) Punctajul se acordă numai pentru un
algoritm în care una dintre primele două cifre
este determinată în funcŃie de cealaltă, şi
una dintre ultimele două cifre este
determinată în funcŃie de cealaltă.
O soluŃie posibilă de generare este
transpunerea în limbaj de programare a
secvenŃei pseudocod:
m1s1
┌dacă s1>9 atunci
│m19
└■
m2s2
┌dacă s2>9 atunci
│m29
└■
┌pentru c1=1,m1 execută
│ c2s1-c1
│┌pentru c3=0,9 execută
││┌pentru c4=0,m2 execută
│││c5s2-c4
│││scrie c1·104+c2·103+c3·102+c4·10+c5
││└■
│└■
└■
1) Corectitudinea globală vizează structura, sintaxa şi alte greşeli neprecizate în barem.