Textul subiectului și baremului
Test de antrenament BAC Informatică Mate-Info Pascal 2021 – testul 11
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 11 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 11 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 și memorează un număr nenul. Indicați expresia Pascal cu valoarea true dacă 2021 este divizor al lui x. a. x div (x div 2021)=0 b. x div (x mod 2021)=0 c. x mod (x div 2021)=0 d. x mod (x mod 2021)=0 2. Utilizând metoda backtracking se generează toate valorile naturale formate cu cifre ale numărului 2021 și care sunt strict mai mici decât acesta. Primele 12 soluții generate sunt, în această ordine, 0, 1, 10, 100, 1000, 1001, 1002, 101, 1010, 1011, 1012, 102. Indicați două soluții care se generează pe poziții consecutive, în această ordine. a. 2002, 2020 b. 2020, 21 c. 122, 1221 d. 21, 22 3. Variabilele x și y sunt declarate alăturat. Indicați o instrucțiune de atribuire corectă din punctul de vedere sintactic. type masina=record model:string; an:integer end; var x:array[1..10] of masina; y:masina; a. x[1]:=y; b. x.an[1]:=y.an; c. x[1].an.masina:=y.an.masina; d. model.x[1]:=model.y; 4. Un arbore cu 11 noduri, numerotate de la 1 la 11, este reprezentat prin vectorul de „tați” (9,3,4,6,4,8,6,0,4,4,4). Indicați numărul de descendenți direcți (“fii”) ai nodului 4. a. 2 b. 3 c. 5 d. 6 5. Indicați numărul de noduri ale unui graf neorientat, complet, cu 210 muchii. a. 14 b. 15 c. 20 d. 21 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 de interschimbare a valorilor variabilelor a și b. citește m,n (numere naturale) ┌dacă m>n atunci │ n→m └■ ┌dacă m%2=0 atunci │ mm+1 └■ ┌cât timp m≤n execută │ mm+2 │ scrie ‘*’ └■ a. Scrieți succesiunea de caractere afișate în urma executării algoritmului dacă se citesc, în această ordine, numerele 2 și 9. (6p.) b. Dacă pentru n se citește numărul 79, scrieți două numere nenule care pot fi citite pentru m astfel încât, în urma executării algoritmului, pentru fiecare dintre acestea, să se afișeze de 40 de ori caracterul *. (6p.) c. Scrieți programul Pascal corespunzător algoritmului dat, fără a utiliza eventuale funcții predefinite pentru operația de interschimbare. (10p.)
Subiectul · pagina 2
Ministerul Educației Centrul Național de Politici și Evaluare în Educație Probă scrisă la INFORMATICĂ Testul 11 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 d. Scrieți în pseudocod un algoritm echivalent cu cel dat, înlocuind structura cât timp...execută cu o structură repetitivă cu test final. (6p.) 2. Subprogramul f este definit alăturat. Scrieți ce valori au f(2), respectiv f(21). (6p.) function f(x:integer):integer; begin if x<=4 then f:=x else f:=x-f(x-2) end; 3. Variabila i este de tip întreg, iar variabila x permite memorarea unui şir cu cel mult 100 de caractere. Scrieți ce se afişează în urma executării secvenţei alăturate. (6p.) x:='bac2021'; writeln(copy(x,4,4)); for i:=1 to length(x) do if pos(x[i],'0123456789')=0 then write(x[i],'!'); SUBIECTUL al III-lea (30 de puncte) 1. Două numere se numesc oglindite dacă fiecare se obține din celălalt, prin parcurgerea cifrelor acestuia de la dreapta la stânga. Două numere se numesc impar-oglindite dacă numerele obținute din acestea, prin îndepărtarea tuturor cifrelor lor pare, sunt oglindite. Subprogramul imog are trei parametri: • x și y, prin care primește câte un număr natural din intervalul [0,109]; • rez, prin care furnizează valoarea 1 dacă x și y sunt impar-oglindite sau valoarea 0 în caz contrar. Scrieți definiția completă a subprogramului. Exemplu: dacă x=523 și y=84356, după apel rez=1, iar dacă x=523 și y=84536 sau x=523 și y=84576 sau x=40 și y=86, după apel rez=0. (10p.) 2. Scrieți un program Pascal care citește de la tastatură numere naturale: n (n[2,20]), k (k[2,n]) și n∙n numere din intervalul [0,109], elemente ale unui tablou bidimensional cu n linii și n coloane. Programul transformă tabloul în memorie, interschimbând șirul elementelor situate pe linia a k-a, în stânga diagonalei principale, parcurse de la stânga la dreapta, cu șirul elementelor situate pe coloana a k-a, deasupra diagonalei principale, parcurse de sus în jos, ca în exemplu. Elementele tabloului obținut sunt afișate pe ecran, fiecare linie pe câte o linie a ecranului, cu elementele fiecărei linii separate prin câte un spațiu. Exemplu: pentru n=5, k=4 și tabloul 2 4 3 5 6 8 0 9 8 7 2 6 9 0 5 6 1 3 6 9 7 3 9 4 2 se obține tabloul 2 4 3 6 6 8 0 9 1 7 2 6 9 3 5 5 8 0 6 9 7 3 9 4 2 (10p.) 3. Se consideră șirul 1, 3, 7, 13, 21, 31, 43 ... definit astfel: f0=1, iar fn=fn-1+2n, dacă n≥1 (unde n este un număr natural). Se citesc de la tastatură două numere naturale din intervalul [1,109], x și y (x<y), reprezentând doi termeni aflați pe poziții consecutive în șirul dat, și se cere să se scrie în fișierul text bac.out, separați prin câte un spațiu, toți termenii șirului mai mici sau egali cu y, în ordine inversă a apariției lor în șir. Proiectați un algoritm eficient din punctul de vedere al spațiului de memorie și al timpului de executare. Exemplu: dacă x=21 și y=31, fişierul conţine valorile 31 21 13 7 3 1 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 11 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 11 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 2b 3a 4c 5d 5x4p. SUBIECTUL al II - lea (40 de puncte) 1. a) Răspuns corect: **** 6p. Se acordă numai 3p. dacă s-au scris 5 sau doar 3 simboluri *. b) Pentru răspuns corect 6p. Se acordă câte 3p. pentru fiecare dintre cele două numere conform cerinței (oricare două dintre numerele 1, 157, 158). c) Pentru program corect -declarare variabile -citire date -afișare date -instrucțiuni de decizie (*) -instrucțiune repetitivă -atribuiri precizate în algoritmul dat -implementare a operației de interschimbare -corectitudine globală a programului1) 10p. 1p. 1p. 1p. 2p. 2p. 1p. 1p. 1p. (*) Se acordă numai 1p. 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. Se va puncta orice formă corectă de structură repetitivă conform cerinței. 2. Pentru rezolvare corectă 6p. Se acordă câte 3p. pentru fiecare dintre cele două valori conform cerinței. f(2)=2 f(21)=10 3. Răspuns corect 2021 b!a!c! 6p. Se acordă câte 2p. pentru fiecare aspect (subșir de cifre, succesiune de litere și !, linii separate) conform cerinței. 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 1p. pentru fiecare aspect (identificare a unei cifre pare/impare, succesiune de cifre obținute în ordinea parcurgerii stânga-dreapta, succesiune de cifre obținute în ordinea parcurgerii dreapta-stânga, identificare a unei cifre comune/distincte, cifre suport/numere formate din cifrele suport verificate, tratare a cazului în care nu există cifre impare în niciun număr) conform cerinței.
Baremul · pagina 2
Ministerul Educaţiei Centrul Național de Politici și Evaluare în Educație Probă scrisă la INFORMATICĂ Testul 11 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 -transformare a tabloului 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 1p. pentru fiecare aspect specific (identificare a unui element situat pe linia cerută în stânga diagonalei principale, identificare a unui element situat pe coloana cerută deasupra diagonalei principale, plasare a unor elemente de pe linia sursă pe coloana destinație, plasare a unor elemente de pe coloana sursă pe linia destinație, valori suport deplasate/nemodificate, transformare în memorie) 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ă determină valoarea lui n, corespunzătoare termenului fn=y, pe baza expresiei n=(y-x)/2; se generează termenii șirului mai mici decât y pe baza relației fn=x=y-2(n+1), unde x, y și n se actualizează corespunzător, la fiecare pas. O altă soluție posibilă nu utilizează deloc valoarea lui x, ci deduce formula termenului general ca fiind fn=1+n(n+1) și determină valoarea lui n corespunzătoare termenului fn=y rezolvând ecuația n2+n-y+1=0; se generează termenii fn ai șirului pe baza formulei deduse, unde n se actualizează corespunzător, la fiecare pas. b) Pentru program corect -operații cu fișiere: declarare, pregătire în vederea scrierii, scriere în fișier -determinare a valorii cerute (*),(**) -utilizare a unui algoritm eficient (***) -declarare a variabilelor, citire a datelor, corectitudine globală a programului1) 8p. 1p. 5p. 1p. 1p. 1) Corectitudinea globală vizează structura, sintaxa, alte aspecte neprecizate în barem.