Înapoi la fișa subiectului

Textul subiectului și baremului

Test de antrenament BAC Informatică Științe ale Naturii Pascal 2021 – 12 martie 2021, testul 2

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
Centrul Național de Politici și Evaluare în Educație
Probă scrisă la INFORMATICĂ Testul 2
Limbajul Pascal
Filieră teoretică, profil real, specializare științe ale naturii
Pagina 1 din 2
Examenul național de bacalaureat 2021
Proba E. d)
INFORMATICĂ
Limbajul Pascal
Testul 2
Filieră teoretică, profil real, specializare științe ale naturii
• 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ă.
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 întreg și memorează numere naturale nenule. Indicați o expresie Pascal
care are valoarea true dacă și numai dacă numărul memorat în x are cifra zecilor egală cu 2 și este un
multiplu al numărului memorat în y.
a. (x div 10 mod 10=2) and (x mod y=0) b. (x div 10 mod 10=2) or (y mod x=0)
c. (x div 2 mod 10=10) and (x mod y=0) d. (x div 2 mod 10=10) or (y mod x=0)
2. Pentru a verifica dacă într-un tablou unidimensional există elementul cu valoarea x=16, se aplică
metoda căutării binare, iar succesiunea de elemente a căror valoare se compară cu x pe parcursul
aplicării metodei este 14, 24, 16. Elementele tabloului pot fi:
a. (7,8,9,14,15,16,24) b. (14,14,24,24,16,16)
c. (48,16,12,24,7,14,2) d. (48,24,16,14,9,8,4)
3. Tabloul unidimensional A are elementele: A=(2,20,27,36,50), iar în urma interclasării lui
crescătoare cu tabloul unidimensional B se obține tabloul cu elementele
(2,3,5,8,20,27,36,45,50,63). Indicați elementele tabloului B, în ordinea apariției lor în acesta.
a. (-47,-31,-19,25,51) b. (-19,-15,1,9,13)
c. (63,45,8,5,3) d. (63,45,27,3)
4. O expresie Pascal care are valoarea false este:
a. trunc(20.19)=20 b. trunc(-20.19)=-20
c. trunc(19.20)=20 d. trunc(-19.20)=-19
5. Variabilele x, y, z și w memorează câte un număr real, astfel încât
expresia Pascal alăturată are valoarea true. Variabila care are
ca valoare cel mai mic dintre numerele menționate mai sus este:
(x>w) and (z>w) and (y>x)
a. x b. y c. z d. w

Subiectul · pagina 2

Ministerul Educației
Centrul Național de Politici și Evaluare în Educație
Probă scrisă la INFORMATICĂ Testul 2
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 și cu [c] partea întreagă a
numărului real c.
citește n (număr natural, n>9)
s1
c1n%10; n[n/10]; c2n%10
┌dacă c1=c2 atunci s0
│altfel
│┌dacă c1<c2 atunci s-1
│└■
└■
┌cât timp (c1-c2)*s>0 și n>9 execută
│ c1n%10; n[n/10]; c2n%10
└■
scrie s,' ',n
a. Scrieți ce se afișează dacă se citește valoarea
2186310. (6p.)
b. Scrieți două numere din intervalul [104,105) care
pot fi citite astfel încât, în urma executării
algoritmului pentru fiecare dintre acestea să se
afișeze două valori egale. (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
cât timp...execută cu o structură repetitivă de alt tip. (6p.)
2. Se numește polinom reciproc un polinom în care coeficienții termenilor egal depărtați de extremi sunt egali
(primul este egal cu ultimul, al doilea cu penultimul etc.).
Variabilele întregi a, b, c, d și e memorează, în această ordine, coeficienții unui polinom de grad 4, dat
în forma canonică a·x4+b·x3+c·x2+d·x+e. Scrieți o secvență de instrucțiuni Pascal în urma executării
căreia să se afișeze pe ecran mesajul RECIPROC, dacă polinomul menționat mai sus este reciproc, sau
mesajul OARECARE, în caz contrar.
Exemplu: dacă a=3, b=4, c=1, d=4 și e=3, se afișează pe ecran mesajul RECIPROC
iar dacă a=3, b=4, c=1, d=3 și e=4, se afișează pe ecran mesajul OARECARE (6p.)
3. Variabila c este de tip char, iar variabilele i și k sunt de tip întreg.
Scrieți secvența de mai jos, înlocuind punctele de suspensie astfel încât, în urma executării secvenței
obținute, valoarea variabilei k să fie 1 dacă s-a citit cel puțin o literă A, și 0 altfel.
Exemplu: dacă se citesc literele P R E a f r U M o A S A
valoarea variabilei k este 1
iar dacă se citesc literele P R E a f r U M o a S a
valoarea variabilei k este 0 (6p.)
k:=..........;
for i:=1 to 12 do
begin read(c);
............
end;
SUBIECTUL al III-lea (30 de puncte)
1. Se citesc două numere naturale nenule, n și m, și se cere să se scrie numărul valorilor prime care apar la
aceeași putere atât în descompunerea în factori primi a lui n, cât și în descompunerea în factori primi a lui m.
Scrieți, în pseudocod, algoritmul de rezolvare a problemei enunțate.
Exemplu: dacă n=16500 și m=10780, atunci se scrie 2 (16500=2235311, 10780=2257211). (10p.)
2. Scrieți un program Pascal care citește de la tastatură două numere naturale, n și k, (n∈[2,20],
k∈[1,n]), și construiește în memorie un tablou unidimensional cu n elemente, având proprietățile:
• al k-lea element are valoarea n;
• începând cu al k-lea element, spre stânga, elementele formează un șir strict descrescător de numere
consecutive, iar începând cu al k-lea element, spre dreapta, elementele formează tot un șir strict
descrescător de numere consecutive.
Programul afișează pe ecran tabloul construit, cu elementele separate prin câte un spațiu.
Exemplu: dacă n=10 și k=3 se afișează pe ecran tabloul 8 9 10 9 8 7 6 5 4 3 (10p.)
3. Fișierul bac.in conține un șir de cel mult 106 numere întregi din intervalul [-109,109], separate prin
câte un spațiu. Cel puțin două numere din șir sunt pozitive.
Se cere să se afișeze pe ecran lungimea maximă a unei secvențe a șirului care începe și se încheie cu
câte un număr pozitiv. O secvență este formată din termeni aflați pe poziții consecutive în șir, iar
lungimea secvenței este egală cu numărul de termeni ai acesteia. Proiectați un algoritm eficient din
punctul de vedere al memoriei utilizate și al timpului de executare.
Exemplu: dacă fișierul conține numerele -15 -7 4 -7 21 -5 -200 -26 52 -24 -7 -9 -20
pe ecran se afișează 7 (corespunzător secvenței 4 -7 21 -5 -200 -26 52).
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Ă Testul 2
Filieră teoretică, profil real, specializare științe ale naturii
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)
Testul 2
Filieră teoretică, profil real, specializare științe ale naturii
• 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ț este acceptată
dacă acest lucru nu afectează corectitudinea în funcționarea programului.
SUBIECTUL I (20 de puncte)
1a 2d 3c 4c 5d 5x4p.
SUBIECTUL al II - lea (40 de puncte)
1. a) Răspuns corect: -1 21 6p. Se acordă câte 3p. pentru fiecare dintre cele două
valori conform cerinței.
b) Pentru răspuns corect 6p. Se acordă câte 3p. pentru fiecare dintre cele două
numere conform cerinței (orice număr din intervalul
cerut care are prima cifră 1, iar celelalte cifre în ordine
strict crescatoare).
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
-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ă
-determinare a condiției cerute pentru ca
polinomul să fie reciproc (*)
-afișare a mesajelor
-corectitudine globală a secvenței1)
6p.
4p.
1p.
1p.
(*) Se acordă câte 2p. pentru fiecare aspect (prima
pereche de coeficienți, a doua pereche de coeficienți,
operator logic corespunzător) conform cerinței.
3. Pentru rezolvare corectă
-inițializare a variabilei k
-scriere a instrucțiunilor cerute (*)
-corectitudine globală a secvenței1)
6p.
1p.
4p.
1p.
(*) Se acordă câte 2p. pentru fiecare aspect specific
(identificare a unei litere A, actualizare a variabilei k)
conform cerinței.
SUBIECTUL al III - lea (30 de puncte)
1. Pentru algoritm corect
-citire a datelor
-determinare a valorilor cerute (*)
-afișare a datelor
-scriere principial corectă a structurilor de
control, corectitudine globală a
algoritmului1) (**)
10p.
1p.
6p.
1p.
2p.
(*) Se acordă câte 2p. pentru fiecare aspect al cerinței
(divizori primi comuni, putere a divizorilor comună,
algoritm principial corect de numărare).
(**) Se va puncta orice formă corectă de structură
repetitivă sau decizională.

Baremul · pagina 2

Ministerul Educației
Centrul Național de Politici și Evaluare în Educație
Probă scrisă la INFORMATICĂ Testul 2
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 unidimensional
-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 unui element situat pe o anumită poziție,
atribuire a valorii cerute pe poziția a k-a, construire a
unui șir descrescător de la elementul indicat spre
stânga, construire a unui șir descrescător de la
elementul indicat spre dreapta, valori suport,
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
care utilizează eficient memoria.
O soluție posibilă parcurge șirul din fișier, memorează
poziția primului număr pozitiv, p1, precum și poziția
ultimului număr pozitiv, p2. Valoarea cerută este
p2-p1+1.
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.