Textul subiectului și baremului
Test de antrenament BAC Informatică Științe ale Naturii C/C++ 2020 – testul 15
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 originalSubiectul · pagina 1
Ministerul Educației Naționale
Centrul Național de Evaluare și Examinare
Probă scrisă la informatică Testul 15
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 15
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>=16) && !( x<17 || x>19) && (x<=20)
are valoarea 1 dacă și numai dacă valoarea memorată de variabila întreagă x aparține intervalului:
a. [16,18] b. [17,19] c. [18,20] d. [19,20]
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");
}
1 5 9 13 17
2 6 10 14 18
3 7 11 15 19
4 8 12 16 20
a. j+1+5*i b. j+1-5*i c. i+1+4*j d. i+1-4*j
3. Tabloul unidimensional A are elementele: A=(2,20,27,36,50), iar în urma interclasării lui crescătoare
cu tabloul unidimensional B se obține tabloul cu elementele (2,3,5,8,20,27,36,45,50,63).
Indicați elementele tabloului B, în ordinea apariției lor în acesta.
a. (1,15,19,9,13) b. (2,1,20,15,27,19,36,9,50,13)
c. (2,20,27,36,50,1,3,5,6,3) d. (3,5,8,45,63)
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/(2020+z)/pow(2019,2);
a. 𝐱
(2020+z) ∙ 2019𝟐
b. 𝐱
(2019+z) ∙ √2020
c. 𝐱
2020 + z
20192
d. 𝐱
2020+z ∙ 2019𝟐
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 && z!=w) r=1; else if(x==y && 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 · pagina 2
Ministerul Educației Naționale Centrul Național de Evaluare și Examinare Probă scrisă la informatică Testul 15 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) nr0 ┌pentru in,1,-1 execută │ x0; y1 │ ┌pentru j1,i execută │ │ r2*x-y; xy; yr │ └■ │ ┌dacă y>0 atunci │ │ nrnr+1 │ └■ └■ scrie nr a. Scrieți numărul afișat în urma executării algoritmului dacă pentru n se citește valoarea 5. (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 14. (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ă pentru...execută cu o structură repetitivă de alt tip. (6p.) 2. Pentru un punct se memorează coordonatele (abscisa și ordonata) în sistemul de coordonate xOy. Variabilele Ax și Ay, de tip real, memorează coordonatele unui punct A, iar variabilele Bx și By, de tip real, memorează coordonatele unui punct 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 origine, dacă unul dintre punctele A sau B coincide cu originea sistemului de coordonate, sau mesajul altceva, în caz contrar. (6p.) 3. Pentru a verifica dacă în tabloul unidimensional (48,24,16,14,9,8,4) există elementul cu valoarea x se aplică metoda căutării binare. Știind că valoarea x a fost comparată cu două elemente ale tabloului pe parcursul aplicării metodei, scrieți două valori posibile ale lui x. (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 cel mai mare divizor prim al lui n. Scrieți, în pseudocod, algoritmul de rezolvare a problemei enunțate. Exemplu: dacă n=2000, se scrie 5, deoarece 2000=2453. (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,104). Programul afișează pe ecran numărul de elemente ale sale formate dintr-un număr egal de cifre pare și cifre impare. Exemplu: pentru n=8 și tabloul (2,24,10,902,4321,17,45,30) se afișează pe ecran 4. (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 crescă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. 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 originalBaremul · pagina 1
Ministerul Educației și Cercetării Centrul Național de Evaluare și Examinare Probă scrisă la informatică Testul 15 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 15 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) 1b 2c 3d 4a 5d 5x4p. SUBIECTUL al II - lea (40 de puncte) 1. a) Răspuns corect: 2 6p. b) Răspuns corect: 28 29 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: 8,24 6p. Se acordă câte 3p. pentru fiecare dintre cele două valori. 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, divizor prim, cel mai mare divizor prim). (**) 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 -declarare a variabilelor simple, corectitudine globală a programului1) 10p. 1p. 1p. 6p. 1p. 1p. (*) Se acordă câte 2p. pentru fiecare aspect specific (acces la o cifră a unui număr, identificare a unei cifre pare/impare, algoritm de numărare principial corect) 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
Baremul · pagina 2
Ministerul Educației și Cercetării Centrul Național de Evaluare și Examinare Probă scrisă la informatică Testul 15 Filieră teoretică, profil real, specializare științe ale naturii Barem de evaluare și de notare Pagina 2 din 2 b) 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. 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] sau [1,9], după caz. 1) Corectitudinea globală vizează structura, sintaxa, alte aspecte neprecizate în barem.