Textul subiectului și baremului
Simulare BAC Informatică Științe ale Naturii C/C++ 2017 – 17 martie 2017
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ă Simulare Limbajul C/C++ Filiera teoretică, profilul real, specializarea ştiinţe ale naturii 1 Examenul de bacalaureat naţional 2017 Proba E. d) Informatică Limbajul C/C++ Simulare 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. Expresia C/C++ alăturată are valoarea: (4p.) 17/3/2%17 a. 0 b. 2 c. 10 d. 17 2. Se consideră algoritmul alăturat, reprezentat în pseudocod. S-a notat cu a%b restul împărţirii numărului natural a la numărul natural nenul b. citeşte n,a,b (numere naturale nenule, a≤n, b≤n) ok←←←←0 x←←←←1 ┌cât timp x≤n execută │┌dacă x%a=0 şi x%b≠0 sau ││ x%a≠0 şi x%b=0 atunci ││ scrie x,’ ’ ││ ok←←←←1 │└■ │ x←←←←x+1 └■ ┌dacă ok=0 atunci │ scrie 0 └■ a) Scrieţi ce se afişează dacă se citesc, în această ordine, numerele 15, 3 şi 4. (6p.) b) Scrieţi două seturi distincte de date de intrare astfel încât, în urma executării algoritmului, pentru fiecare dintre acestea să se afişeze valoarea 0. (4p.) c) Scrieţi în pseudocod un algoritm echivalent cu cel dat, înlocuind adecvat structura cât timp...execută cu o structură repetitivă de tip pentru...execută. (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ă Simulare
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 și memorează valori pozitive. O
transcriere în limbajul C/C++ a expresiei alăturate poate fi: (4p.) 2/2 yx +
a. pow(sqrt(x,2)+y/2,1/2) b. pow(sqrt(x)+y/2,2)
c. sqrt(pow(x,2)+y/2,1/2) d. sqrt(pow(x,2)+y/2)
2. Variabilele x şi y sunt de tip întreg şi memorează numere
naturale, iar x are o valoare nenulă. Indicați expresia care
poate înlocui punctele de suspensie astfel încât, la finalul
executării secvenţei obţinute, variabila y să memoreze
câtul împărţirii la 2017 a numărului memorat inițial în
variabila x. (4p.)
y=0;
while(x>=2017)
{ y=y+1;
x=........
}
a. x-2017 b. x+2017 c. x+1 d. x-1
Scrieţi pe foaia de examen răspunsul pentru fiecare dintre cerinţele următoare.
3. Variabila întreagă an memorează anul fabricației unei mașini, iar variabila carburant, de
tip char, memorează o literă, în funcție de tipul de carburant folosit în prezent: litera B
pentru benzină, litera M pentru motorină sau litera G pentru gaz petrolier lichefiat.
Scrieţi o secvență de instrucțiuni C/C++ în urma executării căreia se afișează pe ecran anul
fabricației mașinii, urmat, pe linia următoare, de mesajul rezervor clasic, dacă mașina
folosește carburant de tip benzină sau motorină, sau de mesajul adaptor GPL dacă
mașina folosește carburant de tip gaz petrolier lichefiat. (6p.)
4. Se citeşte un număr natural, n (n≥10), și se cere să se scrie numărul de cifre ale lui n care
sunt egale cu pozițiile pe care le ocupă în scrierea acestuia. Pozițiile sunt numerotate de la
dreapta la stânga, iar cifra unităților ocupă poziția 0.
Exemplu: dacă n=6594270, se scrie 4.
a) Scrieţi, în pseudocod, un algoritm 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 Naționale
Centrul Naţional de Evaluare şi Examinare
Probă scrisă la informatică Simulare
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=2017,
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: 3, 17, 2017.
Elementele tabloului pot fi (în ordinea în care apar în tablou): (4p.)
a. (-2016,-17,2,3,17,20,2017) b. (-2016,-10,2,3,16,17,2017)
c. (-2016,-17,20,3,2017,17,21) d. (-2016,-16,-10,2,3,17,2017)
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 secvența, înlocuind punctele de
suspensie astfel încât, în urma executării
secvenţei obţinute, valoarea variabilei p să fie
egală cu produsul valorilor nenule citite. (6p.)
p=............;
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 (n∈∈∈∈[2,30]), și
construiește în memorie un tablou unidimensional cu 2·n elemente, numerotate de la 0 la
2·n-1, astfel încât:
• elementul de pe poziția 0 are valoarea 1;
• elementele de pe poziții impare sunt numere naturale din intervalul [0,109], citite de la
tastatură;
• oricare alt element aflat pe o poziție pară este obţinut prin însumarea celor două
elemente vecine cu el, unul aflat pe poziția din dreapta, iar celălalt pe poziția din stânga,
ca în exemplu.
Elementele tabloului obținut se afișează pe ecran, separate prin câte un spațiu.
Exemplu: dacă n=4, iar celelalte numere citite de la tastatură sunt 2, 7, 3, 3, se obține
tabloul: (1,2,9,7,10,3,6,3) (10p.)
4. Fișierul bac.in conține pe prima linie două numere naturale din intervalul [2,104], m și
n, iar pe fiecare dintre următoarele două linii câte un șir de m, respectiv n numere naturale
din intervalul [0,109], ordonate crescător. 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, în ordine descrescătoare, toate numerele pare aflate în
cele două șiruri. Numerele afișate sunt separate prin câte un spațiu, iar dacă nu există
niciun astfel de număr, se afișează pe ecran mesajul nu exista.
Pentru determinarea numerelor cerute se va utiliza un algoritm eficient din punctul de
vedere al timpului de executare.
Exemplu: dacă fișierul conține numerele
5 6
1 4 8 9 10
2 4 10 10 15 18
se afișează pe ecran
18 10 10 10 8 4 4 2
a) Descrieți în limbaj natural algoritmul utilizat, justificând eficiența acestuia. (2p.)
b) Scrieţi programul C/C++ corespunzător algoritmului descris. (8p.)Baremul
Deschide PDF-ul originalBaremul · pagina 1
Ministerul Educaţiei Naționale Centrul Naţional de Evaluare şi Examinare Probă scrisă la informatică Simulare Filiera teoretică, profilul real, specializarea ştiinţe ale naturii Barem de evaluare şi de notare 1 Examenul de bacalaureat naţional 2017 Proba E. d) Informatică Barem de evaluare și de notare (comun pentru limbajele C/C++ şi Pascal) Simulare 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. b 4p. 2. a) Răspuns corect: 3 4 6 8 9 15 6p. Se acordă câte 1p. pentru fiecare număr precizat corect. b) Pentru răspuns corect 4p. Se acordă câte 2p. pentru fiecare set de date conform cerinței. 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ţiuni de decizie conform cerinței (*) -instrucţiune repetitivă conform cerinței -atribuiri corecte -corectitudine globală a programului1) 10p. 1p. 1p. 1p. 3p. 2p. 1p. 1p. (*) Se acordă numai 2p. dacă doar una dintre instrucţiuni este conform cerinței. SUBIECTUL al II - lea (30 de puncte) 1. d 4p. 2. a 4p. 3. Pentru rezolvare corectă -identificare corectă a literelor indicate -afişare a mesajelor -operatori logici utilizaţi corect -corectitudine globală a secvenței1) 6p. 2p. 1p. 2p. 1p.
Baremul · pagina 2
Ministerul Educaţiei Naționale Centrul Naţional de Evaluare şi Examinare Probă scrisă la informatică Simulare 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 (identificare a unei poziții, identificare a unei cifre conform cerinței, 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 (*) -date de intrare indicate corect -date de ieșire indicate 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. Pentru răspuns corect -inițializare a variabilei p, conform cerinței -identificare a valorilor nenule citite -actualizare a variabilei p, conform cerinței -corectitudine globală a secvenței1) 6p. 1p. 2p. 2p. 1p. 3. Pentru program corect -declarare a variabilei de tip tablou -accesare a unui element al tabloului -completare a elementului de pe poziția 0, conform cerinţei -completare a elementelor de pe poziții impare, conform cerinţei -completare a celorlaltor elemente conform cerinţei -afişare a tabloului conform cerinţei -declarare a variabilelor simple, citire a datelor simple, corectitudine globală a programului1) 10p. 1p. 1p. 1p. 2p. 3p. 1p. 1p. 4. a) Pentru răspuns corect -coerenţă a explicării metodei (*) -justificare a unor elemente de eficienţă, conform cerinței 2p. 1p. 1p. (*) Se acordă punctajul chiar dacă soluţia propusă nu prezintă elemente de eficienţă. (**) Se acordă câte 1p. pentru fiecare aspect al cerinței (numere pare, numere din primul șir, numere din al doilea șir, toate numerele pare cerute, ordine descrescătoare). (***) Se acordă punctajul numai pentru un algoritm liniar. O soluţie posibilă memorează șirurile în câte un tablou unidimensional și utilizează metoda interclasării pentru a obține elementele lor reunite, ordonate: pe măsura parcurgerii specifice a celor două tablouri, de la dreapta la stânga, sunt afișate doar elementele pare. b) Pentru program corect -operaţii cu fişiere: declarare, pregătire în vederea citirii, citire din fişier -determinare și afişare a valorilor cerute (*, **) -tratare a cazului nu exista -utilizare a unui algoritm eficient (***) 8p. 1p. 5p. 1p. 1p. 1) Corectitudinea globală vizează structura, sintaxa, alte aspecte neprecizate în barem.