Înapoi la fișa subiectului

Textul subiectului și baremului

Subiect BAC Informatică Mate-Info Pascal 2021 – sesiunea august–septembrie, 18 august 2021, varianta 4

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 original

Subiectul · pagina 1

Ministerul Educației Naționale
Centrul Național de Evaluare și Examinare
Probă scrisă la INFORMATICĂ Varianta 4
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
Varianta 4
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 muchie are extremități distincte și oricare două 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. Variabilele x și y sunt de tip real (x≠-2). Indicați o expresie Pascal
corespunzătoare expresiei aritmetice alăturate.
 + 
 +  − 

 + 
a. (x+y/5+x-y/2)/x+2 b. (x+y)/5+(x-y)/2/(x+2)
c. ((x+y)/5+(x-y)/2)/x+2 d. ((x+y)/5+(x-y)/2)/(x+2)
2. Subprogramul f este definit alăturat.
Indicați valoarea lui f(1234).
function f(n:integer):integer;
begin if n<>0 then
f:=(n mod 2)*(n mod 10)+f(n div 10)
else f:=0
end;
a. 0 b. 4 c. 6 d. 10
3. Utilizând metoda backtracking se generează toate numerele formate din cifre distincte, cifre a căror
sumă să fie 6. Primele patru soluții generate sunt, în această ordine: 1023, 1032, 105 și 1203.
Indicați cea de a șasea soluție generată.
a. 1230 b. 132 c. 123 d. 15
4. Unui arbore cu 10 de noduri i se adaugă o muchie, cu extremitățile în două dintre nodurile sale.
Indicați numărul ciclurilor elementare pe care le conține graful obținut.
a. 0 b. 1 c. 9 d. 10
5. Un graf neorientat are 21 de noduri, numerotate de la 1 la 21; pentru oricare două noduri distincte ale
sale, numerotate cu i, respectiv cu j, există muchia [i,j] dacă și numai dacă ultima cifră a lui i
este egală cu ultima cifră a lui j. Indicați numărul valorilor nule din matricea de adiacență a grafului.
a. 2∙21-102 b. 212-11 c. 212-2∙12 d. 2∙212-13
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.
citește n,x,y
(numere naturale nenule, x≤n, y≤n)
ok0
┌pentru i1,n execută
│┌dacă (i%x=0 și i%y≠0) sau
││ (i%x≠0 și i%y=0) atunci
││ scrie i, ' '
││ ok1
│└■
└■
┌dacă ok=0 atunci scrie 0
└■
a. Scrieți ce se afișează în urma executării algoritmului dacă
se citesc, în această ordine, numerele 15, 3, 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. (6p.)
c. Scrieți programul Pascal corespunzător algoritmului dat.
(10p.)
d. Scrieți în pseudocod un algoritm echivalent cu cel dat,
înlocuind structura pentru...execută cu o structură
repetitivă cu test inițial. (6p.)

Subiectul · pagina 2

Ministerul Educației Naționale
Centrul Național de Evaluare și Examinare
Probă scrisă la INFORMATICĂ Varianta 4
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
2. Variabila s poate memora un șir de cel
mult 20 de caractere, variabila aux este
de tip char, iar celelalte variabile sunt de
tip întreg.
Scrieți șirul memorat prin intermediul
variabilei s în urma executării secvenței
alăturate. (6p.)
s:=’ROMANIA’;
i:=length(s);
for j:=3 downto 0 do
begin aux:=s[i]; s[i]:=s[i-j]; s[i-j]:=aux;
i:=i-j
end;
3. Variabila a memorează datele personale ale fiecăruia
dintre cei 30 de angajați (codul numeric personal – CNP,
anul nașterii) și venitul lunar al acestuia. Scrieți o secvență
de instrucțiuni în urma executării căreia pentru primul
angajat să se inițializeze anul nașterii cu valoarea 2000,
iar venitul cu valoarea 4000. (6p.)
type date=record
CNP:string[13];
anNastere:integer
end;
angajat=record
dp:date;
venit:integer
end;
var s:array[1..30] of angajat;
SUBIECTUL al III-lea (30 de puncte)
1. Un număr natural n se numește cub perfect dacă există un număr natural b, astfel încât n=b3.
Subprogramul cuburi are un singur parametru, n, prin care primește un număr natural (n∈[1,103]).
Subprogramul afișează pe ecran, separate prin câte un spațiu, în ordine descrescătoare, primele n
cuburi perfecte nenule.
Scrieți definiția completă a subprogramului.
Exemplu: dacă n=5 atunci, după apel, se afișează pe ecran numerele
125 64 27 8 1 (10p.)
2. Scrieți un program Pascal care citește de la tastatură două numere naturale din intervalul [2,102], k
și n, și construiește în memorie un tablou bidimensional cu n linii și n coloane, astfel încât parcurgând
diagonala principală, de sus în jos, să se obțină un șir strict crescător format din primii n multipli
naturali nenuli ai lui k și parcurgând fiecare linie a sa, de la stânga la dreapta, să se obțină câte un șir
strict crescător de numere naturale consecutive. 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 k=3 și n=4 se obține tabloul de mai jos
(10p.)
3 4 5 6
5 6 7 8
7 8 9 10
9 10 11 12
3. Numim pereche asemenea (x,y) două numere naturale cu cel puțin două cifre, x și y, cu
proprietatea că ultimele două cifre ale lui x sunt egale cu ultimele două cifre ale lui y, dispuse eventual
în altă ordine.
Fișierul numere.in conține numere naturale din intervalul [10,105]: pe prima linie două numere na
și nb, pe a doua linie un șir A de na numere, iar pe a treia linie un șir B de nb numere. 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 numărul de perechi asemenea (x,y), cu proprietatea că x este un
termen al șirului A, iar y este un termen al șirului B. Proiectați un algoritm eficient din punctul de vedere
al timpului de executare.
Exemplu: dacă fișierul conține numerele
9 7
112 20 42 112 5013 824 10012 55 155
402 1024 321 521 57 6542 255
se afișează pe ecran numărul
13
deoarece sunt 13 perechi asemenea: (112,321), (112,521), (20,402), (42,1024), (42,6542),
(112,321), (112,521), (824,1024), (824,6542), (10012,321), (10012,521), (55,255),
(155,255).
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 original

Baremul · pagina 1

Ministerul Educaţiei
Centrul Național de Politici și Evaluare în Educație
Probă scrisă la INFORMATICĂ Varianta 4
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)
Varianta 4
Filieră teoretică, profil real, specializare matematică-informatică / matematică-informatică intensiv informatică
Filieră vocațională, profil militar, specializare matematică-informatică
• Se punctează orice 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 la zece a punctajului total acordat pentru lucrare.
• Utilizarea unui tip de date care depășește domeniul de valori precizat în enunț (de exemplu
tipuri întregi cu semn pentru memorarea numerelor naturale, dimensiune a tablourilor) este
acceptată din punctul de vedere al corectitudinii programului, dacă acest lucru nu afectează
funcționarea acestuia.
SUBIECTUL I (20 de puncte)
1d 2b 3a 4b 5c 5x4p.
SUBIECTUL al II - lea (40 de puncte)
1. a) Răspuns corect: 3 4 6 8 9 15 6p. Se acordă câte 1p. pentru fiecare număr conform
cerinței.
b) Pentru răspuns corect 6p. Se acordă câte 3p. pentru fiecare set de date conform
cerinței (orice triplet de numere naturale nenule, n, x, y,
unde x≤n și x=y).
c) Pentru program corect
-declarare a variabilelor
-citire a datelor
-afișare a datelor
-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
-utilizare a unei structuri repetitive cu test
inițial (*)
-aspecte specifice ale secvenței obținute
prin înlocuire, conform cerinței (**)
-algoritm complet, corectitudine globală a
algoritmului1)
6p.
2p.
3p.
1p.
(*) Se acordă punctajul chiar dacă algoritmul obținut
nu este echivalent cu cel dat.
Se va puncta orice formă de structură repetitivă
conform cerinței (cât timp...execută, while... do etc.).
(**) Se acordă câte 1p. pentru fiecare aspect
(inițializare contor, expresie logică pentru test inițial,
actualizare contor) conform cerinței.
2. Răspuns corect
ARMONIA
6p. Se acordă numai 1p. dacă doar ultimele 3 litere sunt
conform cerinței, numai 3p. dacă doar ultimele 4 litere
sunt conform cerinței, numai 5p. dacă doar ultimele 6
litere sunt conform cerinței.
3. Pentru răspuns corect
-acces la un câmp de pe primul nivel al
structurii
-acces la un câmp de pe al doilea nivel al
structurii
-atribuire a valorilor indicate pentru
datele angajatului precizat
-corectitudine globală a secvenței1)
6p.
2p.
2p.
1p.
1p.

Baremul · pagina 2

Ministerul Educaţiei
Centrul Național de Politici și Evaluare în Educație
Probă scrisă la INFORMATICĂ Varianta 4
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
SUBIECTUL al III - lea (30 de puncte)
1. Pentru subprogram corect
-antet subprogram (*)
-determinare a valorilor cerute (**)
-afișare a datelor (***)
-declarare a tuturor variabilelor locale,
corectitudine globală a subprogramului1)
10p.
2p.
4p.
3p.
1p.
(*) Se acordă câte 1p. pentru fiecare aspect al
antetului (structură, parametru de intrare) conform
cerinței.
(**) Se acordă câte 2p. pentru fiecare aspect
(determinare/identificare a unui cub perfect, cuburi
perfecte suport determinate) conform cerinței.
(***) Se acordă numai 1p. dacă valorile sunt afișate,
dar nu în ordinea cerută.
2. Pentru program corect
-declarare a unei variabile care să
memoreze un tablou bidimensional
-citire a datelor
-construire a tabloului conform cerinței (*)
-afișare a datelor
-declarare a variabilelor simple,
corectitudine globală a programului1)
10p.
1p.
1p.
6p.
1p.
1p.
(*) Se acordă câte 1p. pentru fiecare aspect specific
(identificare a poziției elementelor situate pe diagonala
principală, plasare pe linii a unor valori consecutive la
stânga diagonalei principale, plasare pe linii a unor
valori consecutive la dreapta diagonalei principale,
multipli ai lui k suport pe diagonala principală, valori
suport plasate în afara diagonalei principale,
construire în memorie) conform cerinței.
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 vector de frecvență v în
care vi reprezintă numărul de valori x din șirul A pentru
care i=x%100 (i∈[0,99]). Vectorul v se actualizează pe
măsura parcurgerii celei de a doua linii a fișierului. Se
determină numărul cerut nr pe măsura parcurgerii
numerelor de pe a treia linie a fișierului: pentru fiecare
număr curent y din șirul B se determină ultimele două
cifre ale sale, c1 și c2 și numerele i și j, unde
i=c1*10+c2, iar j=c2*10+c1, apoi se adună la nr
valoarea vi și, dacă i≠j, se adună la nr și vj.
O altă soluție utilizează câte un vector de frecvență
pentru fiecare șir, va și vb, cu aceeași semnificație ca
mai sus. Vectorii se completează pe măsura citirii
fiecărui șir, iar numărul cerut se obține la final, prin
parcurgerea vectorului vb și pentru fiecare i∈[0,99], se
determină ultimele două cifre ale sale, c1 și c2 și
numărul j, unde j=c2*10+c1, apoi se adună la nr
valoarea vbi∙ vai și, dacă i≠j, se adună la nr și vbi∙ vaj.
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 (***)
-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.