Textul subiectului și baremului
Model oficial BAC Informatică Mate-Info Pascal 2021
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 Centrul Național de Politici și Evaluare în Educație Probă scrisă la INFORMATICĂ Model Limbajul Pascal Filieră teoretică, profil real, specializare matematică-informatică / matematică-informatică intensiv informatică Filieră vocațională, profil militar, specializare matematică-informatică Pagina 1 din 2 Examenul național de bacalaureat 2021 Proba E. d) INFORMATICĂ Limbajul Pascal Model Filieră teoretică, profil real, specializare matematică-informatică / matematică-informatică intensiv informatică Filieră vocațională, profil militar, specializare matematică-informatică • Toate subiectele sunt obligatorii. Se acordă zece puncte din oficiu. • Timpul de lucru efectiv este de trei ore. • Identificatorii utilizați în rezolvări 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ă). Datele de intrare se consideră corecte, validarea lor nefiind necesară. • În grafurile din cerințe oricare arc/muchie are extremități distincte și oricare două arce/muchii diferă prin cel puțin una dintre extremități. SUBIECTUL I (20 de puncte) Pentru fiecare dintre itemii de la 1 la 5, scrieți pe foaia de examen litera corespunzătoare răspunsului corect. Fiecare răspuns corect se notează cu 4 puncte. 1. Indicați valoarea expresiei Pascal alăturate. 21 div 2*2-5 a. 0 b. 0.25 c. 15 d. 16 2. Variabila x este declarată alăturat. Indicați secvența care, în urma executării, afișează pe ecran ziua, luna și anul corespunzătoare unei date calendaristice memorate în variabila x. type data=record zi,luna,an:integer end; var x:data; a. write(x.zi,' ',x.luna,' ',x.an); b. write(zi.x,' ',luna.x,' ',an.x); c. write(x(zi,luna,an),' '); d. write(data.x.zi,' ',data.x.luna,' ',data.x.an); 3. Subprogramul f este definit alăturat. Indicați valoarea f(3,1). function f(n,x:longint):longint; begin if n<>0 then begin x:=x+1; f:=f(n-1,x)-x end else f:=0 end; a. 0 b. -3 c. -6 d. -9 4. Un arbore cu rădăcină are 8 noduri, numerotate de la 1 la 8, și muchiile [1,3], [1,7], [1,8], [2,4], [3,5], [3,6], [4,5]. Indicați numărul maxim de frunze ale arborelui, în funcție de rădăcina aleasă. a. 5 b. 4 c. 3 d. 2 5. Un graf neorientat complet are 21 de noduri. Indicați numărul de muchii ce pot fi eliminate, astfel încât graful parțial obținut să fie conex și fără cicluri. a. 211 b. 209 c. 190 d. 188
Subiectul · pagina 2
Ministerul Educației și Cercetării
Centrul Național de Politici și Evaluare în Educație
Probă scrisă la INFORMATICĂ Model
Limbajul Pascal
Filieră teoretică, profil real, specializare matematică-informatică / matematică-informatică intensiv informatică
Filieră vocațională, profil militar, specializare matematică-informatică
Pagina 2 din 2
SUBIECTUL al II-lea (40 de puncte)
1. Algoritmul alăturat este reprezentat în pseudocod.
S-a notat cu a%b restul împărțirii numărului natural a la numărul
natural nenul b și cu [c] partea întreagă a numărului real c.
citește n,k
(numere naturale)
p1
┌dacă k=0 atunci
│ nr-1
│altfel
│ nr0
│┌repetă
││ cn%2; n[n/10]
││┌dacă c≠0 atunci
│││ nrnr+(n%10)*p; pp*10
│││altfel
│││ kk-1
││└■
│└până când n=0 sau k=0
└■
scrie nr
a. Scrieți numărul afișat în urma executării algoritmului dacă se
citesc, în această ordine, numerele 3845267 și 3. (6p.)
b. Dacă pentru variabila k se citește 2, scrieți trei numere din
intervalul [103,104) care pot fi citite pentru n astfel încât,
pentru fiecare dintre acestea, în urma executării algoritmului, să
se afișeze 20. (6p.)
c. Scrieți programul Pascal corespunzător algoritmului dat. (10p.)
d. Scrieți în pseudocod un algoritm, echivalent cu cel dat, înlocuind
adecvat structura repetă...până când cu o structură
repetitivă cu test inițial. (6p.)
2. Utilizând metoda backtracking se generează toate numerele din intervalul [104,105), cu cifrele în
ordine strict crescătoare. Primele trei numere generate sunt 12345, 12346, 12347. Scrieți, în ordinea
obținerii, ultimele trei numere generate care au prima cifră 4. (6p.)
3. Variabila s memorează un șir cu cel mult 20 de
caractere, iar celelalte variabile sunt de tip întreg.
Scrieți ce se afișează pe ecran în urma executării
secvenței alăturate. (6p.)
k:=ord('a')-ord('A');
s:='A realizat tot';
for i:=length(s) downto 1 do
if pos(s[i],'aeiou')<>0 then
begin s[i]:=chr(ord(s[i])-k);
write(s[i])
end;
SUBIECTUL al III-lea (30 de puncte)
1. Subprogramul prime are trei parametri:
• n, prin care primește un număr natural (n∈∈∈∈[4,109]);
• x și y, prin care furnizează cele mai mari două numere prime din intervalul [1,n), x<y.
Scrieți definiția completă a subprogramului.
Exemplu: dacă n=49, în urma apelului x=43, y=47. (10p.)
2. Scrieți un program Pascal care citește de la tastatură două numere naturale din intervalul [2,102],
m și n, și construiește în memorie un tablou bidimensional cu m linii și n coloane, cu proprietatea că
parcurgându-l linie cu linie de sus în jos și fiecare linie de la stânga la dreapta, se obține șirul primelor
m*n pătrate perfecte pare, ordonat strict descrescător, ca în exemplu.
Elementele tabloului obținut se afișează pe ecran, fiecare linie a tabloului pe câte o linie
a ecranului, valorile de pe aceeași linie fiind separate prin câte un spațiu.
Exemplu: pentru m=2, n=3 se obține tabloul alăturat. (10p.)
100 64 36
16 4 0
3. Fișierul cheltuieli.in are cel mult 106 linii, fiecare linie conținând câte trei numere naturale din
intervalul [1,102], reprezentând, în această ordine, date despre câte o achiziție: tipul produsului
cumpărat, numărul de produse de acest tip cumpărate, respectiv prețul unui astfel de produs la acel
moment. Numerele aflate pe aceeași linie sunt separate prin câte un spațiu.
Se cere să se afișeze pe ecran cea mai mare sumă cheltuită pentru toate produsele de
același tip, precum și numărul de tipuri de produse pentru care s-a obținut această sumă.
Proiectați un algoritm eficient din punctul de vedere al timpului de executare.
Exemplu: dacă fișierul cheltuieli.in are conținutul alăturat, se afișează pe ecran: 26 2
(s-a cheltuit suma maximă 26 pentru produsele de tipul 1 și 4: 26=16·1+5·2=1·10+2·8)
4 1 10
1 16 1
4 2 8
2 1 5
1 5 2
a. Descrieți în limbaj natural algoritmul proiectat, justificând eficiența acestuia. (2p.)
b. Scrieți programul Pascal corespunzător algoritmului proiectat. (8p.)Baremul
Deschide PDF-ul originalBaremul · pagina 1
Ministerul Educației și Cercetării Centrul Național de Politici și Evaluare în Educație Probă scrisă la INFORMATICĂ Model Filieră teoretică, profil real, specializare matematică-informatică / matematică-informatică intensiv informatică Filieră vocațională, profil militar, specializare matematică-informatică Barem de evaluare și de notare Pagina 1 din 2 Examenul național de bacalaureat 2021 Proba E. d) INFORMATICĂ BAREM DE EVALUARE ȘI DE NOTARE (comun pentru limbajele C/C++ și Pascal) Model Filieră teoretică, profil real, specializare matematică-informatică / matematică-informatică intensiv informatică Filieră vocațională, profil militar, specializare matematică-informatică • Se punctează orice formulare/modalitate de rezolvare corectă a cerințelor. • Nu se acordă punctaje intermediare, altele decât cele precizate explicit în barem. Nu se acordă fracțiuni de punct. • Se acordă zece puncte din oficiu. Nota finală se calculează prin împărțirea punctajului total acordat pentru lucrare la zece. • 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. SUBIECTUL I (20 de puncte) 1c 2a 3d 4b 5c 5x4p. SUBIECTUL al II - lea (40 de puncte) 1. a. Răspuns corect: 46 6p. b. Pentru răspuns corect 6p. Se acordă câte 2p. pentru fiecare dintre cele trei numere conform cerinței (numere de forma 2x0y unde x, y sunt cifre impare). c. Pentru program corect -declarare variabile -citire date -afișare date -instrucțiuni de decizie (*) -instrucțiune repetitivă -atribuiri -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 conform cerinței. d. 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. 2. Răspuns corect: 45689, 45789, 46789 6p. Se acordă câte 2p. pentru fiecare număr conform cerinței. 3. Răspuns corect: OAIAE 6p. Se acordă câte 2p. pentru fiecare aspect specific (litere mari, vocale, litere suport) conform cerinței. SUBIECTUL al III - lea (30 de puncte) 1. Pentru subprogram corect -antet subprogram (*) -determinare a valorilor cerute (**) -declarare a tuturor variabilelor locale, corectitudine globală a subprogramului1) 10p. 3p. 6p. 1p. (*) Se acordă câte 1p. pentru fiecare aspect al antetului (structură, parametru de intrare, parametri de ieșire) conform cerinței. (**) Se acordă câte 2p. pentru fiecare aspect specific (algoritm principial corect de determinare a unui număr prim, determinare a celui mai mare număr prim din interval, determinare a celui de al doilea număr prim) conform cerinței. 2. Pentru program corect -declarare a unei variabile care să memoreze un tablou bidimensional -citire a datelor -construire a tabloului cerut (*) -afișare a datelor în formatul cerut -declarare a variabilelor simple, corectitudine globală a programului1) 10p. 1p. 1p. 6p. 1p. 1p. (*) Se acordă câte 1p. pentru fiecare aspect specific (numere pare, numere pătrate perfecte, ordonare valori pe linii, ordonare valori pe coloane, valori suport, construire în memorie) conform cerinței.
Baremul · pagina 2
Ministerul Educației și Cercetării Centrul Național de Politici și Evaluare în Educație Probă scrisă la INFORMATICĂ Model Filieră teoretică, profil real, specializare matematică-informatică / matematică-informatică intensiv informatică Filieră vocațională, profil militar, specializare matematică-informatică Barem de evaluare și de notare Pagina 2 din 2 3. a. Pentru răspuns corect -coerență a descrierii algoritmului (*) -justificare a elementelor de eficiență 2p. 1p. 1p. (*) Se acordă punctajul chiar dacă algoritmul ales nu este eficient. (**) Se acordă numai 3p. dacă algoritmul este principial corect, dar nu oferă rezultatul cerut pentru toate seturile de date de intrare. (***) Se acordă punctajul numai pentru un algoritm liniar. O soluție posibilă utilizează un tablou, s, în care s[i]=suma cheltuită în total pentru produsele de tipul i. Pe măsura citirii datelor din fișier, pentru fiecare triplet x, y, z citit se actualizează s[x] prin adunare la valoarea sa actuală a produsului y*z. La final se determină valoarea maximă memorată în tabloul s, precum și numărul de apariții ale acestei valori. b. Pentru program corect -operații cu fișiere: declarare, pregătire în vederea citirii, citire din fișier -determinare a valorilor cerute (*),(**) -utilizare a unui algoritm eficient (***) -declarare a variabilelor, afișare a datelor, corectitudine globală a programului1) 8p. 1p. 5p. 1p. 1p. 1) Corectitudinea globală vizează structura, sintaxa, alte aspecte neprecizate în barem.