DauExamen
Bacalaureat 2026 Sesiunea iunie–iulie Sn 3h

Informatică 2026

Informatică – Sn – Bacalaureat 2026, sesiunea iunie–iulie (varianta 03)

Textul subiectului
Ministerul Educaţiei și Cercetării Centrul Naţional pentru Curriculum şi Evaluare Examenul național de bacalaureat 2026 Proba E. d) Informatică Limbajul C/C++ Varianta 3 Filieră teoretică, profil real, specializare științe ale naturii • 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ă. 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 x și y sunt întregi. Indicați o expresie C/C++ care are valoarea 1 dacă și numai dacă numerele naturale memorate în variabilele x și y au aceeași paritate. a. (x*y)%2==0 b. x%2==0 && y%2==0 c. (x+y)%2==0 d. !(x%2==y%2) 2. Tablourile unidimensionale A și B au valorile A=(27,12,10,7,5,3,1) și B=(49,36,25,9,3,2) și sunt interclasate în ordine descrescătoare, fiind parcurse de la stânga la dreapta. Indicați numărul total de comparații între elementele tablourilor efectuate până la includerea valorii 12 în șirul obținut prin interclasare. a. 1 b. 3 c. 5 d. 7 3. Variabilele i și j sunt de tip întreg. Indicați expresia care poate înlocui punctele de suspensie astfel încât, în urma executării secvenței obținute, să se afișeze numerele de mai jos. for(i=0;i<5;i++) 0 9 10 19 20 { for(j=0;j<5;j++) 1 8 11 18 21 if(j%2==0)cout<<5*j+i<<” ”; | printf(”%d ”,5*j+i); 2 7 12 17 22 else cout<<......<<” ”; | printf(”%d ”,.....); 3 6 13 16 23 cout<<endl; | printf(”\n”); 4 5 14 15 24 } a. 5*j+4-i b. 5*j-i c. 4*j+4-i d. 4*j-i 4. Indicați o expresie C/C++ care are valoarea 1 dacă și numai dacă numărul memorat în variabila întreagă x aparține reuniunii de intervale [-3,-1]∪[1,3]. a. abs(x)<=3 || x!=0 b. abs(x)>=1 && abs(x)<=3 c. abs(x-3)>=1 d. abs(x-1)>=3 5. În secvența alăturată toate variabilele sunt de tip întreg. Indicați if(n%2==0) constanta cu care pot fi înlocuite punctele de suspensie astfel if(n==2)ok=1; încât, în urma executării secvenței obținute, variabila ok să aibă else ok=0; valoarea 1 dacă și numai dacă numărul natural memorat în else variabila n este prim. { d=......; ok=1; while (ok==1 && d*d<=n) if(n%d==0) ok=0; else d=d+2; } a. 0 b. 1 c. 2 d. 3 Probă scrisă la informatică Varianta 3 Limbajul C/C++ Filieră teoretică, profil real, specializare științe ale naturii Pagina 1 din 2 Ministerul Educaţiei și Cercetării Centrul Naţional pentru Curriculum şi Evaluare SUBIECTUL al II-lea (40 de puncte) citește n 1. Se consideră algoritmul alăturat, reprezentat în pseudocod. (număr natural nenul) a. Scrieți valorea afișată dacă se citesc, în această ordine, s0; x0; p1 numerele 8, 3, 1, 5, 2, 4, 5, 5, 7. (6p.) ┌repetă │ citește y (număr natural nenul) b. Dacă pentru n se citește numărul 3, scrieți un set de date │┌dacă y>x atunci care pot fi citite în continuare, astfel încât, în urma executării ││ ss+y; xy algoritmului, să se afișeze 0. (6p.) ││altfel c. Scrieți programul C/C++ corespunzător algoritmului dat. (10p.) ││┌dacă x=y atunci ss-y ││└■ d. Scrieți în pseudocod un algoritm, echivalent cu cel dat, │└■ înlocuind structura repetitivă cu o structură de tip │ pp+1 pentru...execută. (6p.) └până când p>n scrie s 2. Pentru a verifica dacă în tabloul unidimensional (5,7,15,19,21,23,25) există elementul cu valoarea x, se aplică metoda căutării binare. Scrieți mulțimea tuturor valorilor întregi posibile ale lui x, astfel încât succesiunea de elemente ale tabloului a căror valoare se compară cu valoarea lui x pe parcursul aplicării metodei indicate să fie 19, 23, 21. (6p.) 3. Variabilele întregi p și r memorează primul termen, respectiv rația unei progresii aritmetice. Știind că diferența dintre un termen al progresiei și termenul anterior este egală cu rația, scrieți o instrucțiune C/C++ prin care i se atribuie variabilei întregi t valoarea celui de al 3-lea termen al progresiei. (6p.) SUBIECTUL al III-lea (30 de puncte) 1. Numim număr uniform asociat unei valori naturale numărul obținut din aceasta prin eliminarea fie a tuturor cifrelor sale pare, fie a tuturor cifrelor sale impare. Exemplu: lui 19472 i se asociază numerele uniforme 197 și 42. Se citește un număr natural cu toate cifrele nenule, n, având cel puțin o cifră pară și cel puțin o cifră impară, și se cere să se scrie un număr obținut din cifrele numărului uniform impar asociat lui n, urmate de cifrele numărului uniform par asociat lui n, ca în exemplu. Scrieţi, în pseudocod, algoritmul de rezolvare a problemei enunțate. Exemplu: dacă n=19472, se scrie numărul 19742. (10p.) 2. Scrieți un program C/C++ care citește de la tastatură un număr natural, n (n∈[2,20]), apoi cele n elemente ale unui tablou unidimensional, numere întregi nenule din intervalul [-109,109]. Programul afișează pe ecran mesajul alterneaza dacă în tablou nu există două numere pozitive sau două numere negative pe poziții consecutive, sau mesajul nu alterneaza în caz contrar. Exemplu: pentru n=5 și tabloul (-32,15,-7,16,-20) se afișează mesajul alterneaza iar pentru n=5 și tabloul (-32,15,-7,16,20) se afișează mesajul nu alterneaza (10p.) 3. De-a lungul timpului, o persoană a participat la mai multe concursuri de șah și de go. Un rezultat motivant corespunde unei poziții mai bune (cu un număr mai mic) în clasamentul unui concurs, comparativ cu poziția obținută la concursul anterior de același tip. Fișierul bac.txt conține un șir de cel mult 104 numere naturale, reprezentând rezultatele obținute 6 1 la concursurile la care a participat, în ordine cronologică: pentru fiecare dintre rezultate, câte o 8 2 7 1 pereche formată din poziția ocupată în clasamentul concursului corespunzător (un număr din 5 2 intervalul [1,300]), urmată de valoarea 1, dacă acesta a fost concurs de șah, sau de valoarea 2, 3 1 dacă acesta a fost concurs de go. Fiecare pereche se află pe câte o linie a fișierului, cu valorile 4 1 separate printr-un spațiu. 5 1 Se cere să se afișeze pe ecran numărul de rezultate motivante obținute la concursurile de șah. 1 2 Proiectați un algoritm eficient din punctul de vedere al timpului de executare și al spațiului de 4 2 memorie utilizat. 1 1 Exemplu: dacă fișierul conține numerele alăturate, pe ecran se afișează 3 2 1 pentru că la șah a obținut trei rezultate motivante (poziția 3 după poziția 7, poziția 1 după poziția 5 și 1 1 poziția 1 după poziția 2). 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 3 Limbajul C/C++ Filieră teoretică, profil real, specializare științe ale naturii Pagina 2 din 2

Alte subiecte la Informatică – Sn