Textul subiectului și baremului
Model oficial BAC Informatică Științe ale Naturii Pascal 2024
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
Centrul Național de Politici și Evaluare în Educație
Probă scrisă la INFORMATICĂ Model
Limbajul Pascal
Filieră teoretică, profil real, specializare științe ale naturii
Pagina 1 din 2
Examenul național de bacalaureat 2024
Proba E. d)
INFORMATICĂ
Limbajul Pascal
Model
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. Variabila x este de tip întreg și poate memora un număr natural din intervalul
[0,109). Indicați valoarea maximă pe care o poate avea expresia Pascal alăturată.
x mod 2024
a. 20.24 b. 295 c. 2023 d. 494071
2. În secvența de mai jos, toate variabilele sunt de tip întreg.
for i:=0 to 6 do
begin for j:=0 to 6 do
if ........... then write('4 ')
else write('2 ');
writeln
end;
2 2 2 2 2 2 2
2 2 2 2 2 2 2
2 2 2 2 2 2 2
2 2 2 2 2 2 2
2 2 2 4 2 2 2
2 2 4 4 4 2 2
2 4 4 4 4 4 2
Indicați o expresie care poate înlocui punctele de suspensie astfel încât, în urma executării secvenței
obținute, să se afișeze pe ecran cifrele din figura de mai sus, în această ordine.
a. (j<i) and (i+j>6) b. (j<i) and (i+j<6)
c. (j>i) and (i+j>6) d. (j>i) and (i+j<6)
3. Tablourile unidimensionale A și B au valorile A=(40,35,24,10,7) și B=(60,20,16,6,2) și sunt
interclasate în ordine crescătoare, fiind parcurse de la dreapta la stânga. Indicați numărul elementelor
tabloului B care se compară cu elementul cu valoarea 24 din tabloul A pe parcursul aplicării metodei.
a. 1 b. 2 c. 3 d. 4
4. Indicați valoarea expresiei Pascal alăturate. trunc(sqrt(24))
a. 2 b. 4 c. 5 d. 6
5. În secvențele notate cu s1, s2 și s3, definite mai jos, toate variabilele sunt întregi.
{s1}
rez:=0;
for i:=1 to n do
rez:=rez+i;
{s3}
rez:=0;
if n mod 2=1 then
begin rez:=n; n:=n-1 end;
for i:=1 to n div 2 do
rez:=rez+i+(n+1-i);{s2}
rez:=0;
while n>1 do
begin rez:=rez+n+(n-1); n:=n-2 end;
Dacă valoarea inițială a variabilei n este 12, se obține aceeași valoare pentru variabila rez în urma
executării, independent, a secvențelor:
a. s1 și s2 b. s1 și s3 c. s2 și s3 d. s1, s2 și s3Subiectul · pagina 2
Ministerul Educației Centrul Național de Politici și Evaluare în Educație 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 și cu [c] partea întreagă a numărului real c. citește n (număr natural nenul) m0; in ┌cât timp i≥1 execută │ citește x (număr natural) │┌cât timp x%10 ≤ [x/10]%10 execută ││ x[x/10] │└■ │ mm+x; ii-1 └■ ┌dacă m≠n atunci scrie m │altfel scrie „egal” └■ a. Scrieți ce se afișează dacă se citesc, în această ordine, numerele 4, 721, 20020, 1321, 211. (6p.) b. Dacă primul număr citit este 2, scrieți un set de numere distincte din intervalul [10,104] care pot fi citite în continuare astfel încât, în urma executării algoritmului, să se afișeze mesajul egal. (6p.) c. Scrieți programul Pascal corespunzător algoritmului dat. (10p.) d. Scrieți în pseudocod un algoritm echivalent cu cel dat, înlocuind adecvat prima structură repetitivă cu o structură de tip pentru...execută. (6p.) 2. Pentru a verifica dacă într-un tablou unidimensional care memorează 7 numere naturale există elementul cu valoarea x=10, se aplică metoda căutării binare, iar succesiunea de elemente ale tabloului a căror valoare se compară cu valoarea lui x pe parcursul aplicării metodei indicate este: 20, 2, 4. Precizați succesiunea de valori care pot fi, în această ordine, elementele tabloului. (6p.) 3. Variabila prod memorează inițiala producătorului unui telefon (litera A pentru APPLE sau litera S pentru SAMSUNG), iar variabila pret memorează prețul acestuia (număr real). Declarați variabilele prod și pret și scrieți o secvență de instrucțiuni Pascal care afișează pe ecran, pe linii separate, datele telefonului, precedate de cuvintele PRODUCATOR, respectiv PRET, scrise toate cu litere mari, ca în exemplu. Exemplu: dacă variabila prod memorează litera A, iar variabila pret memorează 1599.99 se afișează: PRODUCATOR APPLE PRET 1599.99 (6p.) SUBIECTUL al III-lea (30 de puncte) 1. Se citesc două numere naturale din intervalul [1,104], a și b, și se cere să se scrie produsul divizorilor naturali comuni lui a și b. Scrieți, în pseudocod, algoritmul de rezolvare pentru problema enunțată. Exemplu: dacă a=20 și b=12, atunci se scrie valoarea 8 (1∙2∙4=8). (10p.) 2. Scrieți un program Pascal care citește de la tastatură un număr natural n (n[1,102]), apoi un șir de n numere naturale distincte din intervalul [1,109], elemente ale unui tablou unidimensional. Programul afișează pe ecran termenii șirului, pe două linii separate, astfel încât prima linie să conțină mulțimea celor care au mai puțin de trei cifre, iar a doua linie să conțină mulțimea celor care au mai mult de trei cifre. Numerele de pe fiecare linie sunt afișate într-o ordine oarecare, iar dacă una dintre cele două mulțimi este vidă, se afișează pe ecran doar mesajul nu exista. Exemplu: pentru n=7 și tabloul (124,49,957,9000,2,5237,100000) se pot afișa pe ecran valorile alăturate. (10p.) 49 2 9000 5237 100000 3. La un concurs se acordă premiile I și al II-lea. Fiecare premiant este recompensat cu câte o carte, care are un preț egal pentru toți cei cu același premiu. Prețurile cărților alese pentru premiile I și al II-lea sunt stabilite astfel încât să fie în ordine strict descrescătoare, iar pentru fiecare premiu să se ia în considerare cel mai mare preț pentru care există suficiente cărți propuse, în condițiile precizate. Fișierul bac.txt conține pe prima linie două numere naturale din intervalul [1,20], n1 și n2, reprezentând numărul concurenților care primesc premiile I, respectiv al II-lea, iar pe a doua linie un șir de cel mult 106 numere naturale din intervalul [10,103], separate prin câte un spațiu, fiecare număr reprezentând prețul unei cărți propuse pentru premiere. Se cere să se afișeze pe ecran, separate prin câte un spațiu, în ordine strict descrescătoare, prețurile cărților alese, corespunzătoare celor două premii, iar dacă nu există două astfel de prețuri, se afișează mesajul nu exista. Proiectați un algoritm eficient din punctul de vedere al timpului de executare. Exemplu: dacă fișierul conține valorile 3 2 500 100 25 100 200 100 20 10 200 100 75 52 15 52 20 20 10 30 20 15 100 se afișează pe ecran, în această ordine, numerele 100 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 originalBaremul · pagina 1
Ministerul Educației
Centrul Național de Politici și Evaluare în Educație
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 național de bacalaureat 2024
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ă 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 sa.
SUBIECTUL I (20 de puncte)
1c 2a 3c 4b 5d 5x4p.
SUBIECTUL al II - lea (40 de puncte)
1. a) Răspuns corect: 2024 6p.
b) Pentru răspuns corect 6p. Se acordă numai 2p. dacă s-au precizat două valori,
dar care nu conduc la afișarea mesajului cerut, se
acordă numai 3p. dacă s-au introdus două valori care
conduc la afișarea mesajului cerut, dar care nu sunt
conform cerinței.
Valorile cerute sunt două numere distincte din
mulțimea {10, 11, 100, 110, 111, 1000, 1100, 1110,
1111, 10000}.
c) Pentru program corect
- declarare a variabilelor conform cerinței
- citire a datelor conform cerinței
- afișare a datelor conform cerinței
- instrucțiuni repetitive conform cerinței(*)
- instrucțiune de decizie conform cerinței
- atribuiri conform cerinței
- corectitudine globală a programului1)
10p.
1p.
1p.
1p.
3p.
2p.
1p.
1p.
(*) Se acordă numai 2p. dacă doar una dintre
instrucțiunile repetitive este conform cerinței.
d) Pentru algoritm pseudocod corect
- utilizare a unei structuri repetitive de tip
pentru ...execută (*)
- aspecte specifice ale secvenței obținute
prin înlocuire, conform cerinței (**)
- algoritm complet, corectitudine globală a
algoritmului1)
6p.
2p.
3p.
1p.
(*) Se acordă numai 1p. 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 (pentru ... execută, for...to
etc.).
(**) Se acordă câte 1p. pentru fiecare aspect specific
(expresie inițială a contorului, expresie finală a
contorului, actualizare a contorului numai prin
instrucțiunea repetitivă) conform cerinței.
2. Pentru rezolvare corectă 6p. Se acordă numai 3p. dacă s-a precizat o succesiune
de valori în numărul indicat și în ordine
crescătoare/descrescătoare, dar elementele precizate
în enunț nu sunt poziționate corespunzător.
3. Pentru rezolvare corectă
- declarare a variabilelor indicate (*)
- afișare a datelor în formatul indicat (**)
- corectitudine globală a secvenței1)
6p.
2p.
3p.
1p.
(*) Se acordă câte 1p. pentru fiecare dintre cele două
variabile declarate conform cerinței.
(**) Se acordă câte 1p. pentru fiecare aspect specific
(date ale telefonului, cuvinte care preced datele, linii
separate) conform cerinței.Baremul · pagina 2
Ministerul Educației Centrul Național de Politici și Evaluare în Educație Probă scrisă la INFORMATICĂ Model Filieră teoretică, profil real, specializare științe ale naturii Barem de evaluare și de notare Pagina 2 din 2 SUBIECTUL al III - lea (30 de puncte) 1. Pentru algoritm corect - citire a datelor - determinare a numărului cerut (*) - afișare a datelor - scriere principial corectă a structurilor de control, declarare a tuturor variabilelor locale, corectitudine globală a algoritmului1) (**) 10p. 1p. 6p. 1p. 2p. (*) Se acordă câte 2p. pentru fiecare aspect (identificare a unui divizor al unui număr, algoritm de bază pentru produsul unei serii de valori, divizori suport înmulțiți) conform cerinței. (**) Se va puncta orice formă explicită de structură repetitivă sau decizională. 2. Pentru program corect - declarare a unei variabile care să memoreze un tablou unidimensional - citire a datelor - afișare a valorilor conform cerinței (*) - tratare a cazului nu exista - declarare a variabilelor simple, corectitudine globală a programului1) 10p. 1p. 1p. 6p. 1p. 1p. (*) Se acordă câte 1p. pentru fiecare aspect (identificare a unui număr care are mai mult/mai puțin/exact trei cifre, elemente suport analizate, elemente suport afișate pentru fiecare mulțime, afișare consecutivă a elementelor din aceeași mulțime, ordine a mulțimilor de elemente, afișare pe două linii separate) conform cerinței. 3. a) Pentru răspuns corect - descriere coerentă a 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 apariții, ap, unde app memorează numărul de apariții ale prețului p în șirul celor propuse. Pe măsura citirii datelor din fișier se actualizează app pentru fiecare valoare p citită. Valorile cerute, x și y (x>y, inițializate cu valori nule), se determină prin parcurgerea vectorului de apariții în ordine descrescătoare a lui p și memorând primele prețuri p adecvate pentru fiecare premiu, astfel: dacă app≥n1 și încă nu s-a determinat un preț pentru premiul I (x=0), atunci x=p; dacă app≥n2 și s-a determinat un preț pentru premiul I, dar nu și pentru premiul al II-lea (x≠0, dar y=0), atunci y=p. Algoritmul se încheie dacă y≠0 sau dacă s-a încheiat parcurgerea vectorului de apariții. Dacă după parcurgerea vectorului de apariții y=0, atunci se afișează mesajul indicat. 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.