Textul subiectului și baremului
Model oficial BAC Informatică Științe ale Naturii Pascal 2020
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 Pascal
Filieră teoretică, profil real, specializare științe ale naturii
Pagina 1 din 2
Examenul de bacalaureat național 2020
Proba E. d)
INFORMATICĂ
Limbajul Pascal
MODEL
Filieră teoretică, profil real, specializare științe ale naturii
• Toate subiectele sunt obligatorii. Se acordă 10 puncte din oficiu.
• Timpul de lucru efectiv este de 3 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. Variabilele x, y și z sunt de tip întreg și memorează numere naturale din intervalul [1,103]. Indicați o
expresie Pascal care are valoarea true dacă și numai dacă valoarea variabilei x este strict mai mică
decât valoarea oricăreia dintre variabilele y și z.
a. (z+x<x+y) and (x+z>z+y) b. (z+x<x+y) and (z+y>y+x)
c. (x+z<z+y) and (z+y>y+x) d. (x+y<y+z) and (x+z>z+y)
2. În secvențele notate cu s1, s2 și s3, definite mai jos, toate variabilele sunt întregi.
{s1}
p:=1;
for i:=2 to n do
p:=p*i;
{s2}
p:=1;
while n>1 do
begin p:=p*n*(n-1);
n:=n-2
end;
{s3}
p:=1;
if n mod 2=1 then
begin p:=n; n:=n-1 end;
for i:=1 to n div 2 do
p:=p*i*(n+1-i);
Dacă valoarea inițială a variabilei n este 12, se obține aceeași valoare pentru variabila p în urma
executării, independent, a secvențelor:
a. s1 și s2 b. s1 și s3 c. s2 și s3 d. s1, s2 și s3
3. Variabilele x şi y sunt de tip real. O transcriere în limbajul Pascal a expresiei
alăturate este: ∙ −
a. sqr(x*(sqrt(x)-y)) b. sqrt(x*(sqr(x)-y))
c. sqr(x*x*x-y) d. sqrt(x*x*x-y)
4. Elementele unui tablou unidimensional sunt, în această ordine, (2,5,6,12,55,57,79). Pentru a
verifica dacă în tablou există elementul cu valoarea x=56, se aplică metoda căutării binare.
Succesiunea de elemente cu care se compară valoarea x pe parcursul aplicării metodei indicate este:
a. 12, 57, 55 b. 12, 55, 57 c. 2, 6, 12, 57 d. 79, 57, 55
5. În urma interclasării în ordine descrescătoare a tablourilor unidimensionale A şi B se obține tabloul
(45,29,17,16,12,12,10,7,3,2). Elementele tablourilor, în ordinea în care apar în acesta, pot fi:
a. A=(4,2,1,1,1,1,1)
B=(5,9,7,6,2,2,0,7,3,2)
b. A=(45,29,17,16,12)
B=(10,7,3,2)
c. A=(22,14,8,8,6,6,5,3,1,1)
B=(23,15,9,8,6,6,5,4,2,1)
d. A=(45,29,17,12,10,3)
B=(16,12,7,2)Subiectul · pagina 2
Ministerul Educației Naționale Centrul Național de Evaluare și Examinare Probă scrisă la INFORMATICĂ MODEL Limbajul Pascal Filieră teoretică, profil real, specializare științe ale naturii 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. citeșșșște m,n,x (numere naturale nenule, m≤n) s0; pm1; pn1 ┌repetă │┌dacă m%x=0 atunci ││ ss+m; pmx │└■ │┌dacă n%x=0 şi m≠n atunci ││ ss+n; pnx │└■ │ mm+pm; nn-pn └până când m>n scrie s a. Scrieți valoarea afișată în urma executării algoritmului dacă se citesc, în această ordine, numerele 21, 38 și 4. (6p.) b. Dacă pentru m şi x se citesc numerele 20, respectiv 2020, scrieți cea mai mică şi cea mai mare valoare care pot fi citite pentru variabila n, astfel încât, în urma executării algoritmului, pentru fiecare dintre acestea, să se afişeze 2020. (6p.) c. Scrieți programul Pascal corespunzător algoritmului dat. (10p.) d. Scrieți în pseudocod un algoritm, echivalent cu cel dat, înlocuind structura repetă...până când cu o structură de alt tip. (6p.) 2. Variabila id memorează identificatorul unei zone de parcare dintr-un oraș (o literă a alfabetului englez), iar variabilele întregi numar și pret memorează numărul de locuri închiriate în această zonă pe parcursul lunii curente, respectiv prețul practicat pentru închirierea unui loc pentru o lună. Declarați corespunzător variabila id și scrieți o instrucțiune Pascal care să afișeze pe ecran suma obținută în urma închirierii pe parcursul lunii curente a tuturor locurilor de parcare din zona precizată. (6p.) 3. Î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 numărul de ordine al ultimului număr 2020 citit, sau 0, dacă nu există astfel de numere. p:=............; for i:=1 to 10 do begin read(x); .............. end; Exemplu: dacă se citesc, în această ordine, numerele 20, 19, 2020, 15, 2020, 6, 7, 21, 24, 36, în urma executării secvenței, p are valoarea 5. (6p.) SUBIECTUL al III-lea (30 de puncte) 1. Se citește un număr natural, n (n≥1), și se cere să se scrie numărul obținut prin duplicarea fiecărei cifre impare a lui n sau -1 dacă acesta nu are nicio cifră impară. Scrieți, în pseudocod, algoritmul de rezolvare pentru problema enunțată. Exemplu: dacă n=2019, se scrie 201199. (10p.) 2. Scrieți un program Pascal care citește de la tastatură numere naturale din intervalul [0,109], în această ordine: numerele n și x, apoi cele n elemente ale unui tablou unidimensional. Programul modifică ordinea valorilor din tablou, astfel încât primele poziții să fie ocupate de mulțimea formată de cele care sunt mai mari sau egale cu x, iar următoarele poziții, în continuarea acestora, să fie ocupate de mulțimea celorlalte numere. Valorile din aceeași mulțime sunt memorate într-o ordine oarecare. Elementele tabloului obținut sunt afișate pe ecran, separate prin câte un spațiu, iar dacă una dintre cele două mulțimi este vidă, se afișează pe ecran doar mesajul nu exista. Exemplu: pentru n=9, x=19 și tabloul (20, 19, 20, 5, 20, 18, 7, 75, 3) unul dintre tablourile obținute poate fi: (20, 19, 20, 20, 75, 5, 18, 7, 3). (10p.) 3. Fișierul numere.in conține un șir de numere naturale din intervalul [1,109]. Numerele din șir sunt ordonate strict descrescător și sunt separate prin câte un spațiu. Se cere să se determine numărul valorilor naturale distincte din intervalul închis delimitat de prima și ultima valoare din șir care NU se găsesc în șirul menționat mai sus. Numărul determinat se afișează pe ecran. Proiectați un algoritm eficient din punctul de vedere al spațiului de memorie și al timpului de executare. Exemplu: dacă fișierul conține numerele 8 5 3 2 se afișează pe ecran 3 (în șir nu se găsesc valorile 7 6 4). 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 Naționale Centrul Național de Evaluare și Examinare Probă scrisă la INFORMATICĂ MODEL Filieră teoretică, profil real, specializare științe ale naturii Barem de evaluare și de notare Pagina 1 din 2 Examenul de bacalaureat național 2020 Proba E. d) INFORMATICĂ BAREM DE EVALUARE ȘI DE NOTARE (comun pentru limbajele C/C++ şi Pascal) MODEL Filieră teoretică, profil real, specializare ș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. SUBIECTUL I (20 de puncte) 1c 2d 3b 4a 5d 5x4p. SUBIECTUL al II - lea (40 de puncte) 1. a) Răspuns corect: 120 6p. b) Răspuns corect: 2020 4039 6p. Se acordă câte 3p. pentru fiecare dintre cele două numere conform cerinței. c) Pentru program corect - declarare variabile - citire date - afișare date - instrucțiune repetitivă - instrucțiuni de decizie (*) - atribuiri - corectitudine globală a programului1) 10p. 1p. 1p. 1p. 2p. 3p. 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. Pentru rezolvare corectă - declarare a variabilei conform cerinței - afișare a datelor conform cerinței - corectitudine globală a secvenței1) 6p. 2p. 3p. 1p. 3. Pentru rezolvare corectă - înlocuire a punctelor de suspensie din prima zonă - înlocuire a punctelor de suspensie din cea de a doua zonă - corectitudine globală a secvenței1) 6p. 2p. 3p. 1p. SUBIECTUL al III - lea (30 de puncte) 1. Pentru algoritm corect - citire a datelor - determinare a numărului cerut (*) - scriere a datelor - scriere principial corectă a structurilor de control (**) 10p. 1p. 6p. 1p. 2p. (*) Se acordă câte 1p. pentru fiecare aspect al cerinței (acces la o cifră a unui număr, cifre suport analizate, cifre pare/impare, duplicare a unei cifre, cifre suport duplicate, tratare caz -1). (**) Se acordă punctajul pentru orice formă corectă de structură repetitivă sau decizională.
Baremul · pagina 2
Ministerul Educației Naționale Centrul Național de Evaluare și Examinare Probă scrisă la INFORMATICĂ MODEL Filieră teoretică, profil real, specializare științe ale naturii Barem de evaluare și de notare Pagina 2 din 2 2. Pentru program corect - declarare a unei variabile care să memoreze un tablou - citire a datelor - memorare a numerelor conform cerinței (*) - afișare a datelor și tratare a cazului nu exista - declarare a variabilelor simple, corectitudine globală a programului1) 10p. 1p. 1p. 6p. 1p. 1p. (*) Se acordă câte 2p. pentru fiecare aspect (memorare pe poziții consecutive a valorilor din aceeași mulțime, ordine a mulțimilor de valori, elemente suport) 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 care utilizează eficient memoria. O soluție posibilă utilizează un contor, inițializat cu 0, apoi parcurge numerele din fișier memorând, la fiecare pas, ultimele două numere citite, x și y, și actualizează contorul adăugând valoarea x-y-1. 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.