Textul subiectului și baremului
Model oficial BAC Informatică Mate-Info C/C++ 2015
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ă MODEL Limbajul C/C++ Filiera teoretică, profilul real, specializările: matematică-informatică, matematică-informatică intensiv informatică Filiera vocaţională, profilul militar, specializarea matematică-informatică 1 Examenul de bacalaureat naţional 2015 Proba E. d) Informatică Limbajul C/C++ MODEL Filiera teoretică, profilul real, specializările: matematică-informatică matematică-informatică intensiv informatică Filiera vocaţională, profilul militar, specializarea matematică-informatică • 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. Valoarea expresiei C/C++ alăturate este: (4p.) 5*9/2*3 a. 7 b. 7.5 c. 66 d. 67.5 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 n (număr natural nenul) m0 p1 ┌cât timp n≥10 execută │ c1n%10 │ n[n/10] │ c2n%10 │┌dacă c1≠c2 atunci ││┌dacă c1>c2 atunci │││ mm+(c1-c2)*p │││altfel │││ mm+(c2-c1)*p ││└■ ││ pp*10 │└■ └■ scrie m a) Scrieţi numărul afişat dacă se citeşte valoarea 216553. (6p.) b) Scrieţi două numere de trei cifre care pot fi citite, astfel încât în urma executării algoritmului, pentru fiecare dintre acestea, să se afișeze valoarea 1. (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ă MODEL
Limbajul C/C++
Filiera teoretică, profilul real, specializările: matematică-informatică, matematică-informatică intensiv informatică
Filiera vocaţională, profilul militar, specializarea matematică-informatică
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. Un arbore cu 4 noduri, numerotate de la 1 la 4, poate fi reprezentat prin vectorul de „taţi”:
(4p.)
a. (2,0,3,1) b. (2,1,0,3) c. (4,3,2,1) d. (4,3,4,0)
2. Variabila s poate memora un șir cu maximum 20
de caractere. În urma executării secvenței de
instrucțiuni alăturate se afișează: (4p.)
strcpy(s,"3x2y1");
s[2]='x'+2;
strcpy(s,s+1);
strcpy(s+3,s+4);
cout<<s; | printf("%s",s);
a. xzy b. xyy c. 3x417 d. 42241
Scrieţi pe foaia de examen răspunsul pentru fiecare dintre cerinţele următoare.
3. Scrieți listele de adiacență prin care poate fi reprezentat
graful orientat cu 5 vârfuri, numerotate de la 1 la 5,
ilustrat în figura alăturată.
(6p.)
4. Se consideră graful neorientat cu 9 noduri, numerotate de la 1 la 9, și muchiile [1,2],
[1,4], [2,3], [2,5], [2,7], [3,7], [4,5], [5,6], [5,8], [6,9], [8,9]. Scrieți
muchiile care pot forma un graf parțial al său care să fie arbore. (6p.)
5. Scrieţi un program C/C++ care citeşte de la tastatură două numere naturale, m și n
(2≤m≤20, 2≤n≤20), şi construiește în memorie un tablou bidimensional A, cu m linii şi n
coloane, astfel încât parcurgându-l linie cu linie, de jos în sus, și fiecare linie de la dreapta
la stânga, să se obțină șirul primelor n·m numere naturale, impare, care NU sunt divizibile
cu 3, ordonat strict crescător. Programul afișează pe ecran tabloul obținut, fiecare linie a
tabloului pe câte o linie a ecranului, elementele de pe aceeași linie fiind separate prin câte
un spațiu.
Exemplu: pentru m=4 şi n=3 se obține tabloul alăturat.
(10p.)
35 31 29
25 23 19
17 13 11
7 5 1Subiectul · pagina 3
Ministerul Educaţiei Naționale
Centrul Naţional de Evaluare şi Examinare
Probă scrisă la informatică MODEL
Limbajul C/C++
Filiera teoretică, profilul real, specializările: matematică-informatică, matematică-informatică intensiv informatică
Filiera vocaţională, profilul militar, specializarea matematică-informatică
3
SUBIECTUL al III-lea (30 de puncte)
Pentru itemul 1, scrieţi pe foaia de examen litera corespunzătoare răspunsului corect.
1. Utilizând metoda backtracking, se generează toate posibilitățile de a forma succesiuni de
câte 5 tipuri de creații literare din mulțimea {baladă, basm, eseu, epopee, poem}, astfel
încât în fiecare succesiune eseul precede epopeea. Două succesiuni sunt distincte dacă
tipurile de creații literare sunt în altă ordine.
Primele cinci soluţii generate sunt, în această ordine, (baladă, basm, eseu, epopee,
poem), (baladă, basm, eseu, poem, epopee), (baladă, basm, poem, eseu, epopee),
(baladă, eseu, basm, epopee, poem), (baladă, eseu, basm, poem, epopee). Imediat
înainte de (poem, eseu, epopee, baladă, basm) este generată soluția: (4p.)
a. (basm, baladă, epopee, eseu, poem) b. (basm, baladă, eseu, epopee, poem)
c. (poem, eseu, basm, epopee, baladă) d. (poem, basm, eseu, epopee, baladă)
Scrieţi pe foaia de examen răspunsul pentru fiecare dintre cerinţele următoare.
2. Se consideră subprogramul f, definit
alăturat. Scrieţi valorile f(10,5) şi
f(20,9). (6p.)
int f(int a, int b)
{ if (a<b) return a;
if (a%b==0) return b;
return f(a-1,b+2);
}
3. Un număr natural nenul se numește subperfect dacă este strict mai mic decât suma
divizorilor săi proprii (divizori naturali diferiți de 1 și de el însuși).
Exemplu: 12 este număr subperfect pentru că 12<2+3+4+6.
Se consideră subprogramul subperfect, cu doi parametri, a și b, prin care primeşte câte
un număr natural (2≤a<b≤109). Subprogramul afișează pe ecran, separate prin câte un
spațiu, în ordine descrescătoare, toate numerele subperfecte din intervalul [a,b]. Dacă în
interval nu există astfel de numere, subprogramul afișează pe ecran mesajul nu exista.
Scrieţi definiţia completă a subprogramului.
Exemplu: pentru a=10 și b=20, se afișează pe ecran: 20 18 12 (10p.)
4. Fișierul bac.txt conține pe prima linie un număr natural, n (1≤n≤106), iar pe a doua linie
cel mult 1000000 de numere naturale de forma 2p (0≤p≤9), separate prin câte un spațiu.
Se cere să se afișeze pe ecran numărul care ar apărea pe poziția n în șirul ordonat
descrescător obținut din toate numerele aflate pe a doua linie a fișierului. Dacă șirul are
mai puțin de n termeni, se afișează pe ecran mesajul Nu exista.
Pentru determinarea numărului cerut se utilizează un algoritm eficient din punctul de
vedere al timpului de executare.
Exemplu: dacă fişierul bac.txt conţine numerele
5
16 32 1 64 128 32 128 32
atunci pe ecran se afișează valoarea
32
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ă MODEL Filiera teoretică, profilul real, specializările: matematică-informatică, matematică-informatică intensiv informatică Filiera vocaţională, profilul militar, specializarea matematică-informatică 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) MODEL Filiera teoretică, profilul real, specializările: matematică-informatică matematică-informatică intensiv informatică Filiera vocaţională, profilul militar, specializarea matematică-informatică • 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. c 4p. 2. a) Răspuns corect: 1512 6p. b) Pentru răspuns corect 4p. Se acordă câte 2p. pentru fiecare valoare menţionată corect (numere de forma unde |x-y|=1).xyy sau xxy 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 corecte (*) -instrucţiune repetitivă corectă -atribuiri corecte -corectitudine globală a programului1) 10p. 1p. 1p. 1p. 3p. 2p. 1p. 1p. (*) Se acordă numai 2p. dacă doar una dintre instrucțiunile de decizie este corectă. SUBIECTUL al II - lea (30 de puncte) 1. d 4p. 2. a 4p. 3. Pentru rezolvare corectă 6p. Se acordă numai 3p. dacă s-au scris listele de adiacenţă ale unui graf cu 5 vârfuri, dar care nu corespunde grafului indicat. 4. Pentru răspuns corect 6p. Se acordă câte 3p. pentru fiecare aspect al cerinței (graf parțial, arbore).
Baremul · pagina 2
Ministerul Educaţiei Naționale Centrul Naţional de Evaluare şi Examinare Probă scrisă la informatică MODEL Filiera teoretică, profilul real, specializările: matematică-informatică, matematică-informatică intensiv informatică Filiera vocaţională, profilul militar, specializarea matematică-informatică Barem de evaluare şi de notare 2 5. Pentru program corect -declarare a variabilei de tip tablou -accesare a unui element al tabloului -memorare a valorilor elementelor (*) -afişare a unui tablou (**) -declarare și citire a variabilelor simple, corectitudine globală a programului1) 10p. 1p. 1p. 5p. 2p. 1p. (*) Se acordă câte 1p. pentru fiecare aspect al cerinței (numere impare, numere care nu sunt divizibile cu 3, ordine strict descrescătoare pe linii, ordine strict descrescătoare pe coloane, construire în memorie). (**) Se acordă numai 1p. dacă sunt afișate toate elementele, dar nu în formatul cerut. SUBIECTUL al III - lea (30 de puncte) 1. c 4p. 2. Pentru răspuns corect 6p. Se acordă câte 3p. pentru fiecare valoare conform cerinței. f(10,5)=5 şi f(20,9)=16 3. Pentru subprogram corect -structură antet principial corectă a unui subprogram de tipul cerut -declarare corectă a parametrilor -determinare a numerelor cu proprietatea cerută (*) -afișare a datelor în forma cerută (**) -tratare caz nu exista -declarare a tuturor variabilelor locale, corectitudine globală a subprogramului1) 10p. 1p. 1p. 4p. 2p. 1p. 1p. (*) Se acordă câte 1p. pentru fiecare aspect al cerinței (identificarea unui divizor, algoritm de determinare a sumei unor divizori, identificarea unui număr subperfect, identificarea tuturor numerelor subperfecte din intervalul cerut). (**) Se acordă numai 1p. dacă datele sunt afișate în ordine crescătoare. 4. a) Pentru răspuns corect -descriere coerentă a algoritmului (*) -justificare a unor elemente de eficienţă 4p. 2p. 2p. (*) Se acordă punctajul chiar dacă algoritmul ales nu este eficient. b) Pentru program corect -operaţii cu fişiere: declarare, pregătire în vederea citirii, citire din fişier -determinare a valorii cerute (*,**) -utilizare a unui algoritm eficient (***) -afișare a datelor și tratare a cazului nu exista, declarare a tuturor variabilelor, corectitudine globală a programului1) 6p. 1p. 3p. 1p. 1p. (*) Se acordă punctajul chiar dacă soluţia propusă nu prezintă elemente de eficienţă. (**) Se acordă numai 1p. dacă algoritmul utilizat este principial corect, dar valoarea determinată nu se obține corect pentru toate datele de intrare. (***) O soluţie posibilă utilizează un vector de apariții, v, în care pentru fiecare valoare 2p citită din fișier se incremenează vp, numărul de apariții ale valorii 2p. Numărul cerut, 2p, corespunde celei mai mari valori p pentru care suma v9+v8+;vp≥n. 1) Corectitudinea globală vizează structura, sintaxa, alte aspecte neprecizate în barem.