Textul subiectului și baremului
Subiect BAC Informatică Mate-Info Pascal 2022 – sesiunea august–septembrie, 18 august 2022, varianta 5
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ă Varianta 5
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 2022
Proba E. d)
Informatică
Limbajul Pascal
Varianta 5
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. Variabila x este de tip întreg. Indicați o expresie care are valoarea true
dacă și numai dacă expresia Pascal alăturată are valoarea true.
(x>=3) and (x<10)
a. not((x<3) and (x>=10)) b. not((x<3) or (x>=10))
c. (x<3) and not(x>=10) d. not(x<3) or (x>=10)
2. Subprogramul f este definit incomplet,
alăturat. Indicați o expresie cu care pot fi
înlocuite punctele de suspensie pentru ca
f(n,3) să aibă valoarea 1 pentru orice
număr prim n (n∈[2,104]) și valoarea 0 în
caz contrar.
function f(x,y:integer):integer;
begin if (x<>2) and (x mod 2=0) then f:=0
else if y*y>x then f:=1
else if x mod y=0 then f:=0
else f:=f(x,.........)
end;
a. y+2 b. y-2 c. y*2 d. y div 2
3. Utilizând metoda backtracking, se generează toate posibilitățile de a forma platouri de câte trei fructe
distincte din mulţimea {măr, gutuie, prună, caisă, piersică}, astfel încât pe același platou nu se
află o gutuie și o piersică simultan. Două platouri sunt distincte dacă ele conțin cel puțin un fruct diferit.
Primele patru soluţii generate sunt, în această ordine, (măr, gutuie, prună), (măr, gutuie, caisă),
(măr, prună, caisă), (măr, prună, piersică).
Indicați soluţia generată imediat după (gutuie, prună, caisă).
a. (caisă, piersică, măr) b. (gutuie, prună, piersică)
c. (mar, caisă, piersică) d. (prună, caisă, piersică)
4. Variabila j este de tip întreg, iar variabila A memorează un tablou bidimensional cu 100 de linii și 100
de coloane, numerotate de la 0 la 99. Indicați valoarea variabilei j, dacă elementul A[20,j] se află pe
diagonala secundară a tabloului.
a. 20 b. 49 c. 79 d. 80
5. Un graf neorientat are 7 noduri, numerotate de la 1 la 7, și 8 muchii, dintre care șase sunt: [1,2],
[2,4], [2,7], [3,4], [4,5], [4,6]. Știind că unul dintre lanțurile elementare care au lungimea
maximă este 1, 2, 7, 5, 4, 6, indicați care ar putea fi celelalte două muchii ale grafului.
a. [1,4] și [4,7] b. [1,4] și [5,7] c. [2,5] și [4,7] d. [3,6] și [5,7]Subiectul · pagina 2
Ministerul Educației Centrul Național de Politici și Evaluare în Educație Probă scrisă la informatică Varianta 5 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. citeşte m,n (numere naturale nenule, m<n) x1 ┌cât timp x=1 execută │ xm; yn; nn-1 │┌cât timp x≠y execută ││┌dacă x>y atunci xx-y │││altfel yy-x ││└■ │└■ └■ scrie n+1 a. Scrieţi ce se afișează în urma executării algoritmului dacă se citesc, în această ordine, valorile 21 și 47. (6p.) b. Dacă pentru variabila m se citeşte numărul 5, scrieţi două valori care pot fi citite pentru variabila n astfel încât, în urma executării algoritmului, pentru fiecare dintre acestea, valoarea afişată să fie 10. (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ă cât timp...execută cu o structură repetitivă cu test final. (6p.) 2. Un arbore cu 9 noduri, numerotate de la 1 la 9, are muchiile [1,8], [2,3], [2,5], [2,7], [4,5], [5,6], [5,8], [8,9]. Scrieți două noduri care pot fi alese drept rădăcină, astfel încât nodul 5 să aibă doi “frați”. (6p.) 3. Variabila x, declarată alăturat, memorează simultan un an calendaristic și temperatura medie a aerului, măsurată în grade Celsius, înregistrată în București în anul respectiv. type meteo=record an,temperatura:integer end; var x:meteo; Scrieţi o secvență de instrucțiuni în urma executării căreia să se afișeze pe ecran mesajul CALDUROS dacă temperatura menționată a fost strict mai mare decât 11oC, mesajul RACOROS dacă temperatura menționată a fost strict mai mică decât 10oC, sau mesajul NORMAL în orice alt caz. (6p.) SUBIECTUL al III-lea (30 de puncte) 1. Subprogramul schimb are trei parametri: • n şi x, prin care primeşte câte un număr natural (n∈[0,108], x∈[1,9]); • p, prin care primește un număr natural reprezentând poziția unei cifre a numărului n (0≤p). Pozițiile cifrelor sunt numerotate de la dreapta la stânga, astfel: cifra unităților este pe poziția 0, cifra zecilor este pe poziția 1 ș.a.m.d. Subprogramul transformă numărul n, înlocuind cifra de pe poziția p cu cifra x, și furnizează numărul obținut tot prin parametrul n. Scrieţi definiţia completă a subprogramului. Exemplu: dacă n=12587, x=6 și p=3, după apel, n=16587. (10p.) 2. Se consideră o vocală oarecare a alfabetului englez, notată cu v, și o consoană oarecare a alfabetului englez, notată cu c. Litera v se numeşte vocală prietenă a lui c dacă în şirul literelor alfabetului englez, ordonat lexicografic, v îl precede pe c, iar între v și c nu există nicio vocală. Se consideră vocale literele a, e, i, o, u. Exemplu: e este vocală prietenă pentru consoanele f, g și h, dar nu este vocală prietenă pentru consoanele d și j. Un elev vrea să transmită unui prieten o parolă, codificată. Parola este formată dintr-un singur cuvânt de cel mult 50 de caractere, litere mici ale alfabetului englez, cel puțin una fiind consoană. Codificarea se face prin înlocuirea fiecărei consoane cu vocala sa prietenă, ca în exemplu. Scrieţi un program Pascal care citeşte de la tastatură un cuvânt, reprezentând o parolă de tipul precizat şi determină, în memorie, forma codificată a acesteia. Programul afişează pe ecran parola codificată obţinută. Exemplu: pentru parola rame se afişează oaie, iar pentru parola sport se afișează ooooo (10p.) 3. Numim secvență paritară a unui șir de numere naturale un subșir al acestuia, format din termeni cu aceeași paritate, aflați pe poziții consecutive în șirul dat. Lungimea secvenței este egală cu numărul de termeni ai acesteia. Fișierul bac.txt conține un șir de cel puțin două și cel mult 106 numere naturale din intervalul [0, 109]. Numerele sunt separate prin câte un spațiu, iar în șir există cel puțin doi termeni cu aceeași paritate pe poziții consecutive. Se cere să se afişeze pe ecran numărul secvențelor paritare de lungime maximă din șirul aflat în fișier, precum și această lungime maximă. Numerele afişate sunt separate printr-un spațiu. Proiectați un algoritm eficient din punctul de vedere al timpului de executare și al memoriei utilizate. Exemplu: dacă fişierul conţine numerele 2 3 5 1 7 9 8 4 4 11 15 17 21 11 6 11 15 17 21 11 6 5 2 6 4 0 16 atunci pe ecran se afișează valorile 4 5 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ă Varianta 5 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 2022 Proba E. d) Informatică BAREM DE EVALUARE ȘI DE NOTARE (comun pentru limbajele C/C++ și Pascal) Varianta 5 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) 1b 2a 3d 4c 5b 5x4p. SUBIECTUL al II - lea (40 de puncte) 1. a) Răspuns corect: 45 6p. b) Pentru răspuns corect 6p. Se acordă câte 3p. pentru fiecare dintre cele două numere conform cerinței (orice număr natural din intervalul [10,14]). 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 cu test final (*) -expresie logică pentru test final în secvența obținută 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 (repetă...până când, do...while, repetă...cât timp, execută...cât timp etc.). 2. Răspuns corect: 2, 8 6p. Se acordă câte 3p. pentru fiecare nod conform cerinței. 3. Pentru rezolvare corectă -accesul la un câmp al unei înregistrări -tratare a tuturor cazurilor, conform cerinței (*) -corectitudinea globală a secvenţei1) 6p. 1p. 4p. 1p. (*) Se acordă numai 2p. dacă a fost tratat conform cerinței un singur caz, numai 3p. dacă au fost tratate conform cerinței numai două cazuri. SUBIECTUL al III - lea (30 de puncte) 1. Pentru subprogram corect -antet subprogram (*) -determinare a valorii cerute (**) -declarare a tuturor variabilelor locale, corectitudine globală a subprogramului1) 10p. 3p. 6p. 1p. (*) Se acordă câte 1p. pentru fiecare aspect al antetului (structură, parametri de intrare, parametru de ieșire) conform cerinței. (**) Se acordă câte 2p. pentru fiecare aspect (acces la o cifră a unui număr, ordine a cifrelor numărului obținut, cifre suport înlocuite/păstrate - inclusiv a cifrelor nule de la finalul numărului) conform cerinței.
Baremul · pagina 2
Ministerul Educaţiei Centrul Național de Politici și Evaluare în Educație Probă scrisă la informatică Varianta 5 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 2. Pentru program corect -declarare a unei variabile care să memoreze un șir de caractere -citire a datelor -determinare a șirului conform formei codificate (*) -afișare a datelor -declarare a variabilelor de tip simplu, corectitudine globală a programului1) 10p. 1p. 1p. 6p. 1p. 1p. (*) Se acordă câte 1p. pentru fiecare aspect specific (acces la un caracter al unui șir, identificare a unei vocale/consoane, algoritm de bază pentru determinarea primei valori cu o anumită proprietate dintr-o serie/a unei vocale prietene, înlocuire a unui caracter într-un șir, caractere suport înlocuite/păstrate, transformare în memorie) 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 care utilizează eficient memoria. O soluţie posibilă parcurge datele din fișier și memorează în variabilele x și y ultimii doi termeni citiți; dacă x%2≠y%2, inițializează lungimea secvenței curente, iar dacă x%2=y%2, incrementează lungimea secvenței curente și actualizează, după caz, lungimea maximă și incrementează sau inițializează numărul secvențelor cerute. 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.