Textul subiectului și baremului
Subiect BAC Informatică Științe ale Naturii C/C++ 2013 – varianta 2
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 originalSubiectul · pagina 1
Ministerul Educaţiei Naționale Centrul Naţional de Evaluare şi Examinare Probă scrisă la informatică Varianta 2 Limbajul C/C++ Filiera teoretică, profilul real, specializarea științe ale naturii 1 Examenul de bacalaureat naţional 2013 Proba E. d) Informatică Limbajul C/C++ Varianta 2 Filiera teoretică, profilul real, specializarea științe ale naturii • 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 și poate memora un număr natural cu cel mult două cifre. Valoarea maximă pe care o poate avea expresia C/C++ alăturată este: (4p.) x%4 a. 3 b. 24.75 c. 95 d. 396 2. Se consideră algoritmul alăturat, reprezentat î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. citeşte a,b,c (numere naturale, a≤b, 0≤c≤9) s←←←←0 ┌pentru x←←←←a,b execută │ y←←←←x │┌cât timp y>0 execută ││┌dacă y%10=c atunci │││ s←←←←s+1 ││└■ ││ y←←←←[y/10] │└■ └■ scrie s a) Scrieţi valoarea afişată dacă se citesc, în această ordine, numerele 19, 23 şi 2. (6p.) b) Dacă pentru variabila a se citeşte valoarea 1, iar pentru variabila c se citeşte valoarea 1, scrieţi toate numerele naturale care pot fi citite pentru variabila b, astfel încât, în urma executării algoritmului, pentru fiecare dintre acestea, să se afişeze valoarea 12. (4p.) c) Scrieţi în pseudocod un algoritm, echivalent cu cel dat, în care să se înlocuiască structura cât timp...execută cu o structură repetitivă cu test final. (6p.) d) Scrieţi programul C/C++ corespunzător algoritmului dat. (10p.)
Subiectul · pagina 2
Ministerul Educaţiei Naționale
Centrul Naţional de Evaluare şi Examinare
Probă scrisă la informatică Varianta 2
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. Variabilele x şi y sunt de tip real. Dintre expresiile de mai jos, cea
care reprezintă o transcriere în limbajul C/C++ a expresiei alăturate
este: (4p.)
22 yx ++++
a. pow(sqrt(x,2)+sqrt(y,2),1/2) b. pow(sqrt(x)+sqrt(y),2)
c. sqrt(pow(x,2)+pow(y,2),1/2) d. sqrt(pow(x,2)+pow(y,2))
2. În secvenţa de instrucţiuni alăturată, toate variabilele sunt întregi.
Instrucţiunea care poate înlocui punctele de suspensie astfel încât, în
urma executării secvenţei, variabila cm să aibă ca valoare cel mai
mare divizor comun al numerelor 120 şi 2800 este:
(4p.)
x=120; y=2800;
do{ z=x%y;
x=y; y=z;
}while(y!=0);
.....
a. cm=x+y; b. cm=y+z;
c. cm=x*y; d. cm=y*z;
Scrieţi pe foaia de examen răspunsul pentru fiecare dintre cerinţele următoare.
3. Variabila întreagă v memorează un număr natural cu cel mult patru cifre, iar variabila
paritate este de tip char.
Scrieţi o secvenţă de instrucţiuni C/C++ în urma executării căreia variabila paritate să
memoreze litera p, dacă numărul memorat în variabila v este par, sau litera i dacă numărul
memorat în variabila v este impar. (6p.)
4. Se citeşte un număr natural n (2<n) şi se cere să se determine două valori distincte, a şi b,
numere prime, cu proprietatea că n aparţine intervalului [a,b), iar b-a are valoare
minimă. Cele două valori se afişează în ordine crescătoare.
Exemplu: pentru n=8 se afişează numerele: 7 11, iar pentru n=7 se afişează numerele: 7 11.
a) Scrieţi, în pseudocod, un algoritm de rezolvare pentru problema enunţată. (10p.)
b) Menţionaţi rolul tuturor variabilelor care au intervenit în algoritmul 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 Naționale
Centrul Naţional de Evaluare şi Examinare
Probă scrisă la informatică Varianta 2
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.
1. Pentru a verifica dacă într-un tablou unidimensional există elementul cu valoarea x=9, se
aplică metoda căutării binare, iar succesiunea de elemente ale tabloului a căror valoare se
compară cu valoarea lui x pe parcursul aplicării metodei indicate este: 12, 7, 9.
Elementele tabloului pot fi (în ordinea în care apar în tablou): (4p.)
a. (4,7,8,9,12,20,45) b. (4,7,9,12,16,20,45)
c. (7,9,10,12,16,20,45) d. (10,12,7,9,45,20,16)
Scrieţi pe foaia de examen răspunsul pentru fiecare dintre cerinţele următoare.
2. În secvenţa alăturată, toate variabilele sunt de
tip întreg.
Scrieţi instrucțiunea sau instrucțiunile care pot
înlocui punctele de suspensie astfel încât, în
urma executării secvenţei obţinute, valoarea
variabilei ok să fie 1 dacă toate numerele citite
sunt egale cu 2013, sau valoarea 0 altfel. (6p.)
ok=1;
for(i=1;i<=10;i++)
{ cin>>x; | scanf(“%d”,&x);
.......
}
3. Scrieți un program C/C++ care citește de la tastatură un număr natural n (2<n<50) și
construiește în memorie un tablou unidimensional cu 2·n elemente, valori naturale din
intervalul [1, 2·n], astfel încât şirul elementelor impare să fie strict crescător, iar şirul
elementelor pare să fie strict descrescător. Primul element al tabloului este impar, iar două
elemente cu aceeaşi paritate nu pot ocupa poziţii consecutive în tablou, ca în exemplu.
Programul afişează apoi pe ecran elementele tabloului obținut, separate prin câte un
spaţiu.
Exemplu: dacă n=4 atunci se obține tabloul(1, 8, 3, 6, 5, 4, 7, 2). (10p.)
4. Se consideră şirul definit alăturat (unde n este
un număr natural nenul), în care nu există doi
termeni cu aceeași paritate aflați pe poziții
consecutive:
1, 2, 5, 6, 13, 14, 29, 30 ....
⋅⋅⋅⋅++++
++++
====
====
altfel,1-nf21
parndacă,1-nf1
1ndacă1,
nf
Se citeşte de la tastatură un număr natural x, cu cel mult nouă cifre, termen al şirului dat,
şi se cere să se scrie în fişierul text bac.txt, în ordine strict descrescătoare, separați prin
câte un spațiu, toţi termenii şirului care sunt mai mici sau egali cu x.
Se utilizează un algoritm eficient din punctul de vedere al memoriei utilizate şi al timpului
de executare.
Exemplu: dacă x=29, fişierul bac.txt conţine numerele
29 14 13 6 5 2 1
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 originalBaremul · pagina 1
Ministerul Educaţiei Naționale Centrul Naţional de Evaluare şi Examinare Probă scrisă la informatică Varianta 2 Filiera teoretică, profilul real, specializarea ştiinţe ale naturii Barem de evaluare şi de notare 1 Examenul de bacalaureat naţional 2013 Proba E. d) Informatică Barem de evaluare și de notare (comun pentru limbajele C/C++ şi Pascal) Varianta 2 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. • 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) Răspuns corect: 5 6p. b) Răspuns corect: 19, 20 4p. Se acordă numai 2p. dacă doar una dintre cele două valori este corectă şi numai 3p. dacă ambele valori sunt corecte, dar sunt menţionate şi altele, incorecte. 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 a tuturor variabilelor -citire date -afişare date -instrucţiune de decizie corectă -instrucţiuni repetitive corecte (*) -atribuiri corecte -corectitudine globală a programului1) 10p. 1p. 1p. 1p. 2p. 3p. 1p. 1p. (*) Se acordă numai 2p. dacă doar una dintre instrucțiunile repetitive este corectă. SUBIECTUL al II - lea (30 de puncte) 1. d 4p. 2. a 4p. 3. Pentru rezolvare corectă -verificare condiție de paritate -memorare literă conform cerinței 6p. 3p. 3p.
Baremul · pagina 2
Ministerul Educaţiei Naționale Centrul Naţional de Evaluare şi Examinare Probă scrisă la informatică Varianta 2 Filiera teoretică, profilul real, specializarea ştiinţe ale naturii Barem de evaluare şi de notare 2 4. a) Pentru rezolvare corectă -citire date -determinare numere cu proprietatea cerută (*) -scriere principial corectă a structurilor de control (**) -scriere rezultat conform cerinţei 10p. 1p. 6p. 2p. 1p. (*) Se acordă câte 2p. pentru fiecare aspect al cerinței (număr prim, limită inferioară, limită superioară a intervalului). (**) Se va puncta orice formă corectă de structură repetitivă sau decizională. b) Pentru răspuns corect -menţionare a 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 dintre 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. Pentru răspuns corect 6p. Se acordă numai 2p. dacă se identifică numerele egale cu 2013, dar rezultatul nu este conform cerinței. 3. Pentru program corect -declarare corectă a variabilei de tip tablou -accesare corectă a unui element al tabloului -plasare valori în tablou conform cerinței (*) -afişare date conform cerinței -declarare a tuturor variabilelor simple, citire date, corectitudine globală a programului1) 10p. 1p. 1p. 5p. 2p. 1p. (*) Se acordă câte 1p. pentru fiecare aspect al cerinței (toate numerele cerute, ordinea numerelor pare, ordinea numerelor impare, elemente cu paritate diferită pe poziții consecutive, primul element impar). 4. a) Pentru răspuns corect -coerenţa explicării metodei (*) -explicarea unor elemente de eficienţă conform cerinţei 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 scrierii, scriere în fişier -determinare și afișare valori cerute (*, **) -utilizare a unui algoritm eficient (***) 6p. 1p. 4p. 1p. (*) Se acordă punctajul chiar dacă soluţia propusă nu prezintă elemente de eficienţă. (**) Se acordă câte 2p. pentru fiecare condiţie impusă (ordine strict descrescătoare, toți termenii ceruți). (***) Se acordă punctajul numai pentru un algoritm liniar (de complexitate O(n)), care utilizează eficient memoria. O soluţie posibilă generează termenii șirului astfel: dacă termenul curent este x, iar cel care îl precede este ax, atunci dacă x este impar, ax=[(x-1)/2], iar dacă x este par, ax=x-1. 1) Corectitudinea globală vizează structura, sintaxa, alte aspecte neprecizate în barem.