Textul subiectului și baremului
Test de antrenament BAC Informatică Mate-Info Pascal 2021 – testul 4
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Ă Testul 4
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 2021
Proba E. d)
INFORMATICĂ
Limbajul Pascal
Testul 4
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. Variabilele x și y sunt de tip întreg, x memorând valoarea 8, iar y valoarea 6. Indicați expresia Pascal
care are valoarea false.
a. 3*x-4*y=0 b. (x+y) div 2 > x mod y+1
c. not(x div 2+2=y) d. x-y+3<>0
2. Subprogramul f este
definit alăturat.
Indicați valoarea
f(38627).
(6p.)
function f(n:longint):longint;
var c:integer;
begin if n=0 then f:=9
else begin c:=f(n div 10);
if n mod 10<c then f:=n mod 10
else f:=c
end
end;
a. 2 b. 3 c. 7 d. 8
3. Utilizând metoda backtracking se generează, în ordine crescătoare, toate numerele de câte 5 cifre,
toate din mulțimea {1,2} cu proprietatea că nu există mai mult de două cifre 1 pe poziţii consecutive.
Primele 5 soluţii generate sunt, în această ordine: 11211, 11212, 11221, 11222, 12112. Indicaţi cea
de a 8-a soluţie generată.
a. 12122 b. 12211 c. 12212 d. 12221
4. Un arbore are 10 noduri, numerotate de la 1 la 10, și muchiile [1,2], [1,3], [1,5],
[1,6], [2,8], [2,9], [3,4], [3,10], [4,7]. Indicați lungimea unui lanț elementar care are ca
extremități nodurile 6 și 7.
a. 1 b. 2 c. 3 d. 4
5. Indicați numărul grafurilor neorientate, distincte, cu 5 noduri, care se pot construi. Două grafuri sunt
distincte dacă matricele lor de adiacență sunt diferite.
a. 54 b. 52 c. 210 d. 410
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, k
(numere naturale)
p1
┌cât timp n>0 execută
│ cn%10
│┌dacă k>0 atunci
││ ┌dacă c%2=1 atunci
││ │ pp*c
││ └■
│└■
│ n[n/10]
│ kk-1
└■
scrie p
a. Scrieţi valoarea care se afişează în urma executării algoritmului dacă se
citesc, în această ordine, numerele 296385 și 3. (6p.)
b. Dacă pentru k se citește numărul 4, scrieți cel mai mic și cel mai mare număr
din intervalul [104,105) care pot fi citite pentru n, astfel încât, pentru fiecare
dintre acestea, în urma executării algoritmului, să se afișeze 1. (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ă cu test final. (6p.)Subiectul · pagina 2
Ministerul Educaţiei Centrul Național de Politici și Evaluare în Educație Probă scrisă la INFORMATICĂ Testul 4 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 2. Variabila c memorează date despre o ciocolată: gramajul și data expirării. Știind că expresiile Pascal de mai jos au ca valori numere naturale reprezentând gramajul, respectiv data (ziua, luna și anul) expirării produsului, scrieți definiția unui tip de date, înregistrare cu numele ciocolata, care permite memorarea datelor precizate pentru o ciocolată, și declarați corespunzător variabila c. c.gramaj c.datae.zi c.datae.luna c.datae.an (6p.) 3. În secvenţa alăturată, variabila i este de tip întreg, iar variabilele s și t pot memora câte un şir cu cel mult 20 de caractere. Scrieţi ce se afișează pe ecran în urma executării secvenţei. (6p.) s:='sanataTEA'; write(length(s)); i:=1; while i<=length(s) do if s[i]='a' then delete(s,i,1) else i:=i+1; write(s); SUBIECTUL al III-lea (30 de puncte) 1. Un joc online cu n jetoane poate fi jucat de un grup de k (k≥2) jucători, numai dacă toate cele n jetoane pot fi distribuite în mod egal celor k jucători. Subprogramul joc are un singur parametru, n, prin care primește un număr natural (n[2,104]), reprezentând numărul de jetoane ale unui joc de tipul precizat. Subprogramul returnează numărul valorilor distincte pe care le poate avea k pentru acest joc. Scrieți definiția completă a subprogramului. Exemplu: dacă n=12, atunci subprogramul returnează numărul 5 (cele 12 jetoane se pot distribui în mod egal pentru o grupă de 2 jucători, de 3 jucători, de 4 jucători, de 6 jucători sau de 12 jucători). (10p.) 2. Scrieţi un program Pascal care citeşte de la tastatură numere naturale din intervalul [2,102]: m, n şi elementele unui tablou bidimensional cu m linii şi n coloane. Programul afișează pe ecran, pentru fiecare linie a sa, cea mai mare dintre valorile strict mai mici decât 21 memorate în aceasta, sau mesajul nu exista, dacă nu există nicio astfel de valoare pe linia respectivă. Numerele, respectiv mesajele sunt afișate pe linii separate ale ecranului, în ordinea liniilor corespunzătoare din tablou. Exemplu: pentru m=3, n=5 și tabloul alăturat se afişează pe ecran 16 nu exista 9 (10p.) 6 16 21 4 90 92 26 36 95 80 5 2 9 7 3 3. Fişierele bac1.txt și bac2.txt conţin numere naturale din intervalul [1,105]: fișierul bac1.txt conține pe prima linie un număr n1, iar pe a doua linie un șir de n1 numere, iar fișierul bac2.txt conține pe prima linie un număr n2, iar pe a doua linie un șir de n2 numere. Numerele aflate pe aceeași linie a unui fișier sunt ordonate crescător și sunt separate prin câte un spațiu. Se cere să se afișeze pe ecran, în ordine crescătoare, separate prin câte un spațiu, numerele divizibile cu 5 care se găsesc doar în unul dintre șirurile aflate în cele două fișiere. Dacă nu există niciun astfel de număr, se afișează pe ecran mesajul nu exista. Proiectați un algoritm eficient din punctul de vedere al memoriei utilizate şi al timpului de executare. Exemplu: dacă fişierul bac1.txt conţine numerele 7 1 2 3 4 7 20 60 iar fişierul bac2.txt conţine numerele 9 3 5 7 8 9 10 12 20 24 pe ecran se afișează, în această ordine, numerele 5 10 60. 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Ă Testul 4 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 2021 Proba E. d) INFORMATICĂ BAREM DE EVALUARE ȘI DE NOTARE (comun pentru limbajele C/C++ și Pascal) Testul 4 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ț este acceptată dacă acest lucru nu afectează corectitudinea în funcționarea programului. SUBIECTUL I (20 de puncte) 1c 2a 3b 4d 5c 5x4p. SUBIECTUL al II - lea (40 de puncte) 1. a) Răspuns corect: 15 6p. b) Răspuns corect: 10000, 98888 6p. Se acordă câte 3p. pentru fiecare dintre cele două numere. 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 asupra structurii repetitive, 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ă de structură repetitivă conform cerinței (repetă...până când, execută...cât timp, do...while, repeat...until etc.). 2. Pentru rezolvare corectă -definire a structurii/înregistrării (*) -declarare a variabilei conform cerinței -corectitudine globală a secvenței1) 6p. 4p. 1p. 1p. (*) Se acordă câte 1p. pentru fiecare aspect specific (definire principial corectă a unei structuri/înregistrări, câmp de tip simplu de date, câmp de tip structurat de date, etichetă/nume) conform cerinței. Se punctează câmpul de tip structurat, conform cerinței, atât dacă structura/înregistrarea corespunzătoare este definită separat cât și dacă este definită în cadrul structurii/înregistrării cerute. 3. Răspuns corect: 9sntTEA 6p. Se acordă câte 2p. pentru fiecare aspect specific al datelor afișate (număr, litere mici suport, litere mari suport) conform cerinței. SUBIECTUL al III - lea (30 de puncte) 1. Pentru subprogram corect -antet subprogram (*) -determinare a valorii cerute (**) -instrucțiune/instrucțiuni de returnare a rezultatului -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ă, parametru de intrare) conform cerinței. (**) Se acordă câte 2p. pentru fiecare aspect specific (algoritm de numărare principial corect, determinare a unui divizor al unui număr, divizori suport) conform cerinței.
Baremul · pagina 2
Ministerul Educaţiei Centrul Național de Politici și Evaluare în Educație Probă scrisă la INFORMATICĂ Testul 4 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 tablou bidimensional -citire a datelor conform cerinței -determinare a valorilor cerute (*) -afişare a datelor în formatul cerut și tratare a cazurilor nu exista -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 determinare a unei valori maxime, valori strict mai mici decât 21, elemente suport evaluate) 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ă interclasează șirurile din cele două fișiere, afișând numai valorile cerute: cât timp există valori în ambele șiruri, acestea se parcurg memorându-se valoarea curentă din primul șir (fie aceasta x1) și valoarea curentă din al doilea șir (fie aceasta x2), care se compară la fiecare pas. - dacă x1<x2, atunci se afișează x1 (doar dacă este divizibil cu 5) și se citește următoarea valoare din primul fișier; - dacă x2<x1, atunci se afișează x2 (doar dacă este divizibil cu 5) și se citește următoarea valoare din al doilea fișier; - dacă x1=x2, atunci nu se afișează nimic și se citește următoarea valoare din ambele fișiere. La final se parcurg termenii rămași în unul dintre șiruri și se afișează doar valorile divizibile cu 5. 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.