Înapoi la fișa subiectului

Textul subiectului și baremului

Test de antrenament BAC Informatică Științe ale Naturii C/C++ 2021 – testul 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Ă Testul 5
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 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. Indicați o expresie C/C++ care are valoarea 1 dacă şi numai dacă numerele naturale memorate în
variabilele întregi x și y sunt pare, consecutive.
a. (x-y==2) && (y-x==2) b. (x==2) && (y==4)
c. x-y==2 d. ((x-y==2) || (y-x==2)) && (x%2==0)
2. Pentru a verifica dacă în tabloul unidimensional (2,8,13,19,20,38,47) există elementul cu
valoarea x se aplică metoda căutării binare. Știind că valoarea x este comparată cu trei elemente ale
tabloului pe parcursul aplicării metodei, indicați o valoare cu care x NU poate fi egală.
a. 2 b. 8 c. 20 d. 47
3. Variabilele i și j sunt de tip întreg. Indicați expresia care poate înlocui punctele de suspensie astfel
încât, în urma executării secvenței obținute, să se afișeze pe ecran valorile alăturate, în această ordine.
for(i=1;i<=4;i++)
{ for(j=1;j<=5;j++)
cout<<.........<<" "; | printf("%d ",.........);
cout<<endl; | printf("\n");
}
1 2 3 4 5
2 4 6 8 0
3 6 9 2 5
4 8 2 6 0
a. (i+j)%10 b. (i*j)%10 c. i+j%5 d. i*j%5
4. Variabilele E, x, y, z și memorează valori de tip real (z>0). Indicați instrucţiunea prin
care i se atribuie variabilei E rezultatul evaluării expresiei alăturate.
𝐱 + 𝐲
√𝐳 ∙ 𝐭𝟐
a. E=(x+y)/sqrt(z)*pow(t,2); b. E=x+y/(sqrt(z)*pow(t,2));
c. E=x+y/sqrt(z)*pow(t,2); d. E=(x+y)/(sqrt(z)*pow(t,2));
5. Variabilele x, y și z sunt de tip întreg și memorează valori distincte. Indicați o secvenţă de instrucţiuni în
urma executării căreia se realizează interschimbarea valorilor variabilelor x și y.
a. x=y; y=z; z=x; b. y=z; z=x; x=y;
c. z=y; y=x; x=z; d. z=x; z=y; x=y;
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 x
(număr natural nenul)
y0
┌repetă
│┌dacă x>9 atunci
││┌repetă
│││ x[x/10]
││└până când x≤9
│└■
│ yy*10+x
│ citeşte x (număr natural)
└până când x=0
scrie y
a. Scrieţi valoarea afişată dacă se citesc, în această ordine, numerele
12, 7, 354, 9, 630, 0. (6p.)
b. Scrieţi o secvență de numere din intervalul [0,104) care pot fi citite,
în această ordine, astfel încât, în urma executării algoritmului, să se
afișeze 321. (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
a doua structură repetă...până când cu o structură repetitivă cu test
inițial. (6p.)

Subiectul · pagina 2

Ministerul Educaţiei
Centrul Național de Politici și Evaluare în Educație
Probă scrisă la INFORMATICĂ Testul 5
Limbajul C/C++
Filieră teoretică, profil real, specializare științe ale naturii
Pagina 2 din 2
2. Pentru fiecare dintre cele două cărți împrumutate dintr-o bibliotecă se memorează date specifice: inițiala
numelui autorului și un număr întreg reprezentând numărul de exemplare disponibile. Variabilele
initiala1 și nr1 memorează datele specifice pentru prima carte, iar variabilele initiala2 și nr2
memorează datele specifice pentru cea de a doua carte.
Declarați corespunzător variabilele initiala1 și initiala2 și scrieți o secvență de instrucțiuni
C/C++ în urma executării căreia să se afișeze pe ecran inițiala numelui autorului cărții pentru care există
mai multe exemplare disponibile, sau mesajul la fel de multe, în cazul în care pentru cele două
cărți există un număr egal de exemplare disponibile. (6p.)
3. În urma interclasării în ordine descrescătoare a tablourilor unidimensionale A şi B se obține tabloul:
(38,38,30,25,25,13,12,10,8,7,5). Scrieți un exemplu de valori memorate în tablourile A şi B, în
ordinea apariției lor în tablou. (6p.)
SUBIECTUL al III-lea (30 de puncte)
1. Se citește un număr natural, n (n≥10), și se cere să se scrie valoarea 1 dacă numărul n are toate cifrele
egale, sau valoarea 0 în caz contrar.
Scrieţi, în pseudocod, algoritmul de rezolvare a problemei enunțate.
Exemplu: dacă n=2222 se scrie valoarea 1, iar dacă n=212 se scrie valoarea 0. (10p.)
2. Scrieţi un program C/C++ care citeşte de la tastatură două numere naturale din intervalul [2,102], n și k,
şi construieşte în memorie un tablou unidimensional cu n elemente, numerotate începând cu 1, astfel încât
elementul de pe poziția i primeşte ca valoare ultima cifră a produsului ik.
Programul afişează pe ecran elementele tabloului obținut, separate prin câte un spaţiu.
Exemplu: dacă n=5 și k=18, se obține tabloul (8,6,4,2,0). (10p.)
3. Fişierul bac.txt conține numere naturale din intervalul [2,106]: pe prima linie n, iar pe a doua linie
un șir de n numere, separate prin câte un spațiu.
Se cere să se afișeze pe ecran, pentru fiecare număr natural i (i[2,n]), cea mai mare dintre valorile
aflate pe pozițiile i și i-1 în șirul aflat în fișier. Numerele afișate sunt separate prin câte un spațiu.
Proiectați un algoritm eficient din punctul de vedere al memoriei utilizate şi al timpului de executare.
Exemplu: dacă fișierul are conținutul alăturat, se afișează pe ecran
6 6 7 8 8 6 6 7 9 10 10
12
4 6 3 7 8 1 6 2 7 9 10 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 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 2021
Proba E. d)
INFORMATICĂ
BAREM DE EVALUARE ȘI DE NOTARE
(comun pentru limbajele C/C++ și Pascal)
Testul 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ț este acceptată
dacă acest lucru nu afectează corectitudinea în funcționarea programului.
SUBIECTUL I (20 de puncte)
1d 2b 3b 4a 5c 5x4p.
SUBIECTUL al II - lea (40 de puncte)
1. a) Răspuns corect: 17396 6p.
b) Pentru răspuns corect 6p. Se acordă numai 2p. dacă secvența conduce la
obținerea unei valori cu o singură cifră conform
cerinței, numai 4p. dacă secvența conduce la
obținerea unei valori cu doar două cifre conform
cerinței și numai 5p. dacă secvența conduce la
obținerea unei valori care conține cele trei cifre cerute
dar, în continuarea acestora, conține și alte cifre, sau
se așteaptă și alte numere (nu se încheie cu 0).
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.
3p.
2p.
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 asupra
structurii repetitive, 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ă de structură repetitivă
conform cerinței.
2. Pentru rezolvare corectă
-declarare a variabilelor conform
cerinței
-afișare a datelor indicate (*)
-corectitudine globală a secvenței1)
6p.
1p.
4p.
1p.
(*) Se acordă numai 2p. dacă s-au afișat mesajul și
inițiala, dar nu conform cerinței.
3. Pentru răspuns corect 6p. Se acordă câte 2p. pentru fiecare aspect specific (număr
de elemente, ordine, valori suport) conform cerinței.
SUBIECTUL al III - lea (30 de puncte)
1. Pentru algoritm corect
-citire a datelor
-determinare a valorii cerute (*)
-scriere a datelor
-scriere principial corectă a structurilor de
control, corectitudine globală a
algoritmului1) (**)
10p.
1p.
6p.
1p.
2p.
(*) Se acordă câte 2p. pentru fiecare aspect specific
(algoritm principial corect de verificare a unei
proprietăți, identificare a unei perechi de cifre
egale/diferite, cifre suport verificate) 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 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
-construire a tabloului cerut (*)
-afişare a unui tablou
-declarare a variabilelor simple,
corectitudine globală a programului1)
10p.
1p.
1p.
6p.
1p.
1p.
(*) Se acordă câte 2p. pentru fiecare aspect specific
(ultima cifră a unui produs conform cerinței, poziții
suport, 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ă citește datele din fișier și
memorează ultimele două valori citite (fie acestea x și
y); la fiecare pas se actualizează valorile x și y și se
afișează pe ecran cea mai mare dintre acestea.
b) Pentru program corect
-operaţii cu fişierul: declarare, pregătire
în vederea citirii, citire din fişier
-determinare a valorilor 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.