Textul subiectului și baremului
Test de antrenament BAC Informatică Științe ale Naturii C/C++ 2020 – testul 14
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 și Cercetării
Centrul Naţional de Evaluare şi Examinare
Probă scrisă la informatică Testul 14
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 14
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. Indicați o expresie care are valoarea 1 dacă şi numai dacă numărul memorat în variabila întreagă x
aparţine intervalului [-2002,2020].
a. !(x<-2002 || x>2020) b. x>-2002 || x<2020
c. !(x+2020<0 && x-2002>0) d. x+2020>=0 && x-2002<=0
2. Pentru a verifica dacă într-un tablou unidimensional există elementul cu valoarea x=4, 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. (14,14,8,8,4,4) b. (48,14,9,8,7,4,2)
c. (48,24,16,14,8,4) d. (48,24,16,14,9,8,4)
3. 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<5;i++)
{ for(j=0;j<7;j++)
cout<<.........<<" "; | printf("%d ",.........);
cout<<endl; | printf("\n");
}
0 1 2 3 4 0 1
1 2 3 4 5 1 2
2 3 4 5 6 2 3
3 4 5 6 7 3 4
4 5 6 7 8 4 5
a. i%5+j%7 b. i%7+j%5 c. (i+j)%7 d. (i+j)%5
4. Variabilele E, x şi y sunt de tip float şi au valori nenule. Instrucţiunea prin care i se
atribuie variabilei E rezultatul evaluării expresiei alăturate este: (10+ x2
y ) ∙ 2
a. E=10+pow(x,2)/y*2; b. E=(10+pow(x,2))/y*2;
c. E=(10+pow(x,2)/y)*2; d. E=(10+pow(x,2))/(y*2);
5. Variabilele x, y, z, w și r sunt de tip întreg, iar r are inițial valoarea 0. Indicați o secvență echivalentă
cu cea de mai jos.
if(x!=y) r=3; else if(z==w) r=1; else r=2;
a. if (x==y) if(z==w) r=1; else r=2; else 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 && z==w) r=1; else if(x==y && z!=w) r=2; else if(x!=y && z!=w) r=3;
d. if (x==y || z==w) r=1; else if(x==y || z!=w) r=2; else if(x!=y || z!=w) r=3;Subiectul · pagina 2
Ministerul Educaţiei și Cercetării Centrul Naţional de Evaluare şi Examinare Probă scrisă la informatică Testul 14 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. 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) m0 ┌repetă │ cn%10; n[n/10] │┌dacă c=9 atunci c1 ││altfel ││┌dacă c%2=1 atunci │││cc+1 ││└■ │└■ │ mm*10+c └până când n=0 scrie m a. Scrieţi valoarea afişată dacă se citeşte numărul 1527894. (6p.) b. Scrieţi trei numere care pot fi citite astfel încât, pentru fiecare dintre acestea, în urma executării algoritmului să se afișeze 1. (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ă cu test inițial. (6p.) 2. Variabilele întregi v1, v2 și v3 memorează, pentru fiecare dintre cei trei porumbei aflați într-o volieră, vârsta acestora. Scrieți o secvență de instrucțiuni în urma executării căreia să se afișeze pe ecran vârstele celor trei porumbei, în ordine crescătoare, separate prin câte un spațiu. (6p.) 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). Scrieți elementele tabloului B, în ordinea apariției lor în acesta. (6p.) SUBIECTUL al III-lea (30 de puncte) 1. Două numere a și b (a<b) sunt numite divizori pereche ai unui număr natural n dacă a∙b=n. Se citește un număr natural, n (n>1), și se cere să se scrie toate perechile distincte de numere naturale cu paritate diferită cu proprietatea că sunt divizori pereche ai lui n. Fiecare pereche este afișată încadrată între paranteze drepte, numerele din pereche fiind afișate în ordine strict crescătoare, separate printr-un spațiu, iar dacă nu există astfel de perechi, se afișează pe ecran mesajul nu exista. Scrieţi, în pseudocod, algoritmul de rezolvare a problemei enunțate. Exemplu: dacă n=12 se scrie, nu neapărat în această ordine, [1 12][3 4] iar dacă n=9 se scrie nu exista (10p.) 2. Scrieţi un program C/C++ care citeşte de la tastatură un număr natural, n (n[2,102]), apoi cele n elemente ale unui tablou unidimensional, numere reale din intervalul [-102,102], dintre care cel puțin unul este pozitiv și cel puțin unul este negativ. Programul transformă în memorie tabloul, înlocuind fiecare număr negativ cu valoarea sa absolută, apoi afişează pe ecran elementele tabloului obţinut. Exemplu: pentru n=10 și taboul (2,5,2,4,-3,4,-2,-7,-2,9) se obține tabloul (2,5,2,4,3,4,2,7,2,9) (10p.) 3. Fişierul bac.in conţine un şir de numere naturale distincte, din intervalul [1,109]. Numerele din şir sunt separate prin câte un spaţiu şi cel puţin două dintre ele au penultima cifră 2 și ultima cifră 0. Se cere să se afișeze pe ecran cele mai mici două numere din şir cu proprietatea că au penultima cifră 2 și ultima cifră 0. Numerele determinate sunt afişate în ordine crescătoare, 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 conţine numerele 9731 50 112 20 8 16 8520 3 2520 1520 pe ecran se vor afişa, în această ordine, numerele: 20 1520 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 14 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 14 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) 1a 2d 3b 4c 5a 5x4p. SUBIECTUL al II - lea (40 de puncte) 1. a) Răspuns corect: 4188262 6p. b) Pentru răspuns corect 6p. Se acordă câte 2p. pentru fiecare dintre cele trei numere conform cerinţei (oricare număr de forma 9∙10k). 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 rezolvare corectă -determinare a ordinii valorilor cerute (*) -afișare a datelor în formatul cerut -corectitudine globală a secvenței1) 6p. 4p. 1p. 1p. (*) Se acordă numai 2p. dacă sunt conform cerinței doar o parte dintre condițiile necesare ordonării. 3. Răspuns corect: (3,5,8,45,63) sau (63,45,8,5,3) 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 valorilor cerute (*) -scriere a datelor în formatul cerut (**) -scriere principial corectă a structurilor de control, corectitudine globală a algoritmului1) (***) 10p. 1p. 4p. 3p. 2p. (*) Se acordă câte 1p. pentru fiecare aspect specific (identificare a unui divizor, identificare a unei perechi de divizori, numere cu paritate diferită în pereche, ordine divizori în pereche) conform cerinței. (**) Se acordă câte 1p. pentru fiecare aspect specific (paranteze, spațiere, tratare caz nu există) conform cerinței. (***) 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 -transformare a tabloului (*) -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 (identificare valori pozitive/negative, elemente suport înlocuite, transformare în memorie) conform cerinţei.
Baremul · pagina 2
Ministerul Educaţiei și Cercetării Centrul Naţional de Evaluare şi Examinare Probă scrisă la informatică Testul 14 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 care utilizează eficient memoria. O soluţie posibilă parcurge șirul din fișier și memorează cele mai mici două numere cu proprietatea cerută în două variabile, fie acestea min1, min2 (min1<min2); fiecare termen curent citit se compară cu valorile minime memorate, pe rând (min1, min2), iar acestea se actualizează după caz. 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.