Înapoi la fișa subiectului

Textul subiectului și baremului

Subiect BAC Informatică Științe ale Naturii C/C++ 2018 – sesiunea iunie–iulie, varianta 8, rezervă

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ă Varianta 8
Limbajul C/C++
Filiera teoretică, profilul real, specializarea științe ale naturii
1 din 3
Examenul de bacalaureat naţional 2018
Proba E. d)
Informatică
Limbajul C/C++
Varianta 8
Filiera teoretică, profilul real, specializarea științe ale naturii
• Toate subiectele sunt obligatorii. Se acordă 10 puncte din oficiu.
• Timpul de lucru efectiv este de 3 ore.
• În rezolvările cerute, identificatorii utilizaţi 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ă).
• În programele cerute, datele de intrare se consideră corecte, validarea acestora
nefiind necesară.
SUBIECTUL I (30 de puncte)
Pentru itemul 1, scrieţi pe foaia de examen litera corespunzătoare răspunsului corect.
1. Variabilele x, y și z sunt de tip întreg și memorează câte un număr natural. Indicați
expresia C/C++ care are valoarea 1 dacă și numai dacă oricare două dintre variabilele
precizate au valori distincte. (4p.)
a. (x-y)*(y-z)*(z-x) != 0
b. !(x==y && y==z)
c. x!=y || y!=z || z!=x
d. (x<y || y<z) && (x>y || y>z)
2. Algoritmul alăturat este reprezentat în
pseudocod.
citește a,b
(numere naturale, a<b)
u0
ka
┌cât timp k≤b execută
│ s0
│ t1
│┌cât timp t*t≤k execută
││ ss+t*t
││ tt+1
│└■
│┌dacă s≠u atunci
││ scrie s, ’ ’
││ us
│└■
│ kk+1
└■
a) Scrieţi ce se afişează dacă se citesc, în această
ordine, numerele 2 și 6. (6p.)
b) Dacă pentru variabila b se citeşte numărul 20,
scrieţi patru numere care pot fi citite pentru
variabila a, astfel încât, în urma executării
algoritmului, pentru fiecare dintre acestea, să se
afișeze doar valoarea 30. (4p.)
c) Scrieţi în pseudocod un algoritm echivalent cu
cel dat, înlocuind adecvat una dintre structurile
cât timp...execută cu o structură de tip
pentru...execută. (6p.)
d) Scrieţi programul C/C++ corespunzător
algoritmului dat. (10p.)

Subiectul · pagina 2

Ministerul Educaţiei Naționale
Centrul Naţional de Evaluare şi Examinare
Probă scrisă la informatică Varianta 8
Limbajul C/C++
Filiera teoretică, profilul real, specializarea științe ale naturii
2 din 3
SUBIECTUL al II-lea (30 de puncte)
Pentru fiecare dintre itemii 1 şi 2 scrieţi pe foaia de examen litera corespunzătoare
răspunsului corect.
1. Variabila x este de tip real și poate memora un număr real din
intervalul [45,55]. Numărul valorilor distincte pe care le poate
avea expresia C/C++ alăturată este: (4p.)
floor(sqrt(x))
a. 1 b. 2 c. 3 d. 4
2. În secvența C/C++ alăturată toate variabilele sunt întregi, iar
m>n. Expresia care poate înlocui punctele de suspensie,
astfel încât, în urma executării secvenţei obţinute, variabila r
să memoreze diferenţa m-n este:
(4p.)
r=0;
x=n;
y=m;
do
{ x=x+1;
y=y-1;
r=r+2;
}while(x<y);
if(x!=y)r=...;
a. r-2 b. r-1 c. r+1 d. r+2
Scrieţi pe foaia de examen răspunsul pentru fiecare dintre cerinţele următoare.
3. Variabilele ora_decolare, minut_decolare și durata sunt întregi și memorează date
referitoare la un zbor al unui avion, derulat în totalitate în aceeași zi, pe teritoriul României:
ora și minutul decolării, respectiv durata zborului, exprimată în minute. Ora este un număr
din intervalul [0,23], iar minutul un număr din intervalul [0,59]. Scrieţi o secvenţă de
instrucţiuni în urma executării căreia să se memoreze în variabilele întregi
ora_aterizare și minut_aterizare ora, respectiv minutul aterizării avionului. (6p.)
4. Se citesc două numere naturale n, cu cifre distincte și nenule (10<n), și k (k∈∈∈∈[0,9]) și se
cere să se transforme numărul n, rotind circular spre stânga cifrele acestuia, astfel încât
cifra k să devină cifra unităților lui n, ca în exemplu. Dacă cifra k nu este printre cifrele lui n
sau dacă este cifra unităţilor acestuia, numărul rămâne nemodificat. Numărul obținut se
afișează apoi pe ecran.
Exemplu: dacă n=3125847 și k=2, se obține numărul n=5847312, iar dacă n=3125847 și
k=6, se obține numărul 3125847.
a) Scrieți, în pseudocod, algoritmul de rezolvare pentru problema enunțată. (10p.)
b) Precizați rolul tuturor variabilelor care au intervenit în algoritmul realizat la punctul a) și
indicați datele de intrare, respectiv datele de ieșire ale problemei enunțate. (6p.)

Subiectul · pagina 3

Ministerul Educaţiei Naționale
Centrul Naţional de Evaluare şi Examinare
Probă scrisă la informatică Varianta 8
Limbajul C/C++
Filiera teoretică, profilul real, specializarea științe ale naturii
3 din 3
SUBIECTUL al III-lea (30 de puncte)
Pentru itemul 1, scrieţi pe foaia de examen litera corespunzătoare răspunsului corect.
1. Pentru a verifica dacă în tabloul unidimensional (7,9,11,14,16,18,20) există
elementul cu valoarea x, număr natural, se aplică metoda căutării binare. Pentru ca
succesiunea de elemente ale tabloului a căror valoare se compară cu valoarea lui x pe
parcursul aplicării metodei indicate să fie 14, 18, 16, mulțimea tuturor valorilor posibile ale
lui x este: (4p.)
a. {16} b. {14,16,18} c. {15,16,17} d. {20}
Scrieţi pe foaia de examen răspunsul pentru fiecare dintre cerinţele următoare.
2. În secvenţa alăturată toate variabilele sunt de tip
întreg, iar numerele citite sunt naturale.
Scrieţi secvența înlocuind punctele de suspensie
astfel încât, în urma executării secvenţei
obţinute, valoarea variabilei nr să fie egală cu
numărul valorilor citite care sunt strict mai mici
decât 2018. (6p.)
nr=.........;
for(i=1;i<=10;i++)
{ cin>>x; | scanf(“%d”,&x);
.......
}
3. Scrieţi un program C/C++ care citeşte de la tastatură un număr natural, n (n∈∈∈∈[2,102]), și
alte numere naturale din intervalul [0,104]: cele n elemente ale unui tablou
unidimensional, apoi două numere distincte x și y. Programul modifică tabloul în memorie
înlocuind cu valoarea lui y fiecare număr x din tabloul citit și cu valoarea lui x fiecare
număr y din tabloul citit, celelalte elemente rămânând nemodificate. Programul afişează
apoi pe ecran elementele tabloului obținut, separate prin câte un spațiu, sau mesajul
nemodificat dacă nu s-a realizat nicio modificare.
Exemplu: pentru n=7, tabloul (0, 7, 0, 1, 0, 5, 1), x=0 și y=1
se obține tabloul (1, 7, 1, 0, 1, 5, 0). (10p.)
4. Se citeşte de la tastatură un număr natural, n (n∈∈∈∈[1,109]), şi se cere să se scrie în
fişierul text bac.txt, cel mai mare număr natural p cu proprietatea că numărul 4p este
divizor al numărului obținut prin evaluarea produsului 1·2·3·...·n.
Proiectați un algoritm eficient din punctul de vedere al timpului de executare și al memoriei
utilizate.
Exemplu: dacă n=10, fişierul conţine numărul 4.
a) Descrieţi în limbaj natural algoritmul proiectat, justificând eficienţa acestuia. (2p.)
b) Scrieţi programul C/C++ corespunzător algoritmului descris. (8p.)

Baremul

Deschide PDF-ul original

Baremul · pagina 1

Ministerul Educaţiei Naționale
Centrul Naţional de Evaluare şi Examinare
Probă scrisă la informatică Varianta 8
Filiera teoretică, profilul real, specializarea ştiinţe ale naturii
Barem de evaluare şi de notare
1 din 2
Examenul de bacalaureat naţional 2018
Proba E. d)
Informatică
Barem de evaluare și de notare
(comun pentru limbajele C/C++ şi Pascal)
Varianta 8
Filiera teoretică, profilul real, specializarea ş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.
• Se vor lua în considerare atât implementările concepute pentru compilatoare pe 16
biţi, cât şi cele pentru compilatoare pe 32 de biţi.
SUBIECTUL I (30 de puncte)
1. a 4p.
2. a) Răspuns corect: 1 5 6p.
b) Răspuns corect: 16, 17, 18, 19 4p. Se acordă câte 1p. pentru fiecare număr
corect.
c) 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.
d) Pentru program corect
-declarare variabile
-citire date
-afişare date
-instrucţiune de decizie corectă
-instrucţiuni repetitive corecte (*)
-atribuiri corecte
-corectitudine globală a programului1)
10p.
1p.
1p.
1p.
2p.
3p.
1p.
1p.
(*) Se acordă numai 2p. dacă doar una dintre
instrucţiuni este corectă.
SUBIECTUL al II - lea (30 de puncte)
1. b 4p.
2. b 4p.
3. Pentru rezolvare corectă
-determinare și memorare a valorilor
cerute în variabilele indicate (*)
-corectitudine globală a secvenţei1)
6p.
5p.
1p.
(*) Se acordă numai 3p. dacă s-a
determinat corect doar una dintre cele două
valori cerute.

Baremul · pagina 2

Ministerul Educaţiei Naționale
Centrul Naţional de Evaluare şi Examinare
Probă scrisă la informatică Varianta 8
Filiera teoretică, profilul real, specializarea ştiinţe ale naturii
Barem de evaluare şi de notare
2 din 2
4. a) Pentru rezolvare corectă
-citire a datelor
-transformare a numărului conform
cerinței (*)
-scriere principial corectă a structurilor
de control (**)
-afișare a datelor
10p.
1p.
6p.
2p.
1p.
(*) Se acordă câte 2p. pentru fiecare aspect
al cerinței (determinare a unei cifre a unui
număr, algoritm de plasare în număr a
cifrelor care preced cifra k în numărul inițial,
algoritm de plasare în număr a cifrelor care
succed cifra k în numărul inițial).
(**) Se va puncta orice formă corectă de
structură repetitivă sau decizională.
b) Pentru răspuns corect
-precizare a rolului variabilelor utilizate
(*)
-indicare a datelor de intrare
- indicare a datelor de ieșire
6p.
2p.
2p.
2p.
(*) Se acordă numai 1p. dacă s-au
identificat doar o parte din variabilele
utilizate sau dacă nu pentru toate variabilele
este corect precizat rolul acestora.
SUBIECTUL al III - lea (30 de puncte)
1. c 4p.
2. Pentru răspuns corect
-instrucţiune de iniţializare a
variabilei nr
-instrucţiune de actualizare a
variabilei nr
-corectitudine globală a secvenţei1)
6p.
2p.
3p.
1p.
3. Pentru program corect
-declarare a variabilei de tip tablou
-citire a elementelor tabloului
-accesare corectă a unui element al
tabloului
-modificare a tabloului conform
cerinței (*)
-afișare a rezultatului și tratare a
cazului nemodificat
-declarare a tuturor variabilelor
simple, citire a datelor simple,
corectitudine globală a programului1)
10p.
1p.
2p.
1p.
4p.
1p.
1p.
(*) Se acordă câte 2p. pentru înlocuirea
tuturor elementelor suport pentru fiecare
dintre cele două valori indicate, conform
cerinţei.
4. a) Pentru răspuns corect
-coerenţă a descrierii metodei (*)
-justificare a unor elemente de
eficienţă, conform cerinței
2p.
1p.
1p.
(*) Se acordă punctajul chiar dacă metoda
aleasă nu este eficientă.
b) Pentru program corect
-operaţii cu fişiere: declarare,
pregătire în vederea scrierii, scriere
în fişier
-determinare a valorii cerute (*,**)
-utilizare a unui algoritm eficient (***)
-citire a datelor, declarare a tuturor
variabilelor, corectitudine globală a
programului1)
8p.
1p.
5p.
1p.
1p.
(*) Se acordă punctajul chiar dacă soluţia
propusă nu prezintă elemente de eficienţă.
(**) 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 de complexitate logaritmică sau
liniară (O(log n), respectiv O(n)) care
utilizează eficient memoria.
O soluţie posibilă determină numărul x de
apariții ale lui 2 în descompunerea în factori
primi a numerelor din intervalul [1,n].
Valoarea cerută este [x/2].
1) Corectitudinea globală vizează structura, sintaxa, alte aspecte neprecizate în barem.