Înapoi la fișa subiectului

Textul subiectului și baremului

Test de antrenament BAC Informatică Științe ale Naturii C/C++ 2021 – testul 6

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Ă Testul 6
Limbajul C/C++
Filieră teoretică, profil real, specializare științe ale naturii
Pagina 1 din 2
Examenul național de bacalaureat 2021
Proba E. d)
INFORMATICĂ
Limbajul C/C++
Testul 6
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 întreg. Indicați o expresie C/C++ echivalentă cu
expresia alăturată.
!(x<3 && y>5)
a. x>=3 && y<=5 b. !(x<3) && y>5
c. x<3 || y>5 d. x>=3 || !(y>5)
2. Pentru a verifica dacă în tabloul unidimensional (24,19,10,9,8,4,2) 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, indicați două valori posibile ale lui x.
a. 35 și 9 b. 24 și 8 c. 19 și 1 d. 10 și 4
3. Se consideră două tablouri unidimensionale A și B: A=(5,7,15,25,33), iar B=(3,9,21,43,51). În
urma interclasării lor în ordine crescătoare se obține tabloul cu elementele:
a. (3,9,21,43,51,5,7,15,25,33) b. (3,5,7,9,15,21,25,33,43,51)
c. (3,5,7,9,15,21,25,43,33,51) d. (3,7,15,25,33)
4. Indicați o expresie C/C++ care are valoarea 1.
a. floor(15)+1==ceil(15) b. floor(15.16)==ceil(15.61)
c. floor(16.16)==ceil(15.61) d. floor(15.16)==ceil(16.61)
5. Variabilele x, y, z și w memorează câte un număr real, astfel
încât expresia C/C++ alăturată are valoarea 1. Indicați variabila
care are ca valoare cel mai mare dintre numerele menționate.
y+1<w+1 && z<x && w-1<z-1
a. x b. y c. z d. w
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, x≤y)
k0; ix
┌cât timp iy execută
│ ni; c0
│┌cât timp n>0 și c=0 execută
││┌dacă n%2=1 atunci c1
││└■
││ n[n/10]
│└■
│ kk+c
│ ii+1
└■
scrie k
a. Scrieți valoarea afișată în urma executării algoritmului dacă se
citesc, în această ordine, numerele 404 și 413. (6p.)
b. Dacă pentru x se citește valoarea 58, scrieți două numere care
pot fi citite pentru y astfel încât, pentru fiecare dintre acestea, în
urma executării algoritmului să se afișeze valoarea 3. (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ă cu o structură de
tip pentru...execută. (6p.)

Subiectul · pagina 2

Ministerul Educaţiei
Centrul Național de Politici și Evaluare în Educație
Probă scrisă la INFORMATICĂ Testul 6
Limbajul C/C++
Filieră teoretică, profil real, specializare științe ale naturii
Pagina 2 din 2
2. Pentru un cerc se memorează coordonatele reale (abscisa și ordonata) ale centrului cercului, în
sistemul de coordonate xOy. Variabilele c1x și c1y memorează abscisa, respectiv ordonata centrului
unui cerc, iar variabilele c2x și c2y memorează abscisa, respectiv ordonata centrului unui alt cerc.
Declarați corespunzător cele patru variabile și scrieți o secvență de instrucțiuni în urma executării căreia
să se afișeze pe ecran, separate printr-un spațiu, coordonatele centrului cercului care are centrul pe axa
absciselor. Dacă ambele cercuri au centrul pe această axă, se afișează mesajul ambele, iar dacă
niciunul dintre cercuri nu are centrul pe această axă se afișează mesajul niciunul. (6p.)
3. Variabila a este de tip char, iar variabilele i și k sunt de tip întreg; de la tastatură se citesc 16 litere
mari ale alfabetului englez. Fără a utiliza alte variabile, scrieți secvența înlocuind punctele de suspensie
astfel încât, în urma executării secvenței obținute, variabila k să memoreze numărul de litere mari citite,
cu excepția celor din mulțimea {A, C, E, I}.
Exemplu: dacă se citesc literele de mai jos, variabila k
memorează valoarea 8.
P, R, A, S, L, E, A, C, E, L, V, O, I, N, I, C
(6p.)
k=...........
for(i=1;i<=16;i++)
{ cin>>a; | scanf("%c",&a);
.................
}
SUBIECTUL al III-lea (30 de puncte)
1. Se citesc două numere naturale, n și c (c9), și se cere să se scrie numărul obținut din n, prin eliminarea
din acesta a tuturor cifrelor egale cu c, sau -1 dacă toate cifrele lui n sunt egale cu c. Cifrele nule
nesemnificative sunt ignorate, ca în exemplu.
Scrieți, în pseudocod, algoritmul de rezolvare a problemei enunțate.
Exemplu: dacă n=50752 sau n=72 și c=5 se scrie 72, dacă n=500 și c=5 se scrie 0, iar dacă n=55 și
c=5 se scrie -1. (10p.)
2. Scrieți un program C/C++ care citește de la tastatură două numere naturale, n și k (n∈[3,20],
k∈[2,n)), și construiește în memorie un tablou unidimensional cu n elemente, având proprietățile:
• al k-lea element are valoarea 0;
• tabloul conține, începând cu prima poziție, până la al k-lea element inclusiv, de la stânga la dreapta,
un șir strict descrescător de numere consecutive, iar începând cu al k-lea element, până la ultima
poziție, de la stânga la dreapta, un șir strict crescător de numere consecutive.
Programul afișează pe ecran elementele tabloului construit, separate prin câte un spațiu.
Exemplu: dacă n=10 și k=3 se obține tabloul (2,1,0,1,2,3,4,5,6,7). (10p.)
3. Fișierul bac.in conține un șir de cel puțin trei și cel mult 105 numere întregi nenule din intervalul
[-109,109], dintre care două sunt negative, iar restul pozitive. Numerele sunt separate prin câte un
spațiu. O secvență este formată din termeni aflați pe poziții consecutive în șir, iar lungimea secvenței
este egală cu numărul de termeni ai acesteia.
Se cere să se afișeze pe ecran lungimea unei secvențe din șirul aflat în fișier care conține o singură
valoare negativă și un număr maxim de valori pozitive. Proiectați un algoritm eficient din punctul de
vedere al memoriei utilizate și al timpului de executare.
Exemplu: dacă fișierul conține numerele 15 21 -61 9 870 -23 11 5 8
pe ecran se afișează 6 (corespunzător secvenței 9 870 -23 11 5 8).
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Ă Testul 6
Filieră teoretică, profil real, specializare științe ale naturii
Barem de evaluare și de notare
Pagina 1 din 2
Examenul național de bacalaureat 2021
Proba E. d)
INFORMATICĂ
BAREM DE EVALUARE ȘI DE NOTARE
(comun pentru limbajele C/C++ și Pascal)
Testul 6
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 unui tablou) este
acceptată din punctul de vedere al corectitudinii programului, dacă acest lucru nu afectează
funcționarea acestuia.
SUBIECTUL I (20 de puncte)
1d 2b 3b 4c 5a 5x4p.
SUBIECTUL al II - lea (40 de puncte)
1. a) Răspuns corect: 7 6p.
b) Răspuns corect: 61 62 6p. Se acordă câte 3p. pentru fiecare dintre cele două
numere conform cerinței.
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
-echivalență a prelucrării realizate,
conform cerinței (*)
-corectitudine globală a algoritmului1)
6p.
5p.
1p.
(*) Se acordă numai 2p. dacă algoritmul are o
structură repetitivă conform cerinței, principial corectă,
dar nu este echivalent cu cel dat.
Se va puncta orice formă corectă de structură
repetitivă conform cerinței.
2. Pentru rezolvare corectă
-definire a variabilelor conform cerinței
-afișare a datelor cerute (*)
-corectitudine globală a secvenței1)
6p.
1p.
4p.
1p.
(*) Se acordă câte 1p. pentru fiecare aspect (tratare a
cazului cu un centru pe axa absciselor, tratare a cazului
cu ambele centre pe axa absciselor, tratare a cazului
niciun centru pe axa absciselor, corespondență date
afișate-cazuri tratate) conform cerinței.
3. Pentru rezolvare corectă
-inițializare a variabilei k
-determinare a valorii cerute (*)
-corectitudine globală a secvenței1)
6p.
1p.
4p.
1p.
(*) Se acordă câte 2p. pentru fiecare aspect specific
(algoritm de bază pentru numărarea unei serii de valori,
caractere suport numărate) conform cerinței.
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, corectitudine globală a
algoritmului1) (**)
10p.
1p.
6p.
1p.
2p.
(*) Se acordă câte 1p. pentru fiecare aspect
(identificare a unei cifre, algoritm principial corect de
construire a unui număr prin adăugarea/eliminarea
unor cifre, cifre nenule suport în numărul obținut, cifre
nule – inclusiv la final -în numărul obținut, ordine a
cifrelor în numărul obținut, tratare a cazului -1)
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Ă Testul 6
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
-construire a tabloului conform cerinței (*)
-afișare a datelor
-declarare a variabilelor simple,
corectitudine globală a programului1)
10p.
1p.
1p.
6p.
1p.
1p.
(*) Se acordă câte 1p. pentru fiecare aspect specific
(valori consecutive în stânga celui de al k-lea element,
valori consecutive în dreapta celui de al k-lea element,
ordine a valorilor în stânga celui de al k-lea element,
ordine a valorilor în dreapta celui de al k-lea element,
valori suport plasate, construire î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 șirul din fișier, numără
valorile citite în variabila nr și memorează pozițiile
numerelor negative, fie acestea p1 și p2, în ordinea
apariției lor în șir.
Valoarea cerută este cea mai mare dintre valorile
p2-1 și nr-p1.
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.