Înapoi la fișa subiectului

Textul subiectului și baremului

Subiect BAC Informatică Mate-Info Pascal 2024 – sesiunea iunie–iulie, 4 iulie 2024, varianta 3

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Ă Varianta 3
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 2024
Proba E. d)
INFORMATICĂ
Limbajul Pascal
Varianta 3
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 expresia Pascal care are valoarea true dacă și numai dacă numerele memorate în variabilele
întregi x și y sunt pare.
a. (x mod 2=0) and ((y+1) mod 2<>0) b. (x-y) mod 2=0
c. (x+y) mod 2=0 d. x mod 2=y mod 2
2. Subprogramul f este definit alăturat.
Indicați ce se afișează în urma apelului de
mai jos.
f(2020,0);
procedure f(x,y:longint);
begin if x<10 then write(x)
else
begin f(x div 10,y+1);
write(x mod 10)
end;
write(y)
end;
a. 23020 b. 2022100 c. 02023210 d. 23022100
3. Utilizând metoda backtracking se generează toate permutările elementelor mulțimii ordonate astfel:
{1, 2, 3, 4, 5, 6}; pentru fiecare permutare, pe primele trei poziții sunt doar valori pare, iar pe ultimele trei
poziții sunt doar valori impare. Primele șase permutări generate sunt, în această ordine: (2,4,6,1,3,5),
(2,4,6,1,5,3), (2,4,6,3,1,5), (2,4,6,3,5,1), (2,4,6,5,1,3), (2,4,6,5,3,1). Indicați a șaptea permutare
generată.
a. (4,2,6,1,5,3) b. (4,2,6,1,3,5) c. (2,6,4,1,3,5) d. (2,4,6,5,3,2)
4. Variabila x memorează, pentru fiecare dintre cele 20 de
sortimente de ciocolată, următoarele date: tipul (litera N
pentru ciocolată neagră și litera L pentru ciocolată cu lapte)
și prețul produsului. Indicați o expresie a cărei valoare este
egală cu tipul celui de al 10-lea sortiment de ciocolată.
type ciocolata=record
tip:char;
pret:real
end;
var x:array[1..20] of ciocolata;
a. x.ciocolata[10].tip b. x.tip[10]
c. x[10].ciocolata.tip d. x[10].tip
5. Într-un graf neorientat, cu 10 muchii, două noduri au gradul 0, șase noduri au grade impare, iar celelalte
noduri au grade pare, nenule. Indicați numărul maxim de noduri ale grafului.
a. 17 b. 15 c. 12 d. 10

Subiectul · pagina 2

Ministerul Educației
Centrul Național de Politici și Evaluare în Educație
Probă scrisă la INFORMATICĂ Varianta 3
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 [c] partea întreagă a numărului real c.
citește n
(număr natural nenul)
p1
┌pentru i1,n execută
│ citește x
│ (număr natural)
│┌repetă
││ x[x/3]
│└până când x≤3
│┌dacă x≠0 atunci
││ pp*x
│└■
└■
scrie p
a. Scrieți valoarea afișată dacă se citesc, în această ordine, numerele
5, 15, 27, 10, 1, 17. (6p.)
b. Dacă pentru n se citește valoarea 2, scrieți un set de numere distincte
din intervalul [0,103] care pot fi citite în continuare, astfel încât, în urma
executării algoritmului, să se afișeze valoarea 4. (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 pentru...execută cu o structură repetitivă de tip
cât timp...execută. (6p.)
2. Un arbore cu 8 noduri, numerotate de la 1 la 8, este reprezentat prin vectorul de „tați”: (3,0,2,5,2,5,1,5).
Enumerați, în ordinea parcurgerii lor, nodurile celui mai lung lanț elementar care are extremitatea inițială
în rădăcină. (6p.)
3. Variabilele i şi j sunt de tip întreg, iar variabila a memorează un tablou
bidimensional cu 9 linii şi 9 coloane, numerotate începând de la 0, având iniţial
toate elementele nule.
Scrieţi secvenţa de instrucţiuni de mai jos, înlocuind punctele de suspensie cu
instrucțiuni adecvate, dintre care cel mult patru de atribuire, astfel încât, în
urma executării secvenţei obţinute, variabila a să memoreze tabloul alăturat.
for i:=0 to 8 do
for j:=0 to 8 do
.................. (6p.)
4 4 4 4 2 2 2 2 2
4 4 4 2 2 2 2 2 2
4 4 2 2 2 2 2 2 2
4 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 2 2 4 4
2 2 2 2 2 2 4 4 4
2 2 2 2 2 4 4 4 4
SUBIECTUL al III-lea (30 de puncte)
1. Un număr natural se numește major impar dacă suma divizorilor săi proprii impari este strict mai mare decât
suma divizorilor săi proprii pari. Divizorii proprii ai unui număr sunt divizorii săi naturali diferiți de 1 și de el însuși.
Exemplu: 18 este număr major impar (divizorii săi proprii pari sunt 2, 6, cei impari 3, 9, iar 3+9>2+6).
Subprogramul majImp are doi parametri, a și b, prin care primește câte un număr natural (2≤a≤b≤104).
Subprogramul returnează cel mai mic număr major impar din intervalul [a,b], sau valoarea 0, dacă în
interval nu există un astfel de număr. Scrieţi în Pascal definiţia completă a subprogramului.
Exemplu: dacă a=16, b=30, atunci subprogramul returnează 18. (10p.)
2. Într-un text, de cel mult 100 de caractere, cuvintele sunt formate din litere ale alfabetului englez și sunt
separate prin câte un spațiu. Textul are cel puțin două cuvinte.
Scrieți un program Pascal care citește de la tastatură un text de tipul precizat mai sus și afișează pe ecran
mesajul DA și un număr natural n, separate printr-un spațiu, dacă toate cuvintele din text au câte n litere,
sau mesajul NU în cazul în care nu toate cuvintele au același număr de litere.
Exemplu: dacă textul citit este Ana are cel mai bun mar se afișează pe ecran DA 3
iar dacă textul citit este Ana are cel mai dulce mar se afișează pe ecran NU (10p.)
3. De-a lungul unui traseu montan este utilizată o succesiune de marcaje turistice, care trebuie urmate în
acea ordine. Pentru fiecare marcaj se cunoaște cota (înălțimea, măsurată în metri) la care este plasat.
Numim scară într-un traseu o secvență de marcaje aflate pe poziții consecutive în cadrul traseului, care
au drept cote numere consecutive, ordonate strict crescător. O scară este formată din cel puțin două
marcaje, iar lungimea acesteia este egală cu numărul de marcaje care o compun.
Fișierul bac.txt conține un șir de cel mult 106 numere naturale din intervalul [10,104], separate prin
câte un spațiu, reprezentând cotele marcajelor turistice din cadrul unui traseu, în ordinea în care se
succed în acesta. Se cere să se afișeze pe ecran, separate prin câte un spațiu, în ordine strict
crescătoare, cotele corespunzătoare marcajelor unei scări de lungime maximă pe acest traseu. Dacă în
cadrul traseului există mai multe astfel de scări, se afișează doar cotele corespunzătoare marcajelor
uneia dintre ele, iar dacă nu există nicio scară, pe ecran se afișează mesajul nu exista. Proiectați un
algoritm eficient din punctul de vedere al timpului de executare și al spațiului de memorie utilizat.
Exemplu: dacă fișierul conține numerele 500 600 601 405 569 570 700 701 625 626 627 520
atunci pe ecran se afișează 625 626 627
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 3
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 2024
Proba E. d)
INFORMATICĂ
BAREM DE EVALUARE ȘI DE NOTARE
(comun pentru limbajele C/C++ și Pascal)
Varianta 3
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 sa.
SUBIECTUL I (20 de puncte)
1a 2d 3c 4d 5b 5x4p.
SUBIECTUL al II - lea (40 de puncte)
1. a. Răspuns corect: 9 6p.
b. Pentru răspuns corect 6p. Se acordă câte 2p. pentru fiecare aspect specific (număr
de valori scrise, prima valoare, a doua valoare) conform
cerinței.
Se punctează valori naturale din reuniunea intervalelor
de forma [2∙3k,3k+1), cu k număr natural,
k∈{1,2,3,4,5}.
c. Pentru program corect
-declarare a variabilelor
-citire a datelor
-afișare a datelor
-instrucțiune de decizie
-instrucțiuni repetitive (*)
-atribuiri
-corectitudine globală a programului1)
10p.
1p.
1p.
1p.
2p.
3p.
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
tipul indicat (*)
-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 pentru orice formă de structură
repetitivă de tipul cerut (cât timp ... execută, while ...
do etc.).
(**) Se acordă câte 1p. pentru fiecare aspect specific
(inițializare a contorului, expresie de continuare,
actualizare a contorului) conform cerinței.
2. Răspuns corect:
2,3,1,7
6p. Se acordă câte 2p. pentru fiecare aspect specific (lanț cu
o extremitate în rădăcină, lanț elementar, lungime
maximă a lanțului) conform cerinței.
3. Pentru rezolvare corectă
-expresie de accesare a unui element al
tabloului
-valori ale elementelor tabloului atribuite
conform cerinței (*)
-corectitudine globală a secvenței1)
6p.
1p.
4p.
1p.
(*) Se acordă câte 2p. pentru fiecare aspect specific
(identificare a cel puțin unei relații între valoarea
elementului și poziția acestuia în tablou, valori suport în
corelare cu pozițiile elementelor utilizând numărul indicat
de instrucțiuni de atribuire) conform cerinței.

Baremul · pagina 2

Ministerul Educației
Centrul Național de Politici și Evaluare în Educație
Probă scrisă la INFORMATICĂ Varianta 3
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 al subprogramului (*)
-determinare a valorii cerute (**)
-instrucțiune/instrucțiuni de returnare a
rezultatului și tratare a cazului 0
-declarare a tuturor variabilelor locale,
corectitudine globală a subprogramului1)
10p.
2p.
6p.
1p.
1p.
(*) Se acordă câte 1p. pentru fiecare aspect al
antetului (structură, parametri de intrare) conform
cerinței.
(**) Se acordă câte 1p. pentru fiecare aspect specific
(identificare a unui divizor par/impar, algoritm de bază
pentru suma unei serii de valori, divizori suport pentru
fiecare sumă, identificare a unui număr major impar,
algoritm de bază pentru identificarea primului/celui mai
mic număr cu o anumită proprietate dintr-o serie,
numere suport verificate pentru determinarea
numărului major impar cerut) conform cerinței.
2. Pentru program corect
-declarare a unei variabile care să
permită memorarea unui text, conform
cerinței
-citire a datelor
-verificare a proprietății cerute (*)
-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 2p. pentru fiecare aspect specific
(algoritm principial corect de verificare a unei
proprietăți, determinare a lungimii unui cuvânt, cuvinte
suport verificate) 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 o dată fişierul, memorând
pentru scara curentă și pentru cea căutată lungimea
(lgCrt, respectiv lgMax, inițial egale cu 0) și ultimul
termen (ultCrt, inițializat cu 0, respectiv ultMax) ale
acestora; dacă numărul x citit din fișier la pasul curent
face parte din scara curentă (x=ultCrt+1) se
actualizează lgCrt, altfel se actualizează datele privind
o nouă scară, deci lgCrt=1. La fiecare pas se
actualizează ultCrt=x și, după caz, lgMax și ultMax. Se
afișează lgMax numere consecutive, primul dintre
acestea fiind ultMax-lgMax+1. Mesajul se afișează
dacă lgMax<2.
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
și tratare a cazului nu exista,
corectitudine globală a programului1)
8p.
1p.
5p.
1p.
1p.
1) Corectitudinea globală vizează structura, sintaxa, alte aspecte neprecizate în barem.