Înapoi la fișa subiectului

Textul subiectului și baremului

Subiect BAC Informatică Științe ale Naturii 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 ştiinŃe ale naturii Limbajul C/C++
1
Examenul de bacalaureat 2010
Proba E-d)
Proba scrisă la INFORMATICĂ
Limbajul C/C++
Specializarea ştiinŃe ale naturii
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 ştiinŃe ale naturii 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. Variabilele reale x şi y memorează coordonatele, în planul xOy, ale centrului unui cerc,
punct aflat în primul cadran al planului. O expresie C/C++ care are valoarea 1, dacă şi
numai dacă centrul cercului este egal depărtat de cele două axe ale sistemului de
coordonate al planului xOy, poate fi: (4p.)
a. x-y==0 b. x+y==0 c. x*x+y*y==0 d. x*y==0
2. O expresie C/C++ care are valoarea 1 este: (4p.)
a. ceil(5)-1==floor(5) b. ceil(5.19)==floor(5.19)
c. ceil(5.19)==ceil(5.91) d. ceil(5.19)==floor(5.91)
ScrieŃi pe foaia de examen răspunsul pentru fiecare dintre cerinŃele următoare.
3. Se consideră variabila simbol, de tip char. ScrieŃi instrucŃiunile C/C++ prin care se
afişează pe ecran mesajul Este cifra, dacă variabila memorează o cifră zecimală, sau
mesajul Nu este cifra, în caz contrar. (6p.)
4. Se citeşte un număr natural n (n>1) şi se cere să se scrie cea mai mare putere la care
apare un divizor în descompunerea în factori primi a lui n.
Exemplu: dacă n=40, se afişează 3, deoarece 40=23⋅⋅⋅⋅5.
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 10
Specializarea ştiinŃe ale naturii 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ă două tablouri unidimensionale A şi B: A=(21,16,12,7,3), iar
B=(49,11,10,5,1). În urma interclasării lor în ordine descrescătoare se obŃine tabloul cu
elementele: (4p.)
a. (49,16,12,7,3) b. (49,21,11,16,10,12,5,7,1,3)
c. (49,21,16,11,12,10,7,5,3,1) d. (49,21,16,12,11,10,7,5,3,1)
ScrieŃi pe foaia de examen răspunsul pentru fiecare dintre cerinŃele următoare.
În secvenŃa alăturată de instrucŃiuni,
variabilele i şi j sunt de tip întreg.
for(i=0;i<=4;i++){
for(.....)
cout<<j<<' '; | printf("%d ",j);
cout<<endl; | printf("\n");
}
2.
RescrieŃi secvenŃa, completând zona punctată astfel încât, în urma executării secvenŃei
obŃinute, să se afişeze pe ecran, în această ordine, numerele de mai jos.
4 3 2 1 0
3 2 1 0
2 1 0
1 0
0 (6p.)
3. ScrieŃi un program C/C++ care citeşte de la tastatură două numere naturale, n şi k
(3≤n≤20, 2≤k≤10), şi construieşte în memorie un tablou unidimensional ale cărui
elemente reprezintă, în ordine, cei n⋅⋅⋅⋅k termeni ai unui şir crescător, valori din mulŃimea
primelor n numere naturale nenule, fiecare astfel de număr fiind în şir de exact k ori.
Programul afişează pe ecran tabloul construit, numerele fiind separate prin câte un spaŃiu.
Exemplu: dacă n=4, k=3 atunci tabloul construit este:(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 ştiinŃe ale naturii
1
Examenul de bacalaureat 2010
Proba E-d)
Proba scrisă la INFORMATICĂ
Specializarea ştiinŃe ale naturii
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) a 4p.
2) c 4p.
3) Pentru rezolvare corectă
-determinarea unui simbol care memorează
o cifră
-afişarea corectă a mesajului, conform
cerinŃei
6p.
4p.
2p.
4) a) Pentru rezolvare corectă
- citirea datelor
- scrierea principial corectă a structurilor
de control (*)
- determinarea puterii la care apare un
factor prim în descompunerea cerută
- determinarea corectă a numărului cerut
- scrierea rezultatului
10 p.
2 p.
3 p.
2 p.
2 p.
1 p.
(*) 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
etc.) sau decizională

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 ştiinŃe ale naturii
2
b) Pentru răspuns corect
- menŃionarea rolului variabilelor utilizate
(*)
- date de intrare identificate corect
- date de ieşire identificate corect
6 p.
2 p.
2 p.
2 p.
(*) Se acordă numai 1p. dacă s-au identificat
doar o parte din variabilele utilizate sau nu
pentru toate variabilele este corect menŃionat
rolul acestora.
SUBIECTUL al III-lea 30 de puncte
1) d 4p.
2) Pentru răspuns corect (*) (**) 6p. (*) O soluŃie posibilă reprezintă transpunerea în
limbaj de programare a instrucŃiunii pseudocod:
┌pentru i0, 4 execută
│ ┌pentru j4-i, 0, -1 execută
│ │ scrie j, “ “
│ └■
│ salt la rândul următor
└■
(**) Se acordă câte 2p. pentru fiecare valoare
limită a contorului determinată corect.
3) Pentru program corect
- declarare corectă a variabilelor (tablou şi
variabile simple)
- citirea datelor
- 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
- afişarea datelor, conform cerinŃei
- corectitudinea globală a subprogramului1)
10p.
1+1p.
1p.
1p.
1p.
2p.
1p.
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.