Textul subiectului și baremului
Simulare 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 și Cercetării Științifice Centrul Naţional de Evaluare şi Examinare Probă scrisă la informatică Simulare Limbajul C/C++ Filiera teoretică, profilul real, specializările: matematică-informatică, matematică-informatică intensiv informatică Filiera vocaţională, profilul militar, specializarea matematică-informatică Pagina 1 din 3 Examenul de bacalaureat naţional 2015 Proba E. d) Informatică Limbajul C/C++ Simulare 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. Indicaţi expresia C/C++ care are valoarea 1 dacă şi numai dacă cifra zecilor numărului natural memorat în variabila întreagă n este 2 sau 7. (4p.) a. (n/10)%10==2 || (n/10)%10==7 b. (n/10)%10==2 && (n/10)%10==7 c. (n%10)/10==2 || (n%10)/10==7 d. (n%10)/10==2 && (n%10)/10==7 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,k (numere naturale strict mai mari decât 1) ┌cât timp n≥1 execută │ p0 │ mn │┌cât timp m%k=0 execută ││ pp+1 ││ m[m/k] │└■ │┌dacă m=1 atunci ││ scrie n,’ ’, p,’ ’ │└■ │ nn-1 └■ a) Scrieţi valorile afişate dacă se citesc, în această ordine, numerele 17 și 4. (6p.) b) Dacă pentru variabila k se citește valoarea 50, scrieţi cel mai mic și cel mai mare număr de două cifre care pot fi citite pentru n astfel încât, pentru fiecare dintre acestea, numerele afişate în urma executării algoritmului să fie 1 0. (4p.) c) Scrieţi în pseudocod un algoritm, echivalent cu cel dat, înlocuind a doua structură 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 și Cercetării Științifice
Centrul Naţional de Evaluare şi Examinare
Probă scrisă la informatică Simulare
Limbajul C/C++
Filiera teoretică, profilul real, specializările: matematică-informatică, matematică-informatică intensiv informatică
Filiera vocaţională, profilul militar, specializarea matematică-informatică
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. Variabila A, declarată alăturat, memorează lungimile celor două
catete ale unui triunghi dreptunghic. Indicați expresia C/C++ care
are ca valoare pătratul lungimii ipotenuzei acestui triunghi. (4p.)
struct TD
{
float x,y;
} A;
a. A(x)*A(x)+A(y)*A(y) b. A.x*A.x+A.y*A.y
c. TD(A).x*TD(A).x+TD(A).y*TD(A).y d. TD.x*TD.x+TD.y*TD.y
2. În figura alăturată este reprezentat un graf orientat cu trei vârfuri.
O matrice de adiacenţă prin care poate fi reprezentat acesta
este: (4p.)
a. 0 1 0
0 0 1
0 0 0
b. 0 1 0
0 0 0
0 1 0
c. 0 0 0
0 0 0
1 1 0
d. 0 0 0
0 1 0
1 0 0
Scrieţi pe foaia de examen răspunsul pentru fiecare dintre cerinţele următoare.
3. Un arbore cu 10 noduri, numerotate de la 1 la 10, este reprezentat prin vectorul de „taţi”
(9,7,10,7,2,2,0,4,10,4). Enumeraţi trei noduri ale arborelui care au exact doi fii. (6p.)
4. În secvenţa alăturată, variabila i este de tip întreg, iar
variabila s memorează un şir de cel mult 20 de caractere,
numai litere mici ale alfabetului englez.
i=0;
while(i<strlen(s))
{ ......... }
Scrieţi instrucțiunile care pot înlocui punctele de suspensie astfel încât, în urma executării
secvenţei obținute, să se afişeze pe ecran toate literele şirului memorat în variabila s, cu
excepţia grupului de litere ae. Literele se afişează în ordinea apariţiei lor în şir.
Exemplu: dacă şirul memorat în variabila s este
elaeagnaceae
se afişează pe ecran
elagnace (6p.)
5. Scrieţi un program C/C++ care citeşte de la tastatură două numere naturale, m şi n, din
intervalul [2,50] şi construiește în memorie un tablou bidimensional cu m linii şi n
coloane, astfel încât prima coloană conține primele m numere naturale impare, în ordine
strict crescătoare, și parcurgând orice linie a tabloului, de la stânga la dreapta, se obțin
numere naturale consecutive, în ordine strict crescătoare. 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=5, se obține tabloul alăturat.
(10p.)
1 2 3 4 5
3 4 5 6 7
5 6 7 8 9
7 8 9 10 11Subiectul · pagina 3
Ministerul Educaţiei și Cercetării Științifice
Centrul Naţional de Evaluare şi Examinare
Probă scrisă la informatică Simulare
Limbajul C/C++
Filiera teoretică, profilul real, specializările: matematică-informatică, matematică-informatică intensiv informatică
Filiera vocaţională, profilul militar, specializarea matematică-informatică
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. Utilizând metoda backtracking, se generează toate aranjamentele florale de câte 5 flori
distincte din mulţimea {frezie, iris, lalea, mac, nard}. Două aranjamente sunt
distincte dacă florile sunt dispuse în altă ordine.
Primele patru soluţii obţinute sunt, în această ordine: (frezie, iris, lalea, mac, nard),
(frezie, iris, lalea, nard, mac), (frezie, iris, mac, lalea, nard), (frezie,
iris, mac, nard, lalea). A cincea soluție generată este: (4p.)
a. (frezie, iris, nard, lalea, mac) b. (frezie, iris, nard, mac, lalea)
c. (frezie, lalea, iris, mac, nard) d. (frezie, lalea, iris, nard, mac)
Scrieţi pe foaia de examen răspunsul pentru fiecare dintre cerinţele următoare.
2. Subprogramul F este definit alăturat. Scrieţi
ce valori au F(105,105) respectiv
F(105,42).
(6p.)
int F(int x, int y)
{ if(x==y) return 1;
else
{ if(x<y)
{ x=x+y;
y=x-y;
x=x-y;
}
return 1+F(x-y,y);
}
}
3. Subprogramul Cifre are un singur parametru, n, prin care primește un număr natural
(n∈∈∈∈[0,109]). Subprogramul afișează pe ecran toate cifrele distincte care apar în scrierea
lui n, separate prin câte un spațiu.
Scrieţi definiţia completă a subprogramului.
Exemplu: dacă n=24207, se afișează cifrele 0 2 4 7, nu neapărat în această ordine.
(10p.)
4. Fișierul bac.txt conține numere naturale din intervalul [1,104]: pe prima linie numărul
n, pe a doua linie un șir de n numere ordonate strict descrescător, iar pe a treia linie două
numere, x și y (x≤≤≤≤y). Numerele de pe aceeași linie sunt separate prin câte un spațiu.
Se cere să se afișeze pe ecran cel mai mare număr din șir care aparține intervalului
[x,y]. Dacă nu există un astfel de număr, 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 conține numerele
5
100 49 16 7 2
10 30
atunci pe ecran se afișează
16
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ă Simulare 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) Simulare 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. a 4p. 2. a) Răspuns corect: 16 2 4 1 1 0 6p. Se acordă câte 1p. pentru fiecare număr afișat conform cerinței. b) Răspuns corect: 10, 49 4p. Se acordă câte 2p. pentru fiecare număr 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ţ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. b 4p. 2. c 4p. 3. Pentru răspuns corect 6p. Se acordă câte 2p. pentru fiecare dintre cele trei noduri conform cerinței (oricare dintre nodurile 2, 4, 7, 10).
Baremul · pagina 2
Ministerul Educaţiei și Cercetării Științifice Centrul Naţional de Evaluare şi Examinare Probă scrisă la informatică Simulare 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 4. Pentru răspuns corect -accesare a unui caracter al șirului -identificare a grupului de litere ae (*) -parcurgere a tuturor literelor cerute (**) 6p. 1p. 3p. 2p. (*) Se acordă numai 2p. dacă s-au identificat literele a sau e, dar nu pe poziții consecutive, conform cerinței. (**) Se acordă numai 1p. dacă s-au afișat toate literele cerute dar, în plus, s-au afișat și alte litere. 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 (număr de linii, număr de coloane, numere impare pe prima coloană, numere consecutive pe linii, 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. a 4p. 2. Pentru răspuns corect 6p. Se acordă numai 3p. dacă doar o valoare este conform cerinței. F(105,105)=1 F(105,42)=4 3. Pentru subprogram corect -structură antet principial corectă a unui subprogram de tipul cerut -declarare corectă a parametrilor -determinare a cifrelor distincte ale numărului (*) -afișare date -declarare a tuturor variabilelor locale, corectitudine globală a subprogramului1) 10p. 1p. 1p. 6p. 1p. 1p. (*) Se acordă câte 2p. pentru fiecare aspect al cerinței: acces la o cifră a numărului, acces la toate cifrele numărului (și dacă acesta este 0), doar cifre distincte. 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 numărului cerut (*,**) -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ă câte 1p. pentru fiecare proprietate a numărului cerut (mai mare sau egal cu x, mai mic sau egal cu y, maxim). (***) O soluţie posibilă utilizează căutarea binară pentru determinarea numărului cerut. 1) Corectitudinea globală vizează structura, sintaxa, alte aspecte neprecizate în barem.