DauExamen
Bacalaureat 2025 Sesiunea specială Mi 3h

Informatică 2025

Informatică – Mi – Bacalaureat 2025, sesiunea specială (varianta 06)

Textul subiectului
Ministerul Educației și Cercetării Centrul Național pentru Curriculum și Evaluare Examenul național de bacalaureat 2025 Proba E. d) INFORMATICĂ Limbajul C/C++ Varianta 6 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 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. Variabilele m, n, p, q și x sunt de tip întreg, iar m<p<q<n. Indicați o expresie C/C++ care are valoarea 1 dacă și numai dacă numărul memorat în variabila x aparține intervalului [m,n], dar NU și intervalului (p,q). a. x<=m || x>=p && x<=q || x>=n b. x<=m && x>=p || x<=q && x>=n c. x>=m || x<=p && x>=q || x<=n d. x>=m && x<=p || x>=q && x<=n 2. Subprogramul f este void f(int n) definit alăturat. Indicați { cout<<n<<' '; | printf("%d ",n); ce se afișează în urma if(n%10!=0) { cout<<n<<' '; | printf("%d ",n); f(n/10); apelului de mai jos. } f(2050); else if(n!=0){ f(n/10); cout<<n<<' '; | printf("%d ",n); } } a. 2050 205 20 2 0 b. 2050 205 20 2 0 20 2050 c. 2050 205 205 20 2 2 0 20 2050 d. 2050 2050 205 205 20 20 2 2 0 3. Utilizând metoda bactracking se generează toate tipurile de propoziții formate din patru unități sintactice (părți ale propoziției): un subiect, un predicat, un atribut și un complement, astfel încât atributul să fie plasat imediat înainte ori imediat după subiect. Două propoziții diferă prin ordinea unităților sale sintactice. Primele patru soluții generate sunt, în această ordine: (subiect, atribut, predicat, complement), (subiect, atribut, complement, predicat), (predicat, subiect, atribut, complement), (predicat, atribut, subiect, complement). Indicați ultima soluție generată. a. (complement, atribut, subiect, predicat) b. (complement, atribut, predicat, subiect) c. (complement, subiect, atribut, predicat) d. (complement, predicat, subiect, atribut) 4. Variabila m memorează elementele unui tablou bidimensional cu 100 de linii și 100 de coloane, numerotate de la 0 la 99. Indicați o expresie C/C++ prin care poate fi accesat un element aflat pe diagonala principală a tabloului. a. m[1,16] b. m[16][16] c. m(16,16) d. m(16)(1) 5. Un graf neorientat are 7 noduri și 21 de muchii. Indicați numărul minim de muchii care pot fi eliminate din acest graf, astfel încât graful parțial obținut să aibă două componente conexe, cu cel puțin două noduri fiecare. a. 6 b. 8 c. 10 d. 12 Probă scrisă la INFORMATICĂ Varianta 6 Limbajul C/C++ 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 și Cercetării Centrul Național pentru Curriculum și Evaluare SUBIECTUL al II-lea (40 de puncte) 1. Algoritmul alăturat este reprezentat în pseudocod. citește m,n S-a notat cu a%b restul împărțirii numărului natural a la numărul natural (numere naturale nenule, m≤n) nenul b și cu [c] partea întreagă a numărului real c. ┌pentru in,m,-1 execută │ xi a. Scrieți numerele afișate dacă se citesc, în această ordine, numerele │ cx%10 75 și 90. (6p.) │┌repetă b. Dacă pentru variabila m se citește valoarea 2025, scrieți două numere ││ x[x/10] distincte care pot fi citite pentru variabila n, astfel încât, pentru fiecare │└până când x%10≠c │┌dacă x=0 atunci dintre acestea, în urma executării algoritmului, să se afișeze o singură ││ scrie i,' ' valoare. (6p.) │└■ c. Scrieți programul C/C++ corespunzător algoritmului dat. (10p.) └■ d. Scrieți în pseudocod un algoritm echivalent cu cel dat, înlocuind structura pentru...execută cu o structură repetitivă de tip cât timp...execută. (6p.) 2. Un arbore cu 8 noduri, numerotate de la 1 la 8, este reprezentat prin vectorul de „tați” (3, 0, 2, 5, 2, 5, 1, 5). Enumerați două noduri ale arborelui care pot fi alese drept rădăcină (cu excepția rădăcinii curente), astfel încât nodul 4 să aibă aceiași „frați” ca în reprezentarea dată. (6p.) 3. În declarările alăturate variabila d memorează în câmpurile A și B struct punct coordonatele, în sistemul de coordonate xOy, ale vârfurilor din stânga – sus, { int x,y; respectiv din dreapta – jos ale unui dreptunghi cu laturile paralele cu axele }; sistemului de coordonate. Scrieți o secvență de instrucțiuni C/C++ în urma struct figura executării căreia se afișează pe ecran mesajul DA, dacă figura { punct A, B; corespunzătoare variabilei d este pătrat sau mesajul NU în caz contrar. } d; (6p.) SUBIECTUL al III-lea (30 de puncte) 1. Subprogramul diviz are un singur parametru, n, prin care primește un număr natural (n∈[1,109]). Subprogramul returnează cel mai mare divizor al lui n care este pătrat perfect. Scrieți definiția completă a subprogramului C/C++. Exemplu: pentru n=72 subprogramul returnează 36, pentru n=16 subprogramul returnează 16, iar pentru n=15 subprogramul returnează 1. (10p.) 2. Într-un text de cel mult 100 de caractere cuvintele sunt formate doar din litere mici ale alfabetului englez și sunt separate prin unul sau mai multe spații. Textul are cel puțin două cuvinte. Scrieți un program C/C++ care citește de la tastatură un text de tipul precizat mai sus și îl transformă în memorie prin eliminarea sau inserarea unor spații și a unor cratime (simbolul -), astfel încât între oricare două cuvinte consecutive în text să fie câte o cratimă, încadrată la stânga și la dreapta de câte un spațiu, ca în exemplu. Programul afișează pe ecran textul obținut. Exemplu: pentru textul anul acesta devin student se obține anul – acesta – devin - student (10p.) 3. Fișierul text bac.txt conține un șir de cel mult 106 triplete de numere naturale din intervalul [1,102], numerele din fiecare triplet reprezentând lungimile laturilor câte unui triunghi. Fiecare triplet se află pe câte o linie a fișierului, iar numerele care îl compun sunt separate prin câte un spațiu. Într-un triunghi dreptunghic pătratul lungimii ipotenuzei este egal cu suma pătratelor lungimilor 6 10 6 celor două catete. 7 24 25 Se cere să se afișeze pe ecran numărul maxim de triunghiuri dreptunghice din fișier care au aceeași 7 25 24 lungime a ipotenuzei. Proiectați un algoritm eficient din punctul de vedere al timpului de executare. 25 14 13 Exemplu: dacă fișierul conține numerele alăturate, pe ecran se afișează 3 8 6 10 (sunt trei triunghiuri de tipul cerut cu ipotenuza 25: două au catetele 7, respectiv 24, și unul 15 20 25 are catetele 15, respectiv 20). 4 5 3 a. Descrieți în limbaj natural algoritmul proiectat, justificând eficiența acestuia. (2p.) b. Scrieți programul C/C++ corespunzător algoritmului proiectat. (8p.) Probă scrisă la INFORMATICĂ Varianta 6 Limbajul C/C++ 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ă – Mi