Înapoi la fișa subiectului

Textul subiectului și baremului

Subiect BAC Informatică Științe ale Naturii C/C++ 2023 – sesiunea august–septembrie, 18 august 2023, varianta 7

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 original

Subiectul · pagina 1

Ministerul Educației
Centrul Național de Politici și Evaluare în Educație
Probă scrisă la informatică Varianta 7
Limbajul C/C++
Filieră teoretică, profil real, specializare științe ale naturii
Pagina 1 din 2
Examenul național de bacalaureat 2023
Proba E. d)
Informatică
Limbajul C/C++
Varianta 7
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. Indicați numerele pe care le pot memora variabilele întregi x și y, astfel
încât valoarea expresiei C/C++ alăturate să fie 1.
y%x–(x/y)*3!=0
a. x=25 și y=75 b. x=25 și y=15 c. x=15 și y=0 d. x=10 și y=30
2. Variabila x este de tip char. Indicați ce se afișează pe ecran
în urma executării secvenței alăturate.
x=’2’; x=x+3;
cout<<x; | printf(“%c”,x);
a. 5 b. 23 c. ’2’3 d. ”2+3”
3. Pentru a verifica dacă în tabloul unidimensional (6,7,11,15,16,25,30) există elementul cu valoarea
x=11, se aplică metoda căutării binare. Indicați succesiunea de elemente ale tabloului a căror valoare se
compară cu valoarea lui x pe parcursul aplicării metodei indicate.
a. 15, 16, 11 b. 15, 7, 11 c. 6, 11 d. 6, 7, 11
4. Indicați o expresie C/C++ care are valoarea 1 oricare ar fi numărul nenul memorat în variabila reală x.
a. ceil(x)*ceil(x)==x*x b. ceil(x)<=x
c. ceil(ceil(x))==ceil(x) d. ceil(x)==1/x
5. În secvența de instrucțiuni alăturată, toate variabilele sunt întregi și
memorează numere naturale. Indicați o instrucțiune care atribuie lui s aceeași
valoare ca cea obținută în urma executării secvenței alăturate, pentru orice
valori nenule ale variabilelor x și y (x<y).
s=0;
for(i=x;i<=y;i++)
s=s+i;
a. s=y*(y-1)/2-x*(x-1)/2; b. s=y*(y-1)/2-x*(x+1)/2;
c. s=y*(y+1)/2-x*(x+1)/2; d. s=y*(y+1)/2-x*(x-1)/2;
SUBIECTUL al II-lea (40 de puncte)
1. Algoritmul alăturat este reprezentat în pseudocod.
S-a notat cu [c] partea întreagă a numărului real c.
citește n (număr natural nenul)
x0
┌cât timp n>0 execută
│ citește a,b (numere naturale)
│ ca; p1
│┌cât timp a>9 execută
││ a[a/10]; pp*10
│└■
│ aa*p+b
│┌dacă a≠c atunci
││ xx+1
│└■
│ nn-1
└■
scrie x
a. Scrieți valoarea afișată dacă se citesc, în această ordine,
numerele 3, 746, 82, 3067, 67, 78, 178. (6p.)
b. Dacă pentru n se citește numărul 2, scrieți un șir de numere
naturale din intervalul [0,9] care pot fi citite în continuare, în
acea ordine, astfel încât, în urma executării algoritmului, să se
afișeze valoarea 0. (6p.)
c. Scrieți programul C/C++ corespunzător algoritmului dat. (10p.)
d. Scrieți în pseudocod un algoritm, echivalent cu cel dat,
înlocuind prima structură cât timp...execută cu o
structură repetitivă de tip pentru...execută. (6p.)
2. Scrieți elementele unui tablou unidimensional B, în ordinea în care ele pot apărea în acesta, astfel încât,
prin metoda interclasării tablourilor A=(4,21,49,57) și B, fără alte prelucrări prealabile, să se obțină
tabloul (65,57,49,21,21,10,4). (6p.)

Subiectul · pagina 2

Ministerul Educației
Centrul Național de Politici și Evaluare în Educație
Probă scrisă la informatică Varianta 7
Limbajul C/C++
Filieră teoretică, profil real, specializare științe ale naturii
Pagina 2 din 2
3. Variabila reală p memorează prețul unui produs. Declarați variabila p și scrieți o secvență de instrucțiuni
C/C++ prin care se afișează pe ecran mesajul ieftin, dacă prețul produsului este strict mai mic decât
100, mesajul moderat dacă prețul produsului aparține intervalului [100,500] sau mesajul scump, în
caz contrar. (6p.)
SUBIECTUL al III-lea (30 de puncte)
1. Se citește un număr natural nenul, n, și se cere să se scrie, separați prin câte un spațiu, toți divizorii
pozitivi impari ai lui n care NU sunt primi. Scrieţi, în pseudocod, algoritmul de rezolvare a problemei
enunțate.
Exemplu: dacă n=90, se scriu, nu neapărat în această ordine, numerele 1 9 15 45. (10p.)
2. Un joc folosește o tablă pe care este reprezentat un șir de n celule de dimensiune egală, dispuse una
lângă alta. În fiecare celulă este înscris un număr natural.
Numim pereche de valoare p două celule ale tablei, situate pe poziții consecutive, cu proprietatea că
suma valorilor înscrise în aceste celule este egală cu p. Scopul jocului este determinarea unei perechi
de valoare maximă.
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 naturale din intervalul [0,104], reprezentând numerele
înscrise pe tabla de joc, în ordinea dispunerii celulelor corespunzătoare. Programul determină o pereche
de valoare maximă pentru tabla dată și afișează pe ecran această valoare.
Exemplu: pentru n=8 și tabla 1 12 11 1 14 4 2 16
se afișează valoarea 23, corespunzătoare perechii evidențiate. (10p.)
3. Fișierul date.in conține pe prima linie două numere naturale din intervalul [1,103], m și n, iar pe
următoarele două linii numere naturale din intervalul [0,103): pe a doua linie un șir A, de m numere
distincte, iar pe a treia linie un șir B, de n numere distincte. Numerele aflate pe aceeași linie sunt
separate prin câte un spațiu.
Se cere să se afișeze pe ecran numărul de perechi de forma (pa,pb) (pa∈[1,m], pb∈[1,n]), cu
proprietatea că termenul de pe poziția pa din șirul A are aceeași valoare cu termenul de pe poziția pb
din șirul B și că fiecare poziție, corespunzătoare șirului A, respectiv șirului B, apare în cel mult o
pereche, ca în exemplu. Proiectați un algoritm eficient din punctul de vedere al timpului de executare.
Exemplu: dacă fișierul conține numerele alăturate, se afișează pe ecran 5
(pentru perechile (1,1), (2,8), (4,2), (5,5), (6,7)).
7 8
1 0 4 2 5 3 8
1 2 6 9 5 7 3 0
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.)

Baremul

Deschide PDF-ul original

Baremul · pagina 1

Ministerul Educaţiei
Centrul Naţional de Politici şi Evaluare în Educaţie
Probă scrisă la informatică Varianta 7
Filieră teoretică, profil real, specializare științe ale naturii
Barem de evaluare și de notare
Pagina 1 din 2
Examenul național de bacalaureat 2023
Proba E. d)
Informatică
BAREM DE EVALUARE ȘI DE NOTARE
(comun pentru limbajele C/C++ şi Pascal)
Varianta 7
Filieră teoretică, profil real, specializare științe ale naturii
• 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)
1b 2a 3b 4c 5d 5x4p.
SUBIECTUL al II - lea (40 de puncte)
1. a. Răspuns corect: 2 6p.
b. Pentru răspuns corect 6p. Se acordă numai 2p. dacă s-au precizat patru numere, dar
acestea nu conduc la scrierea valorii cerute, și numai 4p.
dacă s-au precizat patru numere care conduc la scrierea
valorii cerute, dar nu toate aparțin intervalului indicat.
O soluție corectă este un șir de forma x, 0, y, 0, unde x și
y sunt numere din intervalul indicat.
c. Pentru program corect
- variabile declarate, conform cerinței
- date citite, conform cerinței
- date afișate, conform cerinței
- instrucţiuni repetitive, conform cerinței
(*)
- instrucțiune de decizie, conform cerinței
- atribuiri, conform cerinței
- corectitudine globală a programului1)
10p.
1p.
1p.
1p.
3p.
2p.
1p.
1p.
(*) Se acordă numai 2p. dacă doar una dintre instrucțiunile
repetitive este conform cerinței.
d. Pentru algoritm pseudocod corect
- structură repetitivă de tipul cerut (*)
- aspecte specifice ale secvenței obținute
prin înlocuire, conform cerinței (**)
- algoritm complet, corectitudine globală a
algoritmului1)
6p.
2p.
3p.
1p.
(*) Se acordă punctajul chiar dacă algoritmul obținut nu
este echivalent cu cel dat.
Se va puncta orice formă de structură repetitivă
conform cerinței (pentru...execută, for...do etc.).
(**) Se acordă câte 1p. pentru fiecare aspect specific
(expresie inițială a contorului, expresie finală a
contorului, doar actualizare automată a contorului)
conform cerinței.
2. Răspuns corect: 65,21,10 6p. Se acordă câte 3p. pentru fiecare aspect specific
(elemente suport, valori ordonate) conform cerinței.
Observație: se consideră corectă atât enumerarea
elementelor în ordine crescătoare, cât și în ordine
descrescătoare.
3. Pentru rezolvare corectă
- variabilă declarată conform cerinței
- date afișate conform cerinței (*)
- corectitudine globală a secvenței1)
6p.
1p.
4p.
1p.
(*) Se acordă câte 1p. pentru fiecare aspect specific
(corelare mesaje preț, tratare caz – ieftin, tratare caz -
moderat, tratare caz - scump) conform cerinței.
SUBIECTUL al III - lea (30 de puncte)
1. Pentru algoritm corect
- date citite, conform cerinței
- valori determinate, conform cerinței (*)
- date scrise, conform cerinței
- structuri de control scrise principial
corect, corectitudine globală a
algoritmului1) (**)
10p.
1p.
6p.
1p.
2p.
(*) Se acordă câte 2p. pentru fiecare aspect
(determinare a unui divizor, identificare a unui număr
prim/care nu este prim, divizori suport determinați)
conform cerinței.
(**) Se va puncta orice formă explicită de structură
repetitivă sau decizională.

Baremul · pagina 2

Ministerul Educaţiei
Centrul Naţional de Politici şi Evaluare în Educaţie
Probă scrisă la informatică Varianta 7
Filieră teoretică, profil real, specializare științe ale naturii
Barem de evaluare și de notare
Pagina 2 din 2
2. Pentru program corect
- variabilă de tip tablou unidimensional,
declarată conform cerinței
- date citite conform cerinței
- valoare determinată conform cerinței (*)
- date afişate, conform cerinței
- variabile simple declarate conform
cerinței, corectitudine globală a
programului1)
10p.
1p.
1p.
6p.
1p.
1p.
(*) Se acordă câte 1p. pentru fiecare aspect
(identificare a unei perechi situate în interiorul tabloului,
identificare a unei perechi situate la începutul tabloului,
identificare a unei perechi situate la finalul tabloului,
determinare a valorii unei perechi, algoritm principial
corect de determinare a unei valori maxime, perechi
suport verificate pentru determinarea valorii maxime)
conform cerinței.
3. a. Pentru răspuns corect
- descriere coerentă a algoritmului,
conform cerinței (*)
- elemente de eficienţă justificate,
conform cerinței
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.
O soluție posibilă utilizează un vector de frecvență, a,
unde ai este 1 dacă valoarea i apare într-un singur șir,
este 2 dacă valoarea i apare în ambele șiruri sau este
0 altfel; vectorul este completat pe măsura citirii datelor
din fișier, iar numărul afișat se obține ulterior, prin
numărarea pozițiilor i pentru care ai= 2.
b. Pentru program corect
- operaţii cu fişiere: declarare, pregătire în
vederea citirii, citire din fişier
- valoare determinată, conform cerinței
(*),(**)
- eficiență a algoritmului, conform cerinței
(***)
- variabile declarate, afișare a datelor
conform cerinței, corectitudine globală a
programului1)
8p.
1p.
5p.
1p.
1p.
1) Corectitudinea globală vizează structura, sintaxa, alte aspecte neprecizate în barem.