Înapoi la fișa subiectului

Textul subiectului și baremului

Test de antrenament BAC Informatică Științe ale Naturii C/C++ 2021 – 12 martie 2021, testul 1

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 1
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 1
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++ echivalentă cu cea alăturată. (x>5) && (x<20) || (x!=y)
a. (x>5 || x<20) && (x==y) b. !(x<=5 || x>=20) || (x!=y)
c. (x>5 || x<20) && (x!=y) d. !(x<5 || x>20) && (x!=y)
2. Tablourile unidimensionale A și B au elementele: A=(2,20,27,36,50), iar B=(63,45,8,5,3). În
urma interclasării lor în ordine crescătoare se obține tabloul cu elementele:
a. (2,3,5,8,20,27,36,45,50,63) b. (2,20,8,5,3)
c. (2,20,27,36,50,3,5,8,45,63) d. (2,63,20,45,8,27,5,36,3,50)
3. Pentru a verifica dacă într-un tablou unidimensional există elementul cu valoarea x=3, se aplică metoda
căutării binare, iar succesiunea de elemente a căror valoare se compară cu x pe parcursul aplicării
metodei este 14, 8, 4. Elementele tabloului pot fi:
a. (4,8,9,14,16,24,48) b. (14,14,8,8,4,4)
c. (14,8,4,3,2,0) d. (48,14,9,8,7,4,2)
4. Indicați valoarea expresiei alăturate. ceil(-20.20)
a. 21 b. 20.20 c. -20 d. -21
5. Variabilele x, y, z, w și r sunt de tip întreg, iar r memorează inițial valoarea 0. Indicați o secvență
echivalentă cu cea de mai jos.
if (x==y){ r=1; if(z==w) r=2; } else r=3;
a. if (x==y || z!=w) r=1; else if(x!=y || z==w) r=2; else if(x!=y) r=3;
b. if (x==y || z!=w) r=1; else if(x==y || z==w) r=2; else r=3;
c. if (x!=y) r=3; else if(x==y || z==w) r=2; else if(x!=y) r=3;
d. if(x!=y) r=3; else if(z==w) r=2; else r=1;
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)
m10
┌dacă n=0 atunci
│ m0
│altfel
│┌repetă
││ cn%10; n[n/10]
││┌dacă c<=m atunci mc
│││altfel m-1
││└■
│└până când n=0
└■
scrie m
a. Scrieți numărul afișat în urma executării algoritmului dacă pentru n
se citește valoarea 205579. (6p.)
b. Scrieți patru numere din intervalul [103,104) care pot fi citite astfel
încât, pentru fiecare dintre acestea, în urma executării algoritmului,
să se afișeze 7. (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 structura repetă...până când cu o structură repetitivă
de alt tip. (6p.)

Subiectul · pagina 2

Ministerul Educației
Centrul Național de Politici și Evaluare în Educație
Probă scrisă la informatică Testul 1
Limbajul C/C++
Filieră teoretică, profil real, specializare științe ale naturii
Pagina 2 din 2
2. Variabilele întregi x, y și z memorează valori specifice unei date calendaristice (zi, luna, an, într-o
ordine oarecare) din luna ianuarie a anului 2021. Scrieți o secvență de instrucțiuni C/C++ în urma
executării căreia se afișează pe ecran data propriu-zisă, în ordinea zi, lună, an.
Exemplu: dacă x=2021, y=16, z=1 sau dacă x=16, y=1, z=2021 se afișează pe ecran 16 1 2021
iar dacă x=1, y=1, z=2021, se afișează pe ecran 1 1 2021 (6p.)
3. Variabila i este de tip întreg, iar celelalte
variabile sunt de tip char. Scrieți ce se
afișează în urma executării secvenței
alăturate.
(6p.)
for(i=1; i<=5; i++)
{ if(i==5){ c1='2'; c2=c1-1;}
else if(i==3){ c1='-'; c2='>'; }
else { c1='2'; c2=c1-2; }
cout<<c1<<c2; | printf("%c%c",c1,c2);
}
SUBIECTUL al III-lea (30 de puncte)
1. Se citesc două numere naturale, n și x (n≥2, x≥2) și se cere să se scrie în ordine descrescătoare,
separate prin câte un spațiu, primele n numere naturale nenule divizibile cu x.
Scrieți, în pseudocod, algoritmul de rezolvare a problemei enunțate.
Exemplu: dacă n=4 și x=15 se scriu numerele 60 45 30 15 (10p.)
2. Scrieți un program C/C++ care citește de la tastatură un număr natural n (n[2,102]) și cele 2∙n
elemente ale unui tablou unidimensional, numere naturale din intervalul [1,109]. Programul afișează
pe ecran, separate prin câte un spațiu, primele n elemente ale tabloului, parcurse de la stânga la
dreapta, urmate de ultimele n elemente ale tabloului, parcurse de la dreapta la stânga.
Exemplu: pentru n=5 și tabloul (1,2,3,4,5,3,1,8,6,4) se afișează pe ecran numerele
1 2 3 4 5 4 6 8 1 3 (10p.)
3. Fișierul bac.in conține cel mult 106 numere naturale din intervalul [0,109], separate prin câte un
spațiu. Se cere să se afișeze pe ecran, în ordine descrescătoare, cel mai mare număr de două cifre
distincte care NU se află în fișier. Dacă nu există un astfel de număr, se afișează pe ecran mesajul
nu exista. Proiectați un algoritm eficient din punctul de vedere al timpului de executare.
Exemplu: dacă fișierul bac.in conține numerele 12 235 123 67 98 6 96 94 123 67 98 100
se afișează pe ecran numărul 97.
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 1
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 1
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
punctajului total acordat pentru lucrare la zece.
• 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)
1b 2a 3a 4c 5d 5x4p.
SUBIECTUL al II - lea (40 de puncte)
1. a) Răspuns corect: -1 6p.
b) Pentru răspuns corect 6p. Se acordă câte 2p. pentru fiecare dintre cele trei
numere conform cerinței (oricare dintre numerele 7777,
7778, 7779, 7788, 7789, 7799, 7888, 7889, 7899,
7999).
c) Pentru program corect
-declarare variabile
-citire date
-afișare date
-instrucțiuni de decizie (*)
-instrucțiune repetitivă
-atribuiri
-corectitudine globală a programului1)
10p.
1p.
1p.
1p.
3p.
2p.
1p.
1p.
(*) Se acordă numai 2p. dacă doar una dintre instrucțiunile
de decizie 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 răspuns corect
-identificare a zilei specifice datei
calendaristice
-afișare a datelor (*)
-corectitudine globală a secvenței1)
6p.
3p.
2p.
1p.
(*) Se acordă câte 1p. pentru fiecare aspect specific
(ordine, valori suport) conform cerinței.
3. Răspuns corect:
2020->2021
6p. Se acordă câte 2p. pentru afișare conform cerinței în
fiecare dintre cele trei cazuri (i=5, i=3, celelalte valori ale
lui i) conform cerinței.
SUBIECTUL al III - lea (30 de puncte)
1. Pentru algoritm corect
-citire a datelor
-determinare a valorilor cerute (*)
-scriere a datelor (**)
-scriere principial corectă a structurilor de
control, corectitudine globală a
algoritmului1) (***)
10p.
1p.
4p.
3p.
2p.
(*) Se acordă câte 2p. pentru fiecare aspect specific
(identificare a unui multiplu/divizor, valori suport)
conform cerinței.
(**) Se acordă numai 1p. dacă s-au afișat numerele
cerute, dar nu în ordinea precizată.
(***) 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 unor valori
-declarare a variabilelor simple,
corectitudine globală a programului1)
10p.
1p.
1p.
6p.
1p.
1p.
(*) Se acordă câte 2p. pentru fiecare aspect specific
(ordine de parcurgere a primelor n elemente, ordine de
parcurgere a ultimelor n elemente, succesiune prima
jumătate/a doua jumătate) conform cerinței.

Baremul · pagina 2

Ministerul Educației
Centrul Național de Politici și Evaluare în Educație
Probă scrisă la informatică Testul 1
Filieră teoretică, profil real, specializare științe ale naturii
Barem de evaluare și de notare
Pagina 2 din 2
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.
O soluție posibilă utilizează un vector de apariții, inițial
cu valori nule, în care ap[i]=1 dacă valoarea i apare în
șirul aflat în fișier. Se completează vectorul pe măsura
citirii datelor din fișier, având în vedere numerele de
două cifre, apoi se parcurge de la dreapta la stânga,
începând cu poziția 98, memorându-se prima valoarei
x, cu cifre distincte, pentru care ap[x]=0.
b) Pentru program corect
-operații cu fișiere: 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.