Înapoi la fișa subiectului

Textul subiectului și baremului

Test de antrenament BAC Informatică Științe ale Naturii C/C++ 2020 – 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 Naționale
Centrul Național de Evaluare și Examinare
Probă scrisă la informatică Testul 6
Limbajul C/C++
Filieră teoretică, profil real, specializare științe ale naturii
Pagina 1 din 2
Examenul de bacalaureat național 2020
Proba E. d)
Informatică
Limbajul C/C++
Testul 6
Filieră teoretică, profil real, specializare științe ale naturii
• Toate subiectele sunt obligatorii. Se acordă 10 puncte din oficiu.
• Timpul de lucru efectiv este de 3 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. Expresia C/C++
(x>=18) && !( x<19 || x>20) && (x<=21)
are valoarea 1 dacă și numai dacă valoarea memorată de variabila întreagă x aparține intervalului:
a. [18,20] b. [18,21] c. [19,20] d. [19,21]
2. Variabilele i și j sunt de tip întreg. Indicați expresia care poate înlocui zona punctată astfel încât, în
urma executării secvenței obținute, să se afișeze pe ecran valorile alăturate.
for(i=0;i<4;i++)
{ for(j=0;j<5;j++)
cout<<.........<<" "; | printf("%d ",.........);
cout<<endl; | printf("\n");
}
16 17 18 19 20
11 12 13 14 15
6 7 8 9 10
1 2 3 4 5
a. 16-4*i+j b. 16-5*i+j c. 11-4*i+j d. 11-5*i+j
3. Se consideră două tablouri unidimensionale A și B: A=(45,21,14,8,2), iar B=(65,16,10,5,1). În
urma interclasării lor în ordine descrescătoare se obține tabloul cu elementele:
a. (65,21,14,8,2) b. (65,45,16,21,10,14,5,8,1,2)
c. (65,45,21,16,14,10,8,5,2,1) d. (65,45,21,14,16,10,8,5,2,1)
4. Variabilele E, x, y și z sunt de tip real și au valori nenule. Indicați
expresia prin a cărei evaluare se obține valoarea atribuită
variabilei E prin instrucțiunea alăturată.
E=x/(2019+z)*pow(2020,2);
a. 𝐱 + z
2019 ∙ 2020𝟐
b. 𝐱
(2019+z) ∙ √2020
c. 𝐱
2019 + ( z
2020)𝟐 d. 𝐱
2019+z ∙ 2020𝟐
5. Variabilele x, y, z și w memorează câte un număr real distinct. Indicați o expresie C/C++ care, dacă are
valoarea 1, atunci variabila x memorează cel mai mare dintre celelalte trei numere precizate.
a. y<x && z<w && z<y b. z<w && w<x && z<y
c. y<x && z<w && w<y d. z<w && z<x && y<w

Subiectul · pagina 2

Ministerul Educației Naționale
Centrul Național de Evaluare și Examinare
Probă scrisă la informatică Testul 6
Limbajul C/C++
Filieră teoretică, profil real, specializare științe ale naturii
Pagina 2 din 2
SUBIECTUL al II-lea (40 de puncte)
1. Algoritmul alăturat este reprezentat în pseudocod. citește n (număr natural nenul)
nr0; i1
┌cât timp i≤n execută
│ x0; y1; j1
│ ┌cât timp j<i execută
│ │ r2*x-y; xy; yr
│ │ jj+1
│ └■
│ ii+1
│ ┌dacă y>0 atunci
│ │ nrnr+1
│ └■
└■
scrie nr
a. Scrieți numărul afișat în urma executării algoritmului dacă pentru
n se citește valoarea 7. (6p.)
b. Scrieți două numere din intervalul [10,102) care pot fi citite
astfel încât, pentru fiecare dintre acestea, în urma executării
algoritmului, să se afișeze 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 una dintre structurile cât timp...execută cu o
structură repetitivă de tip pentru...execută . (6p.)
2. Pentru un punct se memorează coordonatele (abscisa și ordonata) în sistemul de coordonate xOy.
Variabilele Ax și Ay, de tip întreg, memorează abscisa, respectiv ordonata punctului A, iar variabilele
Bx și By, de tip întreg, memorează abscisa, respectiv ordonata punctului B. Declarați variabilele și
scrieți o secvență de instrucțiuni în urma executării căreia să se afișeze pe ecran mesajul
intersecteaza axa, dacă segmentul cu extremitățile în punctele A și B intersectează axa Oy a
sistemului de coordonate, sau mesajul nu intersecteaza axa, în caz contrar. (6p.)
3. Pentru a verifica dacă în tabloul unidimensional (3,7,8,12,16,23,47) există elementul cu valoarea
x=16 se aplică metoda căutării binare. Scrieți succesiunea de elemente a căror valoare se compară cu
x pe parcursul aplicării metodei. (6p.)
SUBIECTUL al III-lea (30 de puncte)
1. Se citește un număr natural n (n≥2) și se cere să se scrie produsul divizorilor primi ai lui n.
Scrieți, în pseudocod, algoritmul de rezolvare a problemei enunțate.
Exemplu: dacă n=2000, se scrie 10, deoarece 2000=2453. (10p.)
2. Scrieți un program C/C++ care citește de la tastatură un număr natural n (n[2,20]) și cele n
elemente ale unui tablou unidimensional, numere naturale din intervalul [1,109]. Elementele tabloului
sunt numerotate începând cu 1. Programul afișează pe ecran toate elementele tabloului cu proprietatea
că sunt strict mai mici decât valoarea cu care sunt numerotate. Numerele afișate sunt separate prin câte
un spațiu, iar dacă nu există niciun astfel de număr, se afișează pe ecran mesajul nu exista.
Exemplu: pentru n=8 și tabloul (2,2,1,9,4,16,4,3)
se afișează pe ecran, nu neapărat în această ordine, numerele 1 4 4 3. (10p.)
3. Se citesc de la tastatură două numere naturale din intervalul [1,81], p1 și p2, și se cere scrierea în
fișierul bac.out a tuturor numerelor naturale cu exact 7 cifre, pentru care produsul primelor două cifre
este egal cu p1, cele trei cifre din mijloc sunt 0, iar produsul ultimelor două cifre este egal cu p2.
Numerele apar în fișier în ordine strict descrescătoare, fiecare pe câte o linie. Proiectați un algoritm
eficient din punctul de vedere al memoriei utilizate și al timpului de executare.
Exemplu: dacă p1=12, iar p2=8, atunci 2600024 și 3400018 sunt două dintre cele 16 numere cu
proprietatea cerută (2∙6=3∙4=12 și 2∙4=1∙8=8).
a. Scrieți programul C/C++ corespunzător algoritmului proiectat. (8p.)
b. Descrieți în limbaj natural algoritmul proiectat, justificând eficiența acestuia. (2p.)

Baremul

Deschide PDF-ul original

Baremul · pagina 1

Ministerul Educației și Cercetării
Centrul Național de Evaluare și Examinare
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 de bacalaureat național 2020
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ă oricare alte modalități de rezolvare corectă a cerințelor.
• Nu se acordă punctaje intermediare, altele decât cele precizate explicit prin barem. Nu se
acordă fracțiuni de punct. Se acordă 10 puncte din oficiu. Nota finală se calculează prin
împărțirea punctajului total acordat pentru lucrare la 10.
• 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)
1c 2b 3c 4d 5c 5x4p.
SUBIECTUL al II - lea (40 de puncte)
1. a) Răspuns corect: 4 6p.
b) Răspuns corect: 19 20 6p. Se acordă câte 3p. pentru fiecare dintre cele două
numere conform cerinței.
c) Pentru program corect
-declarare variabile
-citire date
-afișare date
-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ă
-declarare a variabilelor
-verificare a proprietății cerute
-afișare a datelor
-corectitudine globală a expresiei1)
6p.
2p.
2p.
1p.
1p.
3. Răspuns corect: 12,23,16 6p. (*) Se acordă câte 2p. pentru fiecare dintre valori, în
ordinea cerută.
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 al cerinței
(identificare a unui divizor prim, divizori suport,
algoritm principial corect de determinare a unui
produs).
(**) Se va puncta orice formă corectă de structură
repetitivă sau decizională.
2. Pentru program corect
-declarare a unei variabile care să
memoreze un tablou unidimensional
-citire a datelor
-determinare a valorilor cerute (*)
-afișare a datelor în formatul cerut și
tratare a cazului nu exista
-declarare a variabilelor simple,
corectitudine globală a programului1)
10p.
1p.
1p.
6p.
1p.
1p.
(*) Se acordă câte 2p. pentru fiecare aspect specific
(identificare a poziției unui element, proprietate a
elementelor cerute, elemente suport) conform cerinței.

Baremul · pagina 2

Ministerul Educației și Cercetării
Centrul Național de Evaluare și Examinare
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
3. a) Pentru program corect
-operații cu fișiere: declarare, pregătire în
vederea scrierii, scriere în fișier
-determinare a valorilor cerute (*),(**)
-utilizare a unui algoritm eficient (***)
-declarare a variabilelor, citire a datelor,
corectitudine globală a programului1)
8p.
1p.
5p.
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
eficient, care nu verifică inutil multe valori.
O soluție posibilă generează numerele cerute stabilind
toate valorile posibile pentru prima cifră, c1, stabilind a
treia cifră c3=0, respectiv pentru a 6-a cifră, c6,
celelalte calculându-se direct pe baza celorlalte,
având în vedere ordinea cerută și încadrarea fiecărei
cifre în intervalul [0,9], adaptat după caz.
b) Pentru răspuns corect
-coerență a descrierii algoritmului (*)
-justificare a elementelor de eficiență
2p.
1p.
1p.
1) Corectitudinea globală vizează structura, sintaxa, alte aspecte neprecizate în barem.