Înapoi la fișa subiectului

Textul subiectului și baremului

Subiect BAC Informatică Științe ale Naturii 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, specializarea ştiinŃe ale naturii
1
Examenul de bacalaureat 2011
Proba E. d)
Proba scrisă la INFORMATICĂ
Limbajul C/C++
Varianta 9
Filiera teoretică, profilul real, specializarea ştiinŃe ale naturii
• 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, specializarea ştiinŃe ale naturii
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. O expresie C/C++ care are valoarea 1 oricare ar fi numărul memorat în variabila întreagă x
este: (4p.)
a. abs(x)*abs(x)==x*x b. abs(x)<=x
c. abs(abs(x))!=abs(x) d. abs(x)*x==1
Se consideră secvenŃele notate cu C1 şi C2, descrise mai jos, în care toate variabilele sunt
de tip întreg.
//C1
while(a!=b)
if(a>b) a=a-b;
else b=b-a;
//C2
while(b!=0)
{ c=a%b; a=b; b=c; }
2.
Variabila a memorează cel mai mare divizor comun al celor două numere naturale nenule,
memorate iniŃial în variabilele a şi b, în urma executării: (4p.)
a. numai a algoritmului C1 b. numai a algoritmului C2
c. atât a algoritmului C1 cât şi a lui C2 d. niciunuia dintre cei doi algoritmi
ScrieŃi pe foaia de examen răspunsul pentru fiecare dintre cerinŃele următoare.
3. Se consideră variabilele s1, s2 şi s3, de tip char. ScrieŃi expresia care poate înlocui
punctele de suspensie astfel încât, în urma executării secvenŃei obŃinute, dacă se afişează
mesajul cel mai acesta să fie urmat de textul bun.
cin>>s1>>s2>>s3; | scanf(”%c%c%c”,&s1,&s2,&s3);
if(........)
cout<<”cel mai ”<<s1<<s2<<s3; | printf(”cel mai %c%c%c”,s1,s2,s3);
else
cout<<”acceptabil”; | printf(”acceptabil”); (6p.)
4. Se citesc două numere naturale nenule a şi P (a<P) şi se cere cea mai mică valoare
naturală k (0<k≤a) pentru care produsul tuturor numerelor naturale din intervalul [k,a]
este mai mic sau egal cu P.
Exemplu: dacă a=7 şi P=230 atunci k=5 (5⋅⋅⋅⋅6⋅⋅⋅⋅7<230<4⋅⋅⋅⋅5⋅⋅⋅⋅6⋅⋅⋅⋅7).
a) ScrieŃi, în pseudocod, algoritmul de rezolvare pentru problema enunŃată. (10p.)
b) MenŃionaŃi rolul tuturor variabilelor care au intervenit în prelucrarea realizată la punctul a)
şi indicaŃi datele de intrare, respectiv datele de ieşire ale problemei enunŃate. (6p.)

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, specializarea ştiinŃe ale naturii
3
SUBIECTUL al III-lea (30 de puncte)
Pentru itemul 1, scrieŃi pe foaia de examen litera corespunzătoare răspunsului corect.
În secvenŃa de instrucŃiuni de mai jos variabilele i, j şi x sunt de tip întreg.1.
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
for(i=0;i<5;i++){
for(j=0;j<5;j++){
x=......;
cout<<x<<’ ’; | printf("%d ",x);
}
cout<<endl; | printf("\n");
}
Expresia care poate înlocui punctele de suspensie astfel încât, în urma executării
secvenŃei obŃinute, să se afişeze pe ecran valorile din figura de mai sus, în această ordine,
este: (4p.)
a. i-j b. i+j c. i*j d. j-i
ScrieŃi pe foaia de examen răspunsul pentru fiecare dintre cerinŃele următoare.
2. Se consideră tablourile unidimensionale x=(16,15,9,8,5) şi y=(20,18,14,8,7).
ScrieŃi elementele tabloului z, obŃinut prin interclasarea descrescătoare a elementelor din
x şi y. Valorile sunt scrise în ordinea în care acestea apar în tabloul z. (6p.)
3. ScrieŃi un program C/C++ care citeşte de la tastatură un număr natural n (2≤n≤20) şi un
şir de n numere naturale, fiecare cu cel mult 4 cifre, dintre care cel puŃin unul este număr
par, construieşte în memorie un tablou unidimensional care să conŃină termenii şirului citit
şi apoi modifică tabloul, inserând după fiecare termen par al şirului numărul 2011.
Programul afişează pe ecran numărul de elemente ale tabloului şi, pe o linie nouă a
ecranului, valorile memorate în tablou, separate prin câte un spaŃiu.
Exemplu: dacă n=7, iar şirul este 1,4,5,3,82,6,2 atunci pe ecran se afişează
11
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 4 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 3525 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, specializarea ştiinŃe ale naturii
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, specializarea ştiinŃe ale naturii
• 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, specializarea ştiinŃe ale naturii
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. a 4p.
2. c 4p.
3. Pentru rezolvare corectă 6p. Se acordă numai 3p. pentru o expresie care
îndeplineşte parŃial condiŃia cerută.
a. Pentru rezolvare corectă
-citirea datelor
-determinarea produsului unui şir de
numere consecutive
-determinarea celei mai mari valori
pentru produs, conform cerinŃei
-determinarea limitei inferioare a
intervalului
-scrierea principial corectă a
structurilor de control (*)
-scrierea rezultatului
10p.
1p.
2p.
2p.
2p.
2p.
1p.
(*) Se va puncta orice formă corectă de
structură repetitivă (de exemplu
execută…cât timp, execută… până când,
repetă…până când, do...while etc.) sau
decizională.
4.
b. Pentru răspuns corect
-menŃionarea rolului variabilelor
utilizate (*)
-date de intrare identificate corect
-date de ieşire identificate corect
6p.
2p.
2p.
2p.
(*) Se acordă numai 1p. dacă s-au
identificat doar o parte din variabilele
utilizate sau dacă nu pentru toate
variabilele este corect menŃionat rolul
acestora.
SUBIECTUL al III-lea (30 de puncte)
1. b 4p.
2. Răspuns corect:
(20,18,16,15,14,9,8,8,7,5) (*)
6p. (*) Se acordă numai 3p. dacă valorile
menŃionate sunt distincte.
Nu se depunctează elevii dacă soluŃia nu este
scrisă între paranteze.
3. Pentru program corect
-declarare corectă a variabilelor (de tip
simplu + tablou)
-citire a datelor
-algoritm principial corect de inserare
a unei valori în tablou
-inserare, după fiecare număr par, a
valorii indicate
-afişare a rezultatelor
-corectitudine globală a programului1)
10p.
1+1p.
1p.
2p.
2p.
2p.
1p.

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, specializarea ştiinŃe ale naturii
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,m2 execută
││ c4s2-c3
││ scrie c1·103+c2·102+c3·10+c4
│└■
└■
1) Corectitudinea globală vizează structura, sintaxa şi alte greşeli neprecizate în barem.