DauExamen
Bacalaureat 2021 Sesiunea august Sn 3h

Informatică 2021

Informatică – Sn – Bacalaureat 2021, sesiunea august (varianta 04)

Textul subiectului
Ministerul Educației Naționale Centrul Național de Evaluare și Examinare Examenul național de bacalaureat 2021 Proba E. d) INFORMATICĂ Limbajul C/C++ Varianta 4 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. Variabilele x și y sunt de tip real (x≠-2). Indicați o expresie C/C++ corespunzătoare expresiei aritmetice alăturate. a. (x+y/5+x-y/2)/x+2 b. (x+y)/5+(x-y)/2/(x+2) c. ((x+y)/5+(x-y)/2)/x+2 d. ((x+y)/5+(x-y)/2)/(x+2) 2. Termenii fiecăruia dintre șirurile de numere S1, S2 și S3 sunt scriși S1: 2, 22, 25, 23, 24; alăturat, în ordinea apariției lor în șir. Indicați șirul/șirurile cărora li se S2: 1, 8, 9, 6; poate aplica algoritmul de căutare binară direct, fără alte prelucrări S3: 9, 5, 4, 1. prealabile. a. doar S1 b. doar S3 c. doar S1 și S2 d. doar S2 și S3 3. În secvenţa de mai jos toate variabilele sunt de tip întreg, iar de la tastatură se citesc 10 numere naturale nenule. Indicați o instrucțiune care poate înlocui punctele de suspensie m=0; astfel încât, în urma executării secvenţei obţinute, valoarea for(i=1;i<=10;i++) variabilei m să fie ultimul dintre numerele mai mari sau egale cu { cin>>x; | scanf("%d",&x); 2021 citite, sau 0 dacă nu există niciun astfel de număr. ........... } a. if(x>=2021) m=x; b. if(x>=2021) x=m; c. if(x>=2021) m=x; d. if(x<2021) x=0; else m=0; else x=m; 4. Variabila x este de tip real. Indicați o expresie C/C++ care are valoarea 1 pentru orice număr memorat în variabila x. a. ceil(x)-1==ceil(x)+1 b. ceil(x)-1==ceil(x+1) c. ceil(x)+1==ceil(x-1) d. ceil(x)+1==ceil(x+1) 5. În secvența alăturată toate variabilele sunt întregi, iar variabila n s=0; i=1; memorează un număr natural nenul. Indicați o expresie care poate while(i*i<n) înlocui punctele de suspensie astfel încât, în urma executării { if(n%i==0)s=s+.....; secvenței obținute, variabila s să memoreze suma tuturor divizorilor i=i+1; naturali ai numărului memorat în variabila n. } if(i*i==n) s=s+i; a. i b. n/i c. i+n/i d. 2*i Probă scrisă la INFORMATICĂ Varianta 4 Limbajul C/C++ Filieră teoretică, profil real, specializare științe ale naturii Pagina 1 din 2 Ministerul Educației Naționale Centrul Național de Evaluare și Examinare SUBIECTUL al II-lea (40 de puncte) 1. Algoritmul alăturat este reprezentat în pseudocod. citește n,x,y S-a notat cu a%b restul împărțirii numărului natural a la (numere naturale nenule, x≤n, y≤n) numărul natural nenul b. ok0 a. Scrieți ce se afișează în urma executării algoritmului dacă ┌pentru i1,n execută se citesc, în această ordine, numerele 15, 3, 4. (6p.) │┌dacă (i%x=0 și i%y≠0) sau ││ (i%x≠0 și i%y=0) atunci b. Scrieți două seturi distincte de date de intrare, astfel încât, ││ scrie i, ' ' în urma executării algoritmului, pentru fiecare dintre ││ ok1 acestea să se afișeze valoarea 0. (6p.) │└■ c. Scrieți programul C/C++ corespunzător algoritmului dat. └■ (10p.) ┌dacă ok=0 atunci scrie 0 └■ d. Scrieți în pseudocod un algoritm echivalent cu cel dat, înlocuind structura pentru...execută cu o structură repetitivă cu test inițial. (6p.) 2. 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,48,50,60). Indicați elementele tabloului B, în ordinea apariției lor în acesta. (6p.) 3. Pentru fiecare dintre cei doi angajați ai unei societăți comerciale se cunosc anul nașterii și venitul. Variabilele întregi an1 și venit1 memorează anul nașterii primului angajat, respectiv venitul lunar al acestuia, iar variabilele întregi an2 și venit2 memorează anul nașterii celui de al doilea angajat, respectiv venitul lunar al acestuia. Cei doi angajați au venituri diferite. Scrieți o secvență de instrucțiuni C/C++ în urma executării căreia se afișează pe ecran date despre angajatul cu cel mai mare venit: venitul lunar al acestuia urmat, pe rândul următor, de anul nașterii sale. (6p.) SUBIECTUL al III-lea (30 de puncte) 1. Un număr natural n se numește cub perfect dacă există un număr natural b, astfel încât n=b3. Se citește un număr natural n (n≥1) și se cere să se scrie separate prin câte un spațiu, în ordine descrescătoare, primele n cuburi perfecte nenule. Scrieți, în pseudocod, algoritmul de rezolvare a problemei enunțate. Exemplu: dacă n=5 atunci, se scriu numerele 125 64 27 8 1 (10p.) 2. Scrieți un program C/C++ care citește de la tastatură două numere naturale din intervalul [2,102], k și n, și construiește în memorie un tablou unidimensional cu n elemente, numerotate de la 0 la n-1, astfel încât parcurgând fiecare poziție pară a sa, de la stânga la dreapta, să se obțină un șir strict crescător format din primii multipli naturali nenuli ai lui k și parcurgând fiecare poziție impară a sa, de la stânga la dreapta, să se obțină șirul strict crescător al primelor numere naturale. Elementele tabloului obținut sunt afișate pe ecran, separate prin câte un spațiu. Exemplu: pentru k=5 și n=9 se obține tabloul de mai jos (5, 0, 10, 1, 15, 2, 20, 3, 25). (10p.) 3. Numim pereche asemenea (x,y) două numere naturale, x și y, cu proprietatea că ultima cifră a lui x este egală cu ultima cifră a lui y. Fișierul numere.in conține numere naturale din intervalul [1,105]: pe prima linie două numere na și nb, pe a doua linie un șir A de na numere, iar pe a treia linie un șir B de nb numere. Numerele aflate pe aceeași linie a fișierului sunt separate prin câte un spațiu. Se cere să se afișeze pe ecran numărul de perechi asemenea (x,y), cu proprietatea că x este un termen al șirului A, iar y este un termen al șirului B. Proiectați un algoritm eficient din punctul de vedere al timpului de executare. Exemplu: dacă fișierul conține numerele 7 5 112 7 4 112 5013 824 10012 405 1024 321 52 6542 se afișează pe ecran numărul 8 deoarece sunt 8 perechi asemenea: (112,52), (112,6542), (4,1024), (112,52), (112,6542), (824,1024), (10012,52), (10012,6542). 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.) Probă scrisă la INFORMATICĂ Varianta 4 Limbajul C/C++ Filieră teoretică, profil real, specializare științe ale naturii Pagina 2 din 2

Alte subiecte la Informatică – Sn