Textul subiectului și baremului
Model oficial BAC Informatică Mate-Info C/C++ 2027
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 și Cercetării
Centrul Național pentru Curriculum și Evaluare
Probă scrisă la INFORMATICĂ Model
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
Examenul național de bacalaureat 2027
Proba E. d)
INFORMATICĂ
Limbajul C/C++
Model
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. Indicați expresia C/C++ a cărei valoare este 0.
A. 27==27/(3*3*3)
B. 27==(27+1)/3*3
C. 27==27/3+27/3+27/3
D. 27==(27+2)/3+(27+1)/3+27/3
2. Variabila p, declarată alăturat, memorează mărimea și prețul pentru
fiecare dintre cele 100 de perechi de pantofi dintr-un magazin. Indicați
expresia C/C++ prin care se accesează prețul celei de a treia perechi.
struct pantof
{ int marime;
float pret;
}p[100];
A. pret[2].p B. pret.p[2] C. p.pret[2] D. p[2].pret
3. Subprogramul f este definit alăturat. Indicați
valoarea f(97,0).
int f(int n, int k)
{ if(n==0) return 0;
else if(k*k<=n) return k+f(n/2,k+1);
else return k+f(n/2,n);
}
A. 10 B. 16 C. 19 D. 30
4. Utilizând metoda backtracking se generează toate seturile de echipamente pentru drumeție din mulțimea
ordonată astfel: {rucsac (100 de lei), bocanci (200 de lei), lanternă (50 de lei), bidon (20 de lei),
pelerină (100 de lei), busolă (50 de lei), hartă (30 de lei)}. Într-un set, echipamentele sunt distincte
și costă, în total, 200 de lei. Două soluții diferă prin cel puțin un echipament. Primele trei soluții generate
sunt, în această ordine: (rucsac, lanternă, bidon, hartă), (rucsac, lanternă, busolă), (rucsac,
bidon, busolă, hartă). Indicați a șasea soluție.
A. (bocanci)
B. (rucsac, pelerină)
C. (lanternă, pelerină, busolă)
D. (lanternă, bidon, pelerină, hartă)
5. Într-un arbore cu rădăcină considerăm că 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).
Un arbore cu rădăcină are cinci niveluri. Nodurile de pe nivelul 2 au câte patru descendenți direcți („fii”), toate
nodurile de pe același nivel au același număr de descendenți direcți și oricare două noduri aflate pe niveluri
diferite au număr diferit de descendenți direcți. Indicați numărul de noduri de pe ultimul nivel, astfel încât
numărul total de noduri ale arborelui să fie minim.
A. 16 B. 24 C. 32 D. 40Subiectul · pagina 2
Ministerul Educației și Cercetării
Centrul Național pentru Curriculum și Evaluare
Probă scrisă la INFORMATICĂ Model
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
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 x,y
(numere naturale)
nß1
┌cât timp x>0 execută
│ okß1
│┌cât timp ok=1 execută
││┌dacă x%2=0 atunci
│││ yßy*y; xß[x/2]
│││altfel
│││ xßx-1; okß0
││└■
│└■
│ nßn*y
└■
scrie n
a. Scrieţi valoarea afișată în urma executării algoritmului dacă se citesc, în
această ordine, numerele 11, 2. (6p.)
b. Dacă primul număr citit este 3, scrieţi două numere din intervalul [1,10]
care pot fi citite pentru variabila y astfel încât, în urma executării algoritmului,
pentru fiecare dintre acestea, numărul afișat să fie din intervalul
[27,127]. (6p.)
c. Scrieţi programul C/C++ corespunzător algoritmului dat. (10p.)
d. Scrieţi în pseudocod un algoritm echivalent cu cel dat, înlocuind adecvat
prima structură cât timp...execută cu o structură repetitivă cu test
final. (6p.)
2. Un graf orientat are 5 vârfuri, numerotate de la 1 la 5 și arcele (4,5), (2,1), (3,1), (1,4), (1,2),
(5,3). Scrieți un drum cu lungimea minimum 3 și un circuit care nu este elementar. (6p.)
3. Variabilele i şi j sunt de tip întreg, iar variabila a memorează un tablou bidimensional cu 8 linii şi 8 coloane,
numerotate de la 0, având iniţial toate elementele egale cu -1.
Scrieţi secvenţa de instrucţiuni C/C++ de mai jos, înlocuind punctele de suspensie
cu instrucțiuni adecvate, dintre care cel mult trei de atribuire, astfel încât, în urma
executării secvenţei obţinute, variabila a să memoreze tabloul alăturat.
for(i=0;i<8;i++)
for(j=0;j<8;j++)
...................... (6p.)
2 2 0 0 2 2 7 7
2 2 0 0 2 2 7 7
2 2 0 0 2 2 7 7
2 2 0 0 2 2 7 7
2 2 0 0 2 2 7 7
2 2 0 0 2 2 7 7
2 2 0 0 2 2 7 7
2 2 0 0 2 2 7 7
SUBIECTUL al III-lea (30 de puncte)
1. Un grădinar are un teren dreptunghiular pe care îl împarte în parcele pătrate, toate de latură egală, număr
natural. Subprogramul parcele are doi parametri, x și y, prin care primește câte un număr natural din intervalul
[1,104], reprezentând lățimea, respectiv lungimea terenului, măsurate în metri. Subprogramul afișează pe
ecran, pentru fiecare variantă de împărțire a terenului, o pereche formată din numărul de parcele obținute și
latura unei astfel de parcele, în această ordine. Valorile din pereche sunt separate prin expresia cu latura,
iar fiecare pereche este urmată de simbolul punct și virgulă (;), ca în exemplu.
Scrieți definiția completă a subprogramului C/C++.
Exemplu: pentru x=18 și y=24, se afișează pe ecran, cu perechile nu neapărat în această ordine:
432 cu latura 1;108 cu latura 2;48 cu latura 3;12 cu latura 6; (10p.)
2. Într-un text de cel mult 200 de caractere, cuvintele sunt separate prin câte un spațiu și sunt formate din
litere mici ale alfabetului englez, cifre și simboluri din mulțimea parantezelor: (, ), [, ], {, }.
Scrieţi un program C/C++ care citeşte de la tastatură un text de tipul precizat și afișează pe ecran numărul
cuvintelor care conțin atât paranteze, cât și litere, în număr egal.
Exemplu: pentru textul a(b5) xyz [x1]y2 (x) {a6bc} 27 pq {ba}a) se afişează pe ecran 3 (10p.)
3. La un concurs, fiecare echipă are câte un indicativ, număr natural din intervalul [10,99]; indicativele sunt
acordate la rând, în ordinea înscrierii. Fiecare echipă are de rezolvat câte trei probleme și fiecare problemă este
evaluată cel mult o dată și notată cu un punctaj, număr natural din intervalul [0,99]. Rezultatul pentru fiecare
problemă trimisă spre evaluare este înregistrat sub forma unui număr natural, format prin concatenarea, în
această ordine, a numărului problemei (1, 2 sau 3), a punctajului obținut și a indicativului echipei. Problemele
pentru care nu se trimit rezolvări spre evaluare sunt notate implicit cu câte 0 puncte. Clasamentul se face în
funcție de punctajul total obținut, în ordine descrescătoare, la punctaj egal departajarea fiind în funcție de
numărul de probleme cu punctaj 99, iar în caz de egalitate în funcție de ordinea înscrierii.
Fișierul bac.txt conține cel mult 106 numere naturale din intervalul [103,105), reprezentând rezultatele
obținute la problemele evaluate. Numerele sunt separate prin câte un spațiu.
Se cere să se afișeze pe ecran indicativul primei echipe din clasament. Proiectați un algoritm eficient din
punctul de vedere al timpului de executare.
Exemplu: dacă fișierul are conținutul alăturat, pe ecran se afișează 12 (primele
cinci echipe din clasament sunt, în această ordine, 12, 15, 11, 10, 30, primele
trei obținând câte 259 de puncte, primele două cu câte o problemă de punctaj
99 și prima echipă fiind înscrisă înaintea celei de a doua).
19912 19910 28012
38012 29011 3010 19015
38011 37015 22030
29915 29910 18911
a.
b.
Descrieți în limbaj natural algoritmul proiectat, justificând eficiența acestuia. (2p.)
Scrieți programul C/C++ corespunzător algoritmului proiectat. (8p.)Baremul
Deschide PDF-ul originalBaremul · pagina 1
Ministerul Educației și Cercetării Centrul Național pentru Curriculum și Evaluare Probă scrisă la INFORMATICĂ Model 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 2027 Proba E. d) Informatică BAREM DE EVALUARE ȘI DE NOTARE (comun pentru limbajele C/C++ și Pascal) Model 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ţ (de exemplu tipuri întregi cu semn pentru memorarea numerelor naturale, dimensiune a tablourilor) este acceptată din punctul de vedere al corectitudinii programului, dacă acest lucru nu afectează funcționarea sa. SUBIECTUL I (20 de puncte) 1. Răspuns corect: A 4p. 2. Răspuns corect: D 4p. 3. Răspuns corect: C 4p. 4. Răspuns corect: D 4p. 5. Răspuns corect: B 4p. SUBIECTUL al II - lea (40 de puncte) 1. a. Răspuns corect: 2048 6p. b. Pentru răspuns corect (se acordă câte 3p. pentru fiecare dintre cele două numere conform cerinței: oricare două numere dintre 3, 4, 5). 6p. c. Pentru program corect -declarare a tuturor variabilelor, conform cerinței -citire a datelor, conform cerinței -afișare a datelor, conform cerinței -instrucțiune de decizie, cu expresie condițională și cuvinte cheie conform cerinței -instrucțiuni repetitive, cu expresii condiționale inițiale de repetare și cuvinte cheie conform cerinței (se acordă numai 2p. dacă doar una dintre instrucțiunile repetitive este conform cerinței) -atribuiri, conform cerinței -corectitudine globală a programului1) 10p. 1p. 1p. 1p. 2p. 3p. 1p. 1p. d. Pentru algoritm pseudocod corect -utilizare a unei structuri repetitive de tipul cerut, înlocuind-o pe cea indicată (se acordă punctajul chiar dacă algoritmul obținut nu este echivalent cu cel dat; se punctează orice formă de structură repetitivă explicită, conform cerinței) -aspecte specifice pentru secvența obținută prin înlocuire, conform cerinței (se acordă numai 2p. dacă doar unul dintre următoarele două aspecte specifice este conform cerinței: tratare a cazului x=0, expresie condițională finală de repetare/oprire) -algoritm complet, corectitudine globală a algoritmului1) 6p. 2p. 3p. 1p. 2. Pentru răspuns corect -drum, conform cerinței (se acordă numai 2p. dacă s-a precizat un drum, dar nu cu lungimea cerută) -circuit, conform cerinței (se acordă numai 2p. dacă s-a precizat un circuit, dar elementar) 6p. 3p. 3p.
Baremul · pagina 2
Ministerul Educației și Cercetării Centrul Național pentru Curriculum și Evaluare Probă scrisă la INFORMATICĂ Model 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. Răspuns corect -expresie de accesare a unui element al tabloului -valori ale elementelor tabloului atribuite conform cerinței (pentru algoritm care conduce la o rezolvare parțială, se acordă numai 2p. pentru următorul aspect conform cerinței: identificare a cel puțin unei relații între valoarea elementului și poziția acestuia în tablou) -secvență completă, corectitudine globală a secvenței1) 6p. 1p. 4p. 1p. SUBIECTUL al III - lea (30 de puncte) 1. Pentru subprogram corect -antet al subprogramului (pentru antet parțial corect, se acordă numai câte 1p. pentru fiecare dintre următoarele două aspecte conform cerinței: structură cu nume și tip rezultat, parametri de intrare) -determinare a valorilor cerute (pentru algoritm care conduce la o rezolvare parțială se acordă numai câte 1p. pentru fiecare dintre următoarele patru aspecte conform cerinței: identificare a unei laturi posibile/divizor al unui număr, identificare a unei laturi valide/divizor comun, identificare a numărului de parcele posibile pe lungimea sau lățimea terenului/divizor complementar, configurații suport analizate/divizori comuni suport) -afișare a datelor, conform cerinței (se acordă numai 1p. dacă au fost afișate valorile numerice determinate, dar nu în formatul cerut) -declarare a tuturor variabilelor locale, corectitudine globală a subprogramului1) 10p. 2p. 5p. 2p. 1p. 2. Pentru program corect -declarare a unei variabile care să permită memorarea unui șir de caractere, conform cerinței -citire a datelor, conform cerinței -determinare a numărului cerut (pentru algoritm care conduce la o rezolvare parțială se acordă numai câte 1p. pentru fiecare dintre următoarele patru aspecte specifice: algoritm de bază pentru numărarea unei serii de valori cu inițializarea și actualizarea rezultatului, identificare a unei litere/cel puțin unui tip de paranteze, litere/paranteze suport numărate într-un cuvânt, cuvinte suport numărate) -afișare a datelor, conform cerinței -declarare a variabilelor simple, corectitudine globală a programului1) 10p. 1p. 1p. 6p. 1p. 1p. 3. a. Pentru răspuns corect -descriere coerentă a algoritmului (se acordă punctajul chiar dacă algoritmul ales nu este eficient) -justificare a elementelor de eficiență, conform cerinței 2p. 1p. 1p. b. Pentru program corect -operații cu fișiere: declarare, pregătire în vederea citirii, citire din fișier conform cerinței -determinare a valorii cerute (se acordă punctajul chiar dacă algoritmul ales nu este eficient; pentru algoritm care conduce la o rezolvare parțială se acordă numai câte 1p. pentru fiecare dintre următoarele patru aspecte specifice: identificare a elementelor componente ale unui rezultat, algoritm de bază pentru suma unei serii de valori cu inițializarea și actualizarea rezultatului, algoritm de bază pentru numărarea unei serii de valori cu inițializarea și actualizarea rezultatului, algoritm de bază pentru determinarea maximului dintr-o serie de valori cu inițializarea și actualizarea rezultatului) -utilizare a unui algoritm eficient (se acordă punctajul numai pentru un algoritm liniar) De exemplu, o soluţie posibilă utilizează doi vectori de frecvență, p și nr, unde pi memorează punctajul total obținut de echipa i, iar nri memorează numărul de probleme pentru care echipa i a primit 99 de puncte. Pe măsura citirii datelor din fișier se completează corespunzător cei doi vectori: pentru fiecare valoare x citită, se determină indicativul echipei i=x%100, punctajul obținut pentru problema curentă pct=(x/100)%100 (dacă x/100>99) sau pct=(x/100)%10 (dacă x/100<100), apoi se actualizează punctajul total al echipei i (pißpi+pct), precum și, după caz, numărul de probleme de punctaj 99 (dacă pct=99, atunci nrißnri+1). După citirea tuturor datelor se parcurge vectorul p, de la stânga la dreapta, pentru determinarea echipei cerute (em), actualizându-se, după caz, echipa em (dacă pi>pem, respectiv dacă pi=pem și nri>nrem). -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.