Înapoi la fișa subiectului

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 original

Subiectul · 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 original

Baremul · 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.