DauExamen
Bacalaureat 2021 Sesiunea iunie–iulie Pascal – Mate-Info 3h

Informatică 2021

Informatică – Pascal – Mate-Info – Bacalaureat 2021, sesiunea iunie–iulie

Textul subiectului
Ministerul Educației Centrul Național de Politici și Evaluare în Educație Examenul național de bacalaureat 2021 Proba E. d) INFORMATICĂ Limbajul Pascal Varianta 1 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. Indicați o expresie Pascal care are valoarea true dacă și numai dacă valorile variabilelor întregi x și y sunt numere pare. a. (x mod 2=0) and ((y+1) mod 2<>0) b. (x-y) div 2=0 c. ((x+y) mod 2=0) and ((x-y) mod 2=0) d. x mod 2=y mod 2 2. Subprogramul f este definit alăturat. function f(n,c:longint):longint; Indicați valorile pe care le pot avea begin if n=0 then f:=0 parametrii n și c, astfel încât, în urma else apelului, f(n,c) să aibă valoarea 2021. if n mod 10=c then f:=f(n div 10,c) else f:=n mod 10+10*f(n div 10,c) end; a. n=2021 și c=0 b. n=200211 și c=2 c. n=312032 și c=3 d. n=720721 și c=7 3. Variabila m memorează elementele unui tablou bidimensional cu 100 de linii și 100 de coloane, numerotate de la 0 la 99. Indicați expresia Pascal prin care poate fi accesat un element aflat pe diagonala secundară a tabloului. a. m[42/42] b. m[42|42] c. m[42:57] d. m[42,57] 4. Un graf neorientat are 6 noduri, numerotate de la 1 la 6, și muchiile [1,2], [1,3], [2,3], [3,4], [3,5], [4,5], [5,6]. Indicați un ciclu elementar al acestui graf. a. 1,2,3 b. 1,2,3,1 c. 1,2,3,4,5,3,1 d. 1,2,3,4,5,6,1 5. Într-un arbore cu rădăcină un nod se află pe nivelul x dacă lanțul elementar care are o extremitate în nodul respectiv și cealaltă extremitate în rădăcina arborelui are lungimea x. Pe nivelul 0 se află un singur nod (rădăcina). Într-un arbore cu rădăcină toate nodurile de pe același nivel au un număr egal de „fii” și nu există două niveluri diferite cu același număr de noduri. Indicați numărul minim de noduri de pe nivelul 3. a. 12 b. 9 c. 8 d. 5 Probă scrisă la INFORMATICĂ Varianta 1 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 Ministerul Educației Centrul Național de Politici și Evaluare în Educație SUBIECTUL al II-lea (40 de puncte) 1. Algoritmul alăturat este reprezentat în pseudocod. citește x,y S-a notat cu ab operația de interschimbare a valorilor variabilelor (numere naturale nenule) a și b. ┌dacă x>y atunci xy └■ a. Scrieți ce se afișează în urma executării algoritmului dacă se citesc, nr1 în această ordine, numerele 8 și 5. (6p.) ┌pentru iy,x,-1 execută b. Dacă pentru variabila x se citește valoarea 10, scrieți două numere │ scrie 1 care pot fi citite pentru variabila y, astfel încât, în urma executării │┌dacă nr≥x atunci algoritmului, pentru fiecare dintre acestea, cifra 2 să fie afișată doar ││ scrie 2 de trei ori. (6p.) │└■ │ nrnr*3 c. Scrieți programul Pascal corespunzător algoritmului dat, fără a utiliza │ scrie 1 eventuale subprograme predefinite pentru interschimbare. (10p.) └■ d. Scrieți în pseudocod un algoritm echivalent cu cel dat, înlocuind structura pentru...execută cu o structură repetitivă cu test inițial. (6p.) 2. Utilizând metoda bactracking se generează toate grupurile de cel puțin două păsări cântătoare din mulțimea {cinteză, ciocârlie, mierlă, privighetoare, scatiu}, astfel încât mierla și privighetoarea să nu fie în același grup. Două grupuri diferă prin cel puțin o pasăre. Primele patru soluții generate sunt, în această ordine: (cinteză, ciocârlie), (cinteză, ciocârlie, mierlă), (cinteză, ciocârlie, mierlă, scatiu), (cinteză, ciocârlie, privighetoare). Scrieți următoarele două soluții generate imediat după (ciocârlie, privighetoare, scatiu). (6p.) 3. În declararea alăturată, variabilele f și fs memorează în câmpurile a și b type fractie=record numărătorul, respectiv numitorul câte unei fracții. Fără a utiliza alte variabile, a,b:integer scrieți o secvență de instrucțiuni care să memoreze în variabila fs fracția end; 2020 var f,fs:fractie; obținută prin scăderea din fracția a fracției memorate în variabila f. (6p.) 2021 SUBIECTUL al III-lea (30 de puncte) 1. Subprogramul divPrim are doi parametri: • n, prin care primește un număr natural (n[2,109]); • s, prin care furnizează suma divizorilor primi ai lui n care apar la o putere impară în descompunerea în factori primi a acestuia. Scrieți definiția completă a subprogramului. Exemple: pentru n=360, după apel s=7 (360=23∙32∙51, deci s=2+5), iar pentru n=16, după apel s=0.(10p.) 2. Scrieți un program Pascal care citește de la tastatură două numere naturale n și k, apoi n cuvinte, separate prin Enter. Fiecare cuvânt este format din cel mult 10 caractere, numai litere mici ale alfabetului englez, iar numerele citite sunt din intervalul [1,20]. Programul afișează pe ecran, pe linii separate, primele k cuvinte dintre cele citite pentru 5 2 care ultima literă este o vocală, sau doar mesajul nu exista dacă nu există k astfel de norii cuvinte. Se consideră vocale literele a, e, i, o, u. cumulus Exemplu: dacă se citesc datele alăturate, se afișează pe ecran: pluteau norii pe pluteau (10p.) cer 3. Numărul natural a se numește sufix al numărului natural b dacă a este egal cu b sau dacă b se poate obține din a prin alipirea la stânga a unor noi cifre. Fişierul bac.txt conţine pe prima linie un număr natural x (x[100,999]), iar pe a doua linie un şir de cel mult 105 numere naturale din intervalul [0,109]. Numerele din şir sunt separate prin câte un spaţiu. Se cere să se afișeze pe ecran ultimii doi termeni ai șirului, aflați pe poziții consecutive în acesta, care îl au drept sufix pe numărul x. Numerele sunt afișate în ordinea în care apar în șir, separate printr-un spațiu, iar dacă nu există doi astfel de termeni, 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 210 numerele alăturate, atunci pe 3445 210 893210 1245 1210 3210 15210 67120 20210 12 ecran se afișează 3210 15210 a. Descrieți în limbaj natural algoritmul proiectat, justificând eficiența acestuia. (2p.) b. Scrieți programul Pascal corespunzător algoritmului proiectat. (8p.) Probă scrisă la INFORMATICĂ Varianta 1 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

Alte subiecte la Informatică – Pascal – Mate-Info