Înapoi la fișa subiectului

Textul subiectului și baremului

Test de antrenament BAC Informatică Mate-Info Pascal 2020 – testul 10

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 și Cercetării
Centrul Național de Evaluare și Examinare
Probă scrisă la informatică Testul 10
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 de bacalaureat național 2020
Proba E. d)
Informatică
Limbajul Pascal
Testul 10
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ă 10 puncte din oficiu.
• Timpul de lucru efectiv este de 3 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. Variabila x este de tip întreg și memorează un număr nenul. Indicați expresia Pascal cu valoarea true
dacă și numai dacă 20 este multiplu al lui x.
a. 20 div (20 div x)=0 b. 20 div (20 mod x)=0
c. 20 mod (20 mod x)=0 d. 20 mod (20 div x)=0
2. Subprogramul f este definit alăturat.
Valoarea lui f(19,20) este:
function f(x,y:integer):integer;
begin if x<=0 then f:=y
else if y<=0 then f:=x
else f:=f(2*x-y, y+1)
end;
a. 38 b. 24 c. -5 d. -7
3. Utilizând metoda backtracking se generează toate posibilitățile de a forma șiruri de câte 4 animale din
mulțimea {cal,câine,papagal,porumbel,ponei}, astfel încât pe oricare două poziții alăturate să
nu se afle animale din submulțimea {cal,papagal,ponei}. Primele opt soluții generate sunt, în
această ordine: (cal, câine, cal, câine), (cal, câine, cal, porumbel), (cal, câine, câine,
cal), (cal, câine, câine, câine), (cal, câine, câine, papagal), (cal, câine, câine,
porumbel), (cal, câine, câine, ponei), (cal, câine, papagal, câine). Indicați numărul de
soluții generate care au pe prima poziție un câine și pe ultima poziție un porumbel.
a. 20 b. 18 c. 16 d. 14
4. Un arbore cu rădăcină are 8 noduri, numerotate de la 1 la 8, și este reprezentat prin vectorul de „tați”
(4,4,2,7,4,8,0,7). Indicați frunzele arborelui.
a. 1,3,5,6 b. 1,2,5 c. 7,8 d. 3
5. Un graf orientat cu 6 vârfuri, numerotate de la 1 la 6 are mulțimea arcelor {(1,4), (1,6), (3,1),
(3,4), (3,6), (6,1)}. Indicați numărul de subgrafuri ale sale, pentru fiecare dintre acestea mulțimea
arcelor fiind {(1,6), (3,1), (3,6), (6,1)}.
a. 2 b. 3 c. 4 d. 5

Subiectul · pagina 2

Ministerul Educației și Cercetării
Centrul Național de Evaluare și Examinare
Probă scrisă la informatică Testul 10
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 a%b restul împărțirii numărului natural a la numărul natural
nenul b și cu a→b operația prin care se interschimbă valorile
variabilelor a și b.
citește x,y
(numere naturale nenule)
┌dacă x>y atunci
| x→y
└■
ix; jy; s0
┌repetă
| ss+(i%2)*j+(j%2)*i
│ ii+1; jj-1
└până când i>j
scrie s
a. Scrieți ce se afișează în urma executării algoritmului dacă se citesc, în
această ordine, numerele 16 și 7. (6p.)
b. Dacă pentru x se citește numărul 10, scrieți două valori care pot fi citite
pentru variabila y astfel încât, pentru fiecare dintre acestea, în urma
executării algoritmului, să se afișeze numărul 90. (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 repetă...până când
cu o structură repetitivă cu test inițial. (6p.)
2. Variabila s memorează simultan următoarele date despre fiecare dintre cele 20 de spectacole din
cadrul unei stagiuni: un cod, numărul de actori și vârstele acestora. La un spectacol sunt maximum 10
actori. Expresiile Pascal de mai jos au ca valori numere naturale și reprezintă codul primului spectacol,
numărul de actori care joacă în acest spectacol, respectiv vârsta celui de al 5-lea astfel de actor. Scrieți
definiția unui tip de date cu numele spectacol, înregistrare care permite memorarea datelor despre un
spectacol, și declarați corespunzător variabila s.
s[1].cod s[1].nrActori s[1].varsta[5] (6p.)
3. Variabilele i și j sunt de tip întreg, iar variabila a memorează un tablou
bidimensional cu 4 linii și 5 coloane, numerotate începând de la 0, cu elemente
numere întregi, inițial toate nule. Fără a utiliza alte variabile decât cele
menționate, scrieți o secvență de instrucțiuni astfel încât, în urma executării
acesteia, variabila a să memoreze tabloul alăturat. (6p.)
5 4 3 2 1
10 9 8 7 6
15 14 13 12 11
20 19 18 17 16
SUBIECTUL al III-lea (30 de puncte)
1. Subprogramul produs are doi parametri:
• n, prin care primește un număr natural (n[0,109]);
• p, prin care furnizează produsul cifrelor pare distincte din scrierea acestuia, sau -1 dacă nu există
astfel de cifre.
Scrieți definiția completă a subprogramului.
Exemplu: dacă n=1622325, după apel p=12 (12=6∙2), iar dacă n=122325, după apel p=2. (10p.)
2. Într-un text cu cel mult 102 caractere cuvintele sunt formate din litere mici ale alfabetului englez și sunt
separate prin câte un spațiu. Scrieți un program Pascal care citește de la tastatură un text de tipul
menționat, pe care îl modifică în memorie, inserând cuvântul succes între oricare două cuvinte ale sale
care se termină cu aceeași literă. Cuvântul inserat este separat prin câte un spațiu de cuvintele vecine.
Textul transformat este afișat pe ecran, iar dacă nu există perechi de astfel de cuvinte, se afișează pe
ecran mesajul nu exista.
Exemplu: dacă textul citit este testez validez utilizez date corecte acum
se obține textul testez succes validez succes utilizez date succes corecte acum (10p.)
3. Un șir format din cel puțin trei termeni formează o progresie aritmetică de rație r dacă diferența dintre
oricare termen al acestuia și cel aflat pe poziția consecutivă în șir este egală cu r.
Fișierul text bac.txt conține un șir de cel puțin trei și cel mult 106 numere întregi din intervalul
[-108,108]. Numerele sunt separate prin câte un spațiu. Se cere să se afișeze pe ecran rația unei
secvențe din șir cu număr maxim de termeni, secvență care formează o progresie aritmetică. Dacă
există mai multe astfel de secvențe de lungime maximă se afișează rația cea mai mare, iar dacă nu
există nicio astfel de secvență, 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 conține numerele 4 9 14 19 18 17 8 5 3 1 -1 -3 -5 -7
pe ecran se afișează valoarea -2 (corespunzătoare secvenței 5 3 1 -1 -3 -5 -7).
a. Scrieți programul Pascal corespunzător algoritmului proiectat. (8p.)
b. Descrieți în limbaj natural algoritmul proiectat, justificând eficiența acestuia. (2p.)

Baremul

Deschide PDF-ul original

Baremul · pagina 1

Ministerul Educației și Cercetării
Centrul Național de Evaluare și Examinare
Probă scrisă la informatică Testul 10
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 de bacalaureat național 2020
Proba E. d)
Informatică
BAREM DE EVALUARE ȘI DE NOTARE
(comun pentru limbajele C/C++ și Pascal)
Testul 10
Filieră teoretică, profil real, specializare matematică-informatică / matematică-informatică intensiv informatică
Filieră vocațională, profil militar, specializare matematică-informatică
• Se punctează oricare alte modalități de rezolvare corectă a cerințelor.
• Nu se acordă punctaje intermediare, altele decât cele precizate explicit prin barem. Nu se
acordă fracțiuni de punct. Se acordă 10 puncte din oficiu. Nota finală se calculează prin
împărțirea punctajului total acordat pentru lucrare la 10.
• 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)
1d 2b 3c 4a 5c 5x4p.
SUBIECTUL al II - lea (40 de puncte)
1. a) Răspuns corect: 60 6p.
b) Răspuns corect:
20 21
6p. Se acordă câte 3p. pentru fiecare dintre cele două
numere conform cerinței
c) Pentru program corect
-declarare variabile
-citire date
-afișare date
-instrucțiune de decizie
-instrucțiune repetitivă
-atribuiri (*)
-corectitudine globală a programului1)
10p.
1p.
1p.
1p.
2p.
2p.
2p.
1p.
(*) Se acordă 1p. pentru implementarea operației de
interschimbare și 1p. pentru restul atribuirilor.
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 structuri
conform cerinței, principial corecte, dar nu este
echivalent cu cel dat.
2. Pentru rezolvare corectă
-definire a structurii/înregistrării (*)
-declarare a variabilei conform cerinței
-corectitudine globală a secvenței1)
6p.
3p.
2p.
1p.
(*) Se acordă câte 1p. pentru fiecare aspect (definire
principial corectă a unei structuri/înregistrări, câmpuri,
etichetă/nume) conform cerinței.
3. Pentru rezolvare corectă
-acces la un element al tabloului
-atribuire a valorilor indicate elementelor
tabloului (*)
-corectitudine globală a secvenței1)
6p.
1p.
4p.
1p.
(*) Se acordă câte 2p. pentru fiecare aspect specific
(valori consecutive pe linii, elemente suport) conform
cerinței.
SUBIECTUL al III - lea (30 de puncte)
1. Pentru subprogram corect
-antet subprogram (*)
-determinare a valorilor cerute (**)
-declarare a tuturor variabilelor locale,
tratare caz -1, corectitudine globală a
subprogramului1)
10p.
3p.
6p.
1p.
(*) Se acordă câte 1p. pentru fiecare aspect al
antetului (structură, parametru de intrare, parametru
de ieșire) conform cerinței.
(**) Se acordă câte 2p. pentru fiecare aspect specific
(identificare a unei cifre pare/impare, cifre distincte,
algoritm principial de determinare a unui produs)
conform cerinței.
2. Pentru program corect
-declarare a unei variabile care să
memoreze un șir de caractere
-citire a datelor
-transformare a șirului conform cerinței (*)
-afișare a datelor și 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 specific
(identificare a unui cuvânt, identificare a ultimei litere a
unui cuvânt, identificare a unei perechi de cuvinte
conform cerinței, inserare a unui subșir într-un șir,
cuvinte suport, transformare în memorie) conform
cerinței.

Baremul · pagina 2

Ministerul Educației și Cercetării
Centrul Național de Evaluare și Examinare
Probă scrisă la informatică Testul 10
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
3. a) 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, citire a datelor,
tratare a cazului nu exista, corectitudine
globală a programului1)
8p.
1p.
5p.
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ă memorează valoarea curentă citită
(crt), valoarea citită anterior (ant), lungimea secvenței
curente (lg), lungimea secvenței maxime (max), rația
curentă (r) și rația corespunzătoare secvenței maxime
(rm). Pe măsura citirii datelor din fișier se verifică dacă
crt-ant=r și, în acest caz, se actualizează lg și, după
caz, max și rm. În cazul în care se obține o diferență
nouă, se inițializează lg și r în mod corespunzător.
b) Pentru răspuns corect
-coerență a descrierii algoritmului (*)
-justificare a elementelor de eficiență
2p.
1p.
1p.
1) Corectitudinea globală vizează structura, sintaxa, alte aspecte neprecizate în barem.