Înapoi la fișa subiectului

Textul subiectului și baremului

Test de antrenament BAC Informatică Mate-Info Pascal 2020 – 5 iunie 2020, testul 20

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 Politici și Evaluare în Educație
Probă scrisă la informatică Testul 20
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 20
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. Indicați o expresie Pascal care are valoarea true dacă și numai dacă numărul natural memorat în
variabila întreagă x are exact două cifre.
a. (x div 100<>0) or (x div 10=0) b. (x div 100=0) and (x div 10<>0)
c. (x mod 100<>0) or (x mod 10=0) d. (x mod 100=0) and (x mod 10<>0)
2. Subprogramul f este definit
alăturat. Scrieți valoarea lui f(3).
function f(n:longint):longint;
var r, i:integer;
begin r:=0;
for i:=1 to n do r:=r+i+f(n-i);
f:=r
end;
a. 3 b. 6 c. 9 d. 11
3. Utilizând metoda backtracking, se generează toate modalitățile de a pregăti o masă festivă, servind, într-o
anumită ordine, preparatele din mulțimea {ciuperci cu spanac, legume la cuptor, pere umplute
cu nucă, panna cotta de cocos cu vanilie, salată cu smochine, tort de lămâie}, având
în vedere următoarele restricții: ciupercile vor fi servite înaintea legumelor, legumele înaintea salatei și atât
tortul, cât și perele umplute, înainte de panna cotta. Două soluții sunt distincte dacă ordinea servirii
preparatelor este diferită. Primele trei soluții generate sunt, în această ordine: (ciuperci cu spanac,
legume la cuptor, pere umplute cu nucă, salată cu smochine, tort de lămâie, panna
cotta de cocos cu vanilie), (ciuperci cu spanac, legume la cuptor, pere umplute cu
nucă, tort de lămâie, panna cotta de cocos cu vanilie, salată cu smochine),
(ciuperci cu spanac, legume la cuptor, pere umplute cu nucă, tort de lămâie, salată
cu smochine, panna cotta de cocos cu vanilie). Indicați cea de a șasea soluție generată.
a. (ciuperci cu spanac, legume la cuptor, salată cu smochine, tort de lămâie, pere
umplute cu nucă, panna cotta de cocos cu vanilie)
b. (ciuperci cu spanac, legume la cuptor, tort de lămâie, pere umplute cu nucă, salată
cu smochine, panna cotta de cocos cu vanilie)
c. (ciuperci cu spanac, legume la cuptor, tort de lămâie, pere umplute cu nucă, panna
cotta de cocos cu vanilie, salată cu smochine)
d. (ciuperci cu spanac, legume la cuptor, tort de lămâie, salată cu smochine, pere
umplute cu nucă, panna cotta de cocos cu vanilie)
4. Un arbore cu 9 noduri, numerotate de la 1 la 9, este reprezentat prin vectorul de „tați”
(8,7,0,6,2,8,3,3,2). Indicați rădăcina arborelui.
a. 1 b. 3 c. 5 d. 9
5. Matricea de adiacență a unui graf neorientat cu 100 de noduri are 9900 de elemente nule. Indicați
numărul maxim de componente conexe ale grafului.
a. 50 b. 90 c. 1000 d. 9800

Subiectul · pagina 2

Ministerul Educaţiei și Cercetării
Centrul Național de Politici și Evaluare în Educație
Probă scrisă la informatică Testul 20
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 [c] partea întreagă a
numărului real c.
citește n
(număr natural nenul)
d1; s0
┌cât timp d*d<n execută
│┌dacă n%d=0 și d%2≠[n/d]%2 atunci
││ ss+d+[n/d]
│└■
│ dd+1
└■
┌dacă d*d=n atunci ss+d
└■
scrie s
a. Scrieți ce se afișează dacă se citește numărul 12. (6p.)
b. Scrieți două numere din intervalul [2,102], unul par și
unul impar, care pot fi citite astfel încât, pentru fiecare
dintre acestea, în urma executării algoritmului, să se
afișeze 9. (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ă de alt tip. (6p.)
2. Variabila p memorează simultan date specifice pentru prepararea unei prăjituri: numărul de ingrediente
necesare și, pentru fiecare ingredient, codul acestuia și cantitatea necesară. Știind că expresiile Pascal
de mai jos au ca valori numere naturale din intervalul [2,20], reprezentând numărul de ingrediente
necesare pentru prepararea unei prăjituri, codul primului ingredient și cantitatea necesară din acesta,
scrieți definiția unui tip de date cu numele prajitura, înregistrare care permite memorarea datelor
specifice pentru prepararea unei prăjituri, și declarați corespunzător variabila p.
p.numar p.ingredient[0].cod p.ingredient[0].cantitate (6p.)
3. Variabilele i și j sunt de tip întreg, iar variabila a memorează un tablou
bidimensional cu 7 linii și 7 coloane, numerotate de la 0 la 6, având inițial toate
elementele egale cu caracterul *. Fără a utiliza alte variabile, scrieți secvența de
instrucțiuni de mai jos, înlocuind punctele de suspensie astfel încât, în urma
executării secvenței obținute, variabila a să memoreze tabloul alăturat.
for i:=0 to 6 do
for j:=0 to 6 do
.................. (6p.)
b a a a a a b
b b a a a b b
b b b a b b b
b b b b b b b
b b b a b b b
b b a a a b b
b a a a a a b
SUBIECTUL al III-lea (30 de puncte)
1. Subprogramul transformareBaza10 are doi parametri, b și n, prin care primește câte un număr
natural (b[2,10], n[0,109]). Subprogramul returnează suma tuturor produselor de forma c∙bk,
unde c este cifra de pe poziția k în scrierea numărului n; pozițiile sunt numerotate de la dreapta la
stânga, iar cifra unităților este pe poziția 0.
Scrieți definiția completă a subprogramului.
Exemplu: dacă b=2 și n=10010, subprogramul returnează 18 (18=1∙24+0∙23+0∙22+1∙21+0∙20). (10p.)
2. Un text cu cel mult 100 de caractere conține cuvinte și numere, separate prin câte un spațiu. Cuvintele
sunt formate numai din litere mici ale alfabetului englez, iar numerele sunt reale, pozitive, cu partea
întreagă și partea zecimală separate prin simbolul virgulă, sau numai cu partea întreagă, ca în exemplu.
Scrieți un program Pascal care citește de la tastatură un text de tipul precizat și îl transformă în
memorie, înlocuind fiecare număr real cu partea întreagă a acestuia.
Exemplu: pentru textul
partea intreaga a lui 5,75 este egala cu a lui 5,25 si cu a lui 5 si este 5
se afișează pe ecran
partea intreaga a lui 5 este egala cu a lui 5 si cu a lui 5 si este 5 (10p.)
3. Fișierul bac.txt conține un șir de cel mult 106 numere naturale din intervalul [0,103], separate prin
câte un spațiu. Se cere să se afișeze pe ecran suma maximă obținută adunând numere cu aceeași
paritate, aflate pe poziții consecutive în șirul aflat în fișier. Proiectați un algoritm eficient din punctul de
vedere al memoriei utilizate și al timpului de executare.
Exemplu: dacă fișierul bac.txt conține valorile 10 115 1 5 2 2 2 4 7 3 100 20 2 7
se afișează pe ecran numărul 122
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 și Cercetării
Centrul Național de Politici și Evaluare în Educație
Probă scrisă la informatică Testul 20
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 20
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)
1b 2d 3c 4b 5b 5x4p.
SUBIECTUL al II - lea (40 de puncte)
1. a) Răspuns corect: 20 6p.
b) Răspuns corect:
8, 81
6p. Se acordă câte 3p. pentru fiecare dintre cele două
valori conform cerinței
c) Pentru program corect
-declarare variabile
-citire date
-afișare date
-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,
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.
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 (definire
principial corectă a unei structuri/înregistrări, câmpuri
de tip simplu, câmp de tip structurat, 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 1p. pentru fiecare aspect specific
(identificare diagonală principală/secundară, poziționare
stânga/dreapta față de diagonala principală, poziționare
stânga/dreapta față de diagonala secundară, valori
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ă, parametri de intrare) conform
cerinței.
(**) Se acordă câte 2p. pentru fiecare aspect specific
(identificare a poziției k a unei cifre, calcul al valorii bk,
algoritm principial corect pentru determinarea unei
sume) 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
-declarare a variabilelor simple,
corectitudine globală a programului1)
10p.
1p.
1p.
6p.
1p.
1p.
(*) Se acordă câte 2p. pentru fiecare aspect specific
(identificare a unui număr întreg/real,
eliminare/înlocuire a unui subșir, subșiruri suport
eliminate/înlocuite) conform cerinței.

Baremul · pagina 2

Ministerul Educaţiei și Cercetării
Centrul Național de Politici și Evaluare în Educație
Probă scrisă la informatică Testul 20
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 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 șirul din fișier, memorând
valoarea curentă (crt), valoarea anterioară (ant), suma
secvenței curente și suma maximă; la fiecare pas,
dacă valorile crt și ant au aceeași paritate, atunci crt
se adună la suma curentă, iar altfel se inițializează
suma curentă cu valoarea crt. Suma maximă se
actualizează, după caz, la fiecare pas.
b) Pentru program corect
-operații cu fișiere: declarare, pregătire în
vederea citirii, citire din fișier
-determinare a valorii 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.