Înapoi la fișa subiectului

Textul subiectului și baremului

Subiect BAC Informatică Științe ale Naturii C/C++ 2024 – sesiunea specială, 23 mai 2024, varianta 4

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 4
Limbajul C/C++
Filieră teoretică, profil real, specializare științe ale naturii
Pagina 1 din 2
Examenul național de bacalaureat 2024
Proba E. d)
INFORMATICĂ
Limbajul C/C++
Varianta 4
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 de tip real. Indicați o expresie C/C++ echivalentă
cu cea alăturată.
!(x>25 || y<6)
a. x<=25 && y>=6 b. x<=25 || y>=6
c. x<=25 && y<6 d. x<=25 || y<6
2. Tablourile unidimensionale A și B au elementele: A=(21,17,15,10,4) și B=(49,25,10,7,1). Indicați
tabloul obținut în urma interclasării lui A și B în ordine descrescătoare.
a. (49,25,15,10,4) b. (49,21,25,17,15,10,10,7,4,1)
c. (49,21,25,17,10,15,7,10,1,4) d. (49,25,21,17,15,10,10,7,4,1)
3. Indicați o expresie C/C++ care are valoarea 1.
a. ceil(0.2024+1)>ceil(0.2024)+1 b. ceil(0.2024)*ceil(0.2024)>1
c. 20.24==ceil(-20.24) d. 20.24+1<ceil(20.24)+1
4. În secvența alăturată toate variabilele sunt de tip întreg și memorează
valori din intervalul [2,109]. Indicați valoarea memorată în variabila z în
urma executării secvenței, pentru orice valoare nenulă a variabilelor x și y.
for(d=1;d<=x;d++)
if(x%d==0 && y%d==0)
z=d;
a. cel mai mic divizor comun lui x și y b. cel mai mare divizor comun lui x și y
c. cel mai mic divizor prim comun lui x și y d. cel mai mare divizor prim comun lui x și y
5. În secvența alăturată toate variabilele sunt de tip întreg.
Știind că se citesc de la tastatură 10 numere din intervalul
[0,105], indicați expresia care poate înlocui punctele de
suspensie astfel încât, în urma executării secvenței obținute,
valoarea variabilei s să fie egală cu ultima cifră a sumei
numerelor citite.
s=0;
for(i=1;i<=10;i++)
{ cin>>x; | scanf("%d",&x);
s=..........;
}
a. s+x%10 b. x%10 c. (s+x)%10 d. s%10+x%10
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 n
(număr natural, n≥2)
i1
┌cât timp i≤n execută
│ mi
│┌cât timp m%2=0 execută
││ m[m/2]
│└■
│┌dacă m≠i atunci
││ scrie m,’ ’
│└■
│ ii+1
└■
a. Scrieţi ce se afișează dacă se citeşte numărul 10. (6p.)
b. Scrieţi două valori distincte care pot fi citite astfel încât, în urma
executării algoritmului, pentru fiecare dintre acestea, numărul de valori
egale cu 1 afișate să fie 4. (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ă repetitivă cât timp...execută cu o
structură de tip pentru...execută. (6p.)
2. Pentru a verifica dacă în tabloul unidimensional (48,24,16,14,9,8,4) există elementul cu valoarea x
se aplică metoda căutării binare. Știind că valoarea x a fost comparată cu trei elemente ale tabloului pe
parcursul aplicării metodei, scrieți două valori posibile ale lui x. (6p.)

Subiectul · pagina 2

Ministerul Educației
Centrul Național de Politici și Evaluare în Educație
Probă scrisă la INFORMATICĂ Varianta 4
Limbajul C/C++
Filieră teoretică, profil real, specializare științe ale naturii
Pagina 2 din 2
3. Pentru un telefon achiziționat în anul curent se memorează următoarele date: o literă corespunzătoare
tipului sistemului de operare (litera A pentru Android sau litera W pentru Windows), precum și luna
achiziționării (număr natural din intervalul [1,5]). Variabilele tip1 și luna1 memorează litera
corespunzătoare tipului sistemului de operare, respectiv luna achiziționării unui telefon, iar variabilele
tip2 și luna2 memorează litera corespunzătoare tipului sistemului de operare, respectiv luna
achiziționării unui alt telefon.
Declarați variabilele tip1 și tip2 și scrieți o secvență C/C++ în urma executării căreia să se afișeze pe
ecran mesajul Aceeasi luna, în cazul în care telefoanele sunt achiziționate în aceeași lună, sau tipul
sistemului de operare al ultimului telefon achiziționat, în caz contrar.
Exemplu: dacă tip1 memorează litera A, tip2 memorează litera W, luna1=4 și luna2=1, se afișează
pe ecran cuvântul Android (6p.)
SUBIECTUL al III-lea (30 de puncte)
1. La un laborator sunt studiate aglomerările de fulgi de nea formate din câte nouă cristale de patru tipuri diferite
date (notate cu 1, 2, 3 sau 4), astfel încât din fiecare tip să existe cel puțin câte un cristal. O astfel de
aglomerare de fulgi a fost reprezentată printr-un număr natural, în care fiecare cifră reprezintă tipul unui cristal.
Se citește un număr natural, n (n∈[0,109)), și se cere să se scrie valoarea 1, dacă prin n este
reprezentată o aglomerare de fulgi de nea dintre cele studiate, sau 0 în caz contrar. Scrieți în pseudocod
algoritmul corespunzător.
Exemplu: dacă n=112243413 se scrie 1, iar dacă n=12314 sau n=112253513 sau n=112243457 sau
n=111122223, se scrie 0. (10p.)
2. Fiind date două numere naturale a și b, numim valoare generată de a și b un număr obținut din a prin
alipirea la stânga sau la dreapta sa a cifrelor lui b, în ordinea în care apar în acesta.
Exemplu: dacă a=123 și b=45, se pot obține două numere generate de acestea: 12345 și 45123.
Scrieţi un program C/C++ care citeşte de la tastatură două numere naturale din intervalul [2,50], n, și k,
şi construiește în memorie un tablou unidimensional cu n elemente, numerotate de la 1 la n, în care
oricare al i-lea element (i∈[1,n]) este egal cu cea mai mică valoare generată de i și de câtul împărțirii
lui k la i. Programul afişează pe ecran elementele tabloului obţinut, separate prin câte un spaţiu.
Exemplu: pentru n=7 și k=4, se obține tabloul (14,22,13,14,5,6,7)
pentru n=7 și k=10, se obține tabloul (101,25,33,24,25,16,17). (10p.)
3. Fişierul numere.in conţine un şir de cel mult 106 numere naturale din intervalul [0,99]. Numerele din
fişier sunt separate prin câte un spaţiu.
Se cere să se determine primul număr din şir care conţine cea mai mare cifră ce apare în scrierea
numerelor din fișier. Numărul determinat se afişează pe ecran. Proiectați un algoritm eficient din punctul
de vedere al timpului de executare și al spațiului de memorie utilizat.
Exemplu: dacă fişierul conţine numerele 2 12 34 5 38 30 87 70 11 8 82 25
se afişează pe ecran valoarea 38.
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 4
Filieră teoretică, profil real, specializare științe ale naturii
Barem de evaluare și de notare
Pagina 1 din 2
Examenul național de bacalaureat 2024
Proba E. d)
INFORMATICĂ
BAREM DE EVALUARE ȘI DE NOTARE
(comun pentru limbajele C/C++ și Pascal)
Varianta 4
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)
1a 2d 3d 4b 5c 5x4p.
SUBIECTUL al II - lea (40 de puncte)
1. a. Răspuns corect: 1 1 3 1 5 6p. Se acordă numai 1p. dacă doar un număr este
conform cerinței pe poziția corespunzătoare, numai
2p. dacă doar două numere sunt conform cerinței pe
poziția corespunzătoare, numai 3p. dacă doar trei
numere sunt conform cerinței pe poziția
corespunzătoare, numai 4p. dacă doar patru numere
sunt conform cerinței pe poziția corespunzătoare și
numai 5p. dacă în continuarea numerelor cerute, se
precizează și alte numere.
b. Pentru răspuns corect 6p. Se acordă câte 3p. pentru fiecare dintre cele două valori
conform cerinţei (numere din intervalul [16,31]).
c. Pentru program corect
-declarare a variabilelor
-citire a datelor
-afișare a datelor
-instrucțiune de decizie
-instrucțiuni repetitive (*)
-atribuiri
-corectitudine globală a programului1)
10p.
1p.
1p.
1p.
2p.
3p.
1p.
1p.
(*) Se acordă numai 2p. dacă doar una dintre
instrucțiunile repetitive este conform cerinței.
d. Pentru algoritm pseudocod corect
-utilizare a unei structuri repetitive de
tipul indicat (*)
-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 pentru orice formă de structură
repetitivă de tipul cerut (pentru ... execută, for ... do
etc.).
(**) Se acordă câte 1p. pentru fiecare aspect specific
(expresie de inițializare a contorului, expresie pentru
valoarea finală a contorului, doar actualizare implicită
a contorului) conform cerinței.
2. Pentru rezolvare corectă 6p. Se acordă câte 3p. pentru fiecare număr conform cerinței
(oricare dintre 4, 9, 16, 48 sau orice altă valoare care nu
apare în tablou).
3. Pentru rezolvare corectă
-declarare a variabilelor, conform cerinței
-afișare a datelor (*)
-corectitudine globală a secvenței1)
6p.
1p.
4p.
1p.
(*) Se acordă câte 1p. pentru fiecare aspect specific
(tratare caz luni egale, identificare a ultimei luni în care
s-a achiziționat telefon, identificare a tipului sistemului
de operare utilizând constante de tip caracter, corelare
caz tratat-mesaj afișat) conform cerinței.

Baremul · pagina 2

Ministerul Educației
Centrul Național de Politici și Evaluare în Educație
Probă scrisă la INFORMATICĂ Varianta 4
Filieră teoretică, profil real, specializare științe ale naturii
Barem de evaluare și de notare
Pagina 2 din 2
SUBIECTUL al III - lea (30 de puncte)
1. Pentru algoritm corect
-citire a datelor
-verificare a proprietății cerute (*)
-scriere a datelor
-scriere principial corectă a structurilor de
control, corectitudine globală a
algoritmului1) (**)
10p.
1p.
6p.
1p.
2p.
(*) Se acordă câte 1p. pentru fiecare aspect specific
(algoritm de bază pentru parcurgerea cifrelor unui
număr, algoritm de bază pentru verificarea unei
proprietăți/numărare pentru o serie de valori, număr
care conține toate cele patru cifre indicate, număr care
nu conține alte cifre decât cele indicate, număr de 9
cifre, cifre suport verificate) conform cerinței.
(**) Se va puncta orice formă principial corectă de
structură repetitivă sau decizională.
2. Pentru program corect
-declarare a unei variabile care să
permită memorarea unui tablou
unidimensional, conform cerinței
-citire a datelor
-construire a tabloului cerut (*)
-afișare a datelor în formatul cerut
-declarare a variabilelor simple,
corectitudine globală a programului1)
10p.
1p.
1p.
6p.
1p.
1p.
(*) Se acordă câte 1p. pentru fiecare aspect specific
(acces la un element al tabloului, construire a unui
număr generat prin alipirea unui număr de o cifră la o
altă valoare, construire a unui număr generat prin
alipirea unui număr de două cifre la o altă valoare,
număr minim generat, elemente suport, construire în
memorie) 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 (de complexitate O(n)), care utilizează eficient
memoria.
O soluţie posibilă citește datele din fișier și, pe măsura
parcurgerii lor determină cifra maximă întâlnită
(cifMax), și primul număr dintre cele citite care conțin
această cifră (p). Pentru fiecare număr citit x se
determină cifra maximă, cm (maximul dintre x%10 și
[x/10]) și, dacă cm>cifMax se actualizează cifMax și p
(cifMaxcm, px). După parcurgerea tuturor
numerelor, se afișează p.
b. Pentru program corect
- operaţii cu fişiere: declarare, pregătire
în vederea citirii, citire din fişier
- determinare a valorii, conform cerinței
(*),(**)
- utilizare a unui algoritm eficient,
conform cerinței (***)
- declarare a variabilelor, 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.