Textul subiectului și baremului
Subiect BAC Informatică Științe ale Naturii C/C++ 2015 – 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 și Cercetării Științifice Centrul Naţional de Evaluare şi Examinare Probă scrisă la informatică Varianta 2 Limbajul C/C++ Filiera teoretică, profilul real, ştiinţe ale naturii Pagina 1 din 3 Examenul de bacalaureat naţional 2015 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. Indicați expresia C/C++ care are valoarea 1 dacă şi numai dacă numărul natural memorat în variabila întreagă n este divizibil cu 2, dar NU şi cu 5. (4p.) a. !((n%2==1) || (n%5==0)) b. (n%2==0) && (n%5==0) c. (n%10==0) || (n%5!=0) d. (n%10==0) && (n%2==0) 2. Se consideră algoritmul alăturat, reprezentat în pseudocod. citeşte n,k (numere naturale nenule) ┌cât timp n≥≥≥≥1 execută │┌dacă n>k atunci ik ││altfel in │└■ │ nn-i │ tk │┌cât timp i≥≥≥≥1 execută ││ scrie t,' ' ││ ii-1 ││ tt-1 │└■ └■ a) Scrieţi valorile afişate dacă se citesc, în această ordine, numerele 7 și 3. (6p.) b) Dacă pentru k se citeşte numărul 11, scrieţi cel mai mic și cel mai mare număr din intervalul [1,99] care pot fi citite pentru n astfel încât, în urma executării algoritmului, pentru fiecare dintre acestea, ultima valoare afişată să fie 7. (4p.) c) Scrieţi în pseudocod un algoritm, echivalent cu cel dat, înlocuind a doua structură cât timp...execută 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 și Cercetării Științifice Centrul Naţional de Evaluare şi Examinare Probă scrisă la informatică Varianta 2 Limbajul C/C++ Filiera teoretică, profilul real, ştiinţe ale naturii Pagina 2 din 3 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 dacă şi numai dacă numărul memorat în variabila întreagă x NU aparţine reuniunii de intervale [-3,-1]∪∪∪∪[1,3] este: (4p.) a. abs(x)>3 && x==0 b. abs(x)<1 || abs(x)>3 c. abs(x-3)<1 d. abs(x-1)>3 2. În secvenţa de instrucţiuni alăturată, toate variabilele sunt întregi şi memorează numere naturale. Pentru orice valori nenule ale variabilelor x şi y, valoarea obţinută pentru variabila z în urma executării secvenţei este egală cu cea atribuită prin instrucţiunea: (4p.) while(x>=y) x=x-y; z=x; a. z=x/y; b. z=y/x; c. z=x%y; d. z=y%x; Scrieţi pe foaia de examen răspunsul pentru fiecare dintre cerinţele următoare. 3. Variabilele reale re și im memorează partea reală, respectiv partea imaginară a unui număr complex. Scrieți o expresie C/C++ a cărei valoare să fie egală cu pătratul modulului acestui număr (suma dintre pătratul părții reale și pătratul părții imaginare). (6p.) 4. Se citește un număr natural, n, și se cere să se scrie numărul de cifre prime ale lui n. Exemplu: dacă n=1233405, atunci se scrie numărul 4. a) Scrieți, în pseudocod, algoritmul de rezolvare pentru problema enunțată. (10p.) b) Precizaț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 și Cercetării Științifice
Centrul Naţional de Evaluare şi Examinare
Probă scrisă la informatică Varianta 2
Limbajul C/C++
Filiera teoretică, profilul real, ştiinţe ale naturii
Pagina 3 din 3
SUBIECTUL al III-lea (30 de puncte)
Pentru itemul 1, scrieţi pe foaia de examen litera corespunzătoare răspunsului corect.
1. Variabilele i şi j sunt de tip întreg. Indicați expresia care poate înlocui punctele de
suspensie astfel încât, în urma executării secvenţei obţinute, să se afișeze numerele de
mai jos.
for(i=1;i<=5;i++)
{ for(j=1;j<=5;j++)
cout<<......<<” ”; | printf(”%d ”,......);
cout<<endl; | printf(”\n”);
} (4p.)
1 2 3 4 5
6 7 8 9 10
11 12 13 14 15
16 17 18 19 20
21 22 23 24 25
a. (i-1)*5+j b. i+(j-1)*5 c. i+(j+1)*5 d. (i+1)*5+j
Scrieţi pe foaia de examen răspunsul pentru fiecare dintre cerinţele următoare.
2. Pentru a verifica dacă în tabloul unidimensional (1,3,5,7,12,21,49) există elementul
cu valoarea x=5, se aplică metoda căutării binare. Scrieți succesiunea de elemente ale
tabloului ale căror valori se compară cu valoarea lui x pe parcursul aplicării metodei
indicate. (6p.)
3. Scrieţi un program C/C++ care citeşte de la tastatură un număr natural, n (n∈∈∈∈[2,20]), apoi
cele n elemente ale unui tablou unidimensional, numere naturale din intervalul [0,109].
Programul afișează pe ecran mesajul DA în cazul în care tabloul conține doar numere pare
şi, eventual numărul 2015, sau mesajul NU în caz contrar.
Exemplu: pentru n=5 și tabloul (32,2015,8,16,2015) sau tabloul (32,20,8,16,20)
se afişează mesajul
DA
iar pentru n=6 și tabloul (32,17,2015,8,16,2015) sau tabloul
(2015,2015,2015,2015,2015,2015) se afişează mesajul
NU (10p.)
4. Fişierul BAC.TXT conţine pe prima linie un număr natural, n (n∈∈∈∈[2,5000]), și, începând
cu a doua linie, un șir de 2·n numere naturale din intervalul [0,5]. Numerele aflate pe
aceeași linie a fișierului sunt separate prin câte un spaţiu.
Se cere să se afişeze pe ecran valoarea obținută însumând toate produsele de forma
x·y, unde x este un număr impar aflat printre primii n termeni ai șirului aflat în fișier, iar y
este un număr par aflat printre ultimii n termeni ai acestui șir. Dacă nu există niciun astfel
de produs, valoarea cerută este nulă. Pentru determinarea numărului cerut utilizați un
algoritm eficient din punctul de vedere al timpului de executare și al memoriei necesare.
Exemplu: dacă fişierul are conţinutul de mai jos
4
1 2 5 1 4 2 3 0
pe ecran se afişează numărul 42 (1·4+1·2+1·0+5·4+5·2+5·0+1·4+1·2+1·0=42).
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 și Cercetării Științifice 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 2015 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: 3 2 1 3 2 1 3 6p. Se acordă numai 2p. dacă doar primele trei numere sunt precizate corect, numai 4p. dacă doar primele 6 numere sunt precizate corect sau dacă sunt precizate, în plus, și alte numere. b) Răspuns corect: 5, 93 4p. Se acordă câte 2p. pentru fiecare număr precizat corect. 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 variabile -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ă numai una dintre instrucțiunile repetitive este corectă. SUBIECTUL al II - lea (30 de puncte) 1. b 4p. 2. c 4p. 3. Pentru rezolvare corectă 6p. Se acordă câte 2p. pentru fiecare aspect al cerinţei (pătratul părţii reale, pătratul părţii imaginare, sumă corectă).
Baremul · pagina 2
Ministerul Educaţiei și Cercetării Științifice 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 a datelor -determinare a numărului cerut (*) -scriere principial corectă a structurilor de control (**) -scriere a rezultatului 10p. 1p. 6p. 2p. 1p. (*) Se acordă câte 2p. pentru fiecare aspect al cerinței (acces la o cifră a numărului, cifre prime suport, algoritm de numărare principial corect). (**) Se va puncta orice formă corectă de structură repetitivă sau decizională. b) Pentru răspuns corect -precizare a rolului variabilelor utilizate (*) -indicare a datelor de intrare -indicare a datelor de ieşire 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 precizat rolul acestora. SUBIECTUL al III - lea (30 de puncte) 1. a 4p. 2. Răspuns corect : 7, 3,5 6p. Se acordă câte 2p. pentru fiecare valoare precizată corect în cadrul succesiunii. 3. Pentru program corect -declarare corectă a unei variabile de tip tablou -citire a datelor -verificare a proprietății cerute (*) -afişarea a mesajului -declararea variabilelor simple, corectitudine globală a programului1) 10p. 1p. 1p. 6p. 1p. 1p. (*) Se acordă câte 1p. pentru fiecare aspect al cerinței (algoritm principial corect de verificare a unei proprietăți, identificare a unui număr par/impar, tratarea cazului în care tabloul conţine doar numere pare, tratarea cazului în care tabloul conţine numere pare și numărul 2015, tratarea cazului în care tabloul conţine și numere impare diferite de 2015, tratarea cazului în care tabloul nu conține niciun număr par). 4. a) Pentru răspuns corect -coerenţă a explicării metodei (*) -explicare a unor elemente de eficienţă 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 citirii, citire din fişier -determinare și afișare a valorii 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 aspect al cerinţei (produse conform cerinţei, sumă de produse). (***) Se acordă punctajul numai pentru un algoritm liniar (de complexitate O(n)), care utilizează eficient memoria. O soluţie posibilă se obține calculând, pe măsura citirii din fișier, pentru prima jumătate a șirului suma termenilor impari (fie acestea s1i), iar pentru a doua jumătate a șirului suma termenilor pari (fie acestea s2p). Valoarea cerută este s1i•s2p. 1) Corectitudinea globală vizează structura, sintaxa, alte aspecte neprecizate în barem.