Înapoi la fișa subiectului

Textul subiectului și baremului

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

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 5
Limbajul C/C++
Filieră teoretică, profil real, specializare științe ale naturii
Pagina 1 din 2
Examenul naţional de bacalaureat 2022
Proba E. d)
Informatică
Limbajul C/C++
Varianta 5
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. Variabila x este de tip întreg. Indicați o expresie care are valoarea 1 dacă și
numai dacă expresia C/C++ alăturată are valoarea 1.
x>=3 && x<10
a. !(x<3 && x>=10) b. !(x<3 || x>=10)
c. x<3 && !(x>=10) d. !(x<3) || x>=10
2. Tablourile unidimensionale A și B au valorile A=(7,8,16,17,22) și B=(2,4,15,20,49) și sunt
interclasate în ordine crescătoare, fiind parcurse de la stânga la dreapta. Indicați toate valorile
elementelor tabloului A care se compară cu elementul cu valoarea 15 din tabloul B pe parcursul aplicării
metodei.
a. 16 b. 7,8 c. 8,16 d. 7,8,16
3. Pentru a verifica dacă în tabloul unidimensional (7,9,11,14,16,18,20) există elementul cu
valoarea x=15, 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. 7, 9, 11, 14, 16 b. 14, 16 c. 14, 18, 16 d. 20, 18, 16, 14
4. Variabila x este de tip întreg și poate memora un număr natural din intervalul
[40,49]. Indicați valoarea cea mai mică pe care o poate avea expresia C/C++
alăturată.
abs(x%10-x/10)
a. 0 b. 1 c. 2 d. 3
5. Variabila x este de tip întreg și poate memora un număr natural nenul. Indicați
valoarea maximă pe care o poate avea x, astfel încât expresia C/C++
alăturată să aibă valoarea 1.
(x/3)*x==x
a. 3 b. 4 c. 5 d. 6
SUBIECTUL al II-lea (40 de puncte)
1. Algoritmul alăturat este reprezentat în pseudocod. citeşte m,n
(numere naturale nenule, m<n)
x1
┌cât timp x=1 execută
│ xm; yn; nn-1
│┌cât timp x≠y execută
││┌dacă x>y atunci xx-y
│││altfel yy-x
││└■
│└■
└■
scrie n+1
a. Scrieţi ce se afișează în urma executării algoritmului dacă se citesc,
în această ordine, valorile 21 și 47. (6p.)
b. Dacă pentru variabila m se citeşte numărul 5, scrieţi două valori care pot
fi citite pentru variabila n astfel încât, în urma executării algoritmului,
pentru fiecare dintre acestea, valoarea afişată să fie 10. (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.)

Subiectul · pagina 2

Ministerul Educației
Centrul Național de Politici și Evaluare în Educație
Probă scrisă la informatică Varianta 5
Limbajul C/C++
Filieră teoretică, profil real, specializare științe ale naturii
Pagina 2 din 2
2. În secvența alăturată variabila i este de tip întreg,
iar variabila c este de tip char. Scrieți
succesiunea de litere care se afișează în urma
executării secvenței. (6p.)
for(i=0;i<5;i++)
{ if(i==0 || i==3) c='i';
else c='s';
if(i>1) c=c+1-5*(i%2);
cout<<c; | printf("%c",c);
}
3. Variabila temperatura este de tip întreg și memorează temperatura medie a aerului, măsurată în
grade Celsius, înregistrată în București într-un an calendaristic. Scrieţi o secvență de instrucțiuni în
urma executării căreia să se afișeze pe ecran mesajul CALDUROS dacă temperatura menționată a fost
strict mai mare decât 11oC, mesajul RACOROS dacă temperatura menționată a fost strict mai mică decât
10oC, sau mesajul NORMAL în orice alt caz. (6p.)
SUBIECTUL al III-lea (30 de puncte)
1. Se citesc trei numere naturale n, x și p (0≤n, 1≤x≤9 și 0≤p), unde p reprezintă poziția unei cifre a
numărului n. Pozițiile cifrelor sunt numerotate de la dreapta la stânga, astfel: cifra unităților este pe
poziția 0, cifra zecilor este pe poziția 1 ș.a.m.d.
Se cere să se transforme numărul n, înlocuind cifra de pe poziția p cu cifra x, și să se afișeze apoi
numărul obținut.
Scrieți, în pseudocod, algoritmul de rezolvare pentru problema enunțată.
Exemplu: dacă n=12587, x=6 și p=3, numărul obținut este n=16587. (10p.)
2. Un număr natural a, divizibil cu 10, se numeşte 10-prieten al unui număr natural b dacă a<b, iar în
intervalul (a,b] nu există niciun număr divizibil cu 10.
Exemplu: 20 este 10-prieten al numerelor 21, 22 și 29, dar nu este 10-prieten al numerelor 31 și 9.
Un elev vrea să transmită unui prieten un șir de numere naturale, codificate. Cel puțin unul dintre
numere NU este divizibil cu 10. Codificarea se face prin înlocuirea fiecărui număr care nu este divizibil
cu 10 cu 10-prietenul său, ca în exemplu.
Scrieţi un program C/C++ care citeşte de la tastatură un număr natural, n (n∈[2,102]), și cele n
elemente ale unui tablou unidimensional, numere naturale din intervalul [0,99], reprezentând șirul de
tipul precizat şi determină, în memorie, forma codificată a acestuia. Programul afișează pe ecran
elementele șirului codificat obținut, separate prin câte un spațiu.
Exemplu: dacă n=7, iar șirul care corespunde tabloului este (21, 70, 16, 7, 9, 50, 19) se obține șirul
codificat prin tabloul (20, 70, 10, 0, 0, 50, 10). (10p.)
3. Numim secvență paritară a unui șir de numere naturale un subșir al acestuia, format din termeni cu
aceeași paritate, aflați pe poziții consecutive în șirul dat. Lungimea secvenței este egală cu numărul de
termeni ai acesteia.
Fișierul bac.txt conține un șir de cel puțin două și cel mult 106 numere naturale din intervalul [0, 109].
Numerele sunt separate prin câte un spațiu, iar în șir există cel puțin doi termeni cu aceeași paritate pe
poziții consecutive.
Se cere să se determine și să se afișeze pe ecran lungimea maximă a unei secvențe paritare în șirul aflat în
fișier. Proiectați un algoritm eficient din punctul de vedere al timpului de executare și al memoriei utilizate.
Exemplu: dacă fișierul conține numerele
2 3 5 1 7 9 8 4 4 11 15 17 21 11 6 11 15 17 21 11 6 5 2 6 4 0 16
atunci pe ecran se afișează valoarea 5
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 5
Filieră teoretică, profil real, specializare științe ale naturii
Barem de evaluare și de notare
Pagina 1 din 2
Examenul naţional de bacalaureat 2022
Proba E. d)
Informatică
BAREM DE EVALUARE ȘI DE NOTARE
(comun pentru limbajele C/C++ și Pascal)
Varianta 5
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 2d 3c 4a 5c 5x4p.
SUBIECTUL al II - lea (40 de puncte)
1. a) Răspuns corect: 45 6p.
b) Pentru răspuns corect 6p. Se acordă câte 3p. pentru fiecare dintre cele două
numere conform cerinței (orice număr natural din
intervalul [10,14]).
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 cu test
final (*)
-expresie logică pentru test final în
secvența obținută 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 (repetă...până când, do...while,
repetă...cât timp, execută...cât timp etc.).
2. Răspuns corect: istet 6p. Se acordă numai 2p. pentru o singură literă
poziționată conform cerinței, numai 3p. pentru doar
două litere poziționate conform cerinței, numai 4p.
pentru doar trei litere poziționate conform cerinței,
numai 5p. pentru doar patru litere poziționate conform
cerinței.
3. Pentru rezolvare corectă
-tratare a tuturor cazurilor, conform
cerinței (*)
-corectitudinea globală a secvenţei1)
6p.
5p.
1p.
(*) Se acordă numai 2p. dacă a fost tratat conform
cerinței un singur caz, numai 4p. dacă au fost tratate
conform cerinței numai două cazuri.
SUBIECTUL al III - lea (30 de puncte)
1. Pentru algoritm corect
-citire a datelor
-determinare a valorii cerute (*)
-afișare a datelor
-scriere principial corectă a structurilor de
control (**)
10p.
1p.
6p.
1p.
2p.
(*) Se acordă câte 2p. pentru fiecare aspect (acces la
o cifră a unui număr, ordine a cifrelor numărului
obținut, cifre suport înlocuite/păstrate - inclusiv a
cifrelor nule de la finalul numărului) conform cerinței.
(**) Se va puncta orice formă corectă 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 5
Filieră teoretică, profil real, specializare științe ale naturii
Barem de evaluare și de notare
Pagina 2 din 2
2. Pentru program corect
-declarare a unei variabile care să
memoreze un tablou unidimensional
-citire a datelor
-determinare a tabloului conform formei
codificate (*)
-afișare a datelor
-declarare a variabilelor de tip simplu,
corectitudine globală a programului1)
10p.
1p.
1p.
6p.
1p.
1p.
(*) Se acordă câte 1p. pentru fiecare aspect specific
(acces la un element al unui tablou, identificare a unui
număr divizibil/care nu este divizibil cu 10, algoritm de
bază pentru determinarea primei valori cu o anumită
proprietate dintr-o serie/a unui număr 10-prieten,
înlocuire a unui element într-un tablou, elemente
suport înlocuite/păstrate, transformare în memorie)
conform cerinței.
3. a) Pentru răspuns corect
-coerență a descrierii algoritmului (*)
-justificare a elementelor de eficiență
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
care utilizează eficient memoria.
O soluţie posibilă parcurge datele din fișier și
memorează în variabilele x și y ultimii doi termeni citiți;
dacă x%2≠y%2, inițializează lungimea secvenței
curente, iar dacă x%2=y%2, incrementează lungimea
secvenței curente și actualizează, după caz, lungimea
maximă.
b) Pentru program corect
-operații cu fișiere: declarare, pregătire în
vederea citirii, citire din fișier
-determinare a valorii cerute (*),(**)
-utilizare a unui algoritm eficient (***)
-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.