Textul subiectului și baremului
Subiect BAC Informatică Științe ale Naturii C/C++ 2023 – sesiunea august–septembrie, 18 august 2023, varianta 7
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 Centrul Național de Politici și Evaluare în Educație Probă scrisă la informatică Varianta 7 Limbajul C/C++ Filieră teoretică, profil real, specializare științe ale naturii Pagina 1 din 2 Examenul național de bacalaureat 2023 Proba E. d) Informatică Limbajul C/C++ Varianta 7 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 numerele pe care le pot memora variabilele întregi x și y, astfel încât valoarea expresiei C/C++ alăturate să fie 1. y%x–(x/y)*3!=0 a. x=25 și y=75 b. x=25 și y=15 c. x=15 și y=0 d. x=10 și y=30 2. Variabila x este de tip char. Indicați ce se afișează pe ecran în urma executării secvenței alăturate. x=’2’; x=x+3; cout<<x; | printf(“%c”,x); a. 5 b. 23 c. ’2’3 d. ”2+3” 3. Pentru a verifica dacă în tabloul unidimensional (6,7,11,15,16,25,30) există elementul cu valoarea x=11, se aplică metoda căutării binare. Indicați succesiunea de elemente ale tabloului a căror valoare se compară cu valoarea lui x pe parcursul aplicării metodei indicate. a. 15, 16, 11 b. 15, 7, 11 c. 6, 11 d. 6, 7, 11 4. Indicați o expresie C/C++ care are valoarea 1 oricare ar fi numărul nenul memorat în variabila reală x. a. ceil(x)*ceil(x)==x*x b. ceil(x)<=x c. ceil(ceil(x))==ceil(x) d. ceil(x)==1/x 5. În secvența de instrucțiuni alăturată, toate variabilele sunt întregi și memorează numere naturale. Indicați o instrucțiune care atribuie lui s aceeași valoare ca cea obținută în urma executării secvenței alăturate, pentru orice valori nenule ale variabilelor x și y (x<y). s=0; for(i=x;i<=y;i++) s=s+i; a. s=y*(y-1)/2-x*(x-1)/2; b. s=y*(y-1)/2-x*(x+1)/2; c. s=y*(y+1)/2-x*(x+1)/2; d. s=y*(y+1)/2-x*(x-1)/2; SUBIECTUL al II-lea (40 de puncte) 1. Algoritmul alăturat este reprezentat în pseudocod. S-a notat cu [c] partea întreagă a numărului real c. citește n (număr natural nenul) x0 ┌cât timp n>0 execută │ citește a,b (numere naturale) │ ca; p1 │┌cât timp a>9 execută ││ a[a/10]; pp*10 │└■ │ aa*p+b │┌dacă a≠c atunci ││ xx+1 │└■ │ nn-1 └■ scrie x a. Scrieți valoarea afișată dacă se citesc, în această ordine, numerele 3, 746, 82, 3067, 67, 78, 178. (6p.) b. Dacă pentru n se citește numărul 2, scrieți un șir de numere naturale din intervalul [0,9] care pot fi citite în continuare, în acea ordine, astfel încât, în urma executării algoritmului, să se afișeze valoarea 0. (6p.) c. Scrieți programul C/C++ corespunzător algoritmului dat. (10p.) d. Scrieți în pseudocod un algoritm, echivalent cu cel dat, înlocuind prima structură cât timp...execută cu o structură repetitivă de tip pentru...execută. (6p.) 2. Scrieți elementele unui tablou unidimensional B, în ordinea în care ele pot apărea în acesta, astfel încât, prin metoda interclasării tablourilor A=(4,21,49,57) și B, fără alte prelucrări prealabile, să se obțină tabloul (65,57,49,21,21,10,4). (6p.)
Subiectul · pagina 2
Ministerul Educației Centrul Național de Politici și Evaluare în Educație Probă scrisă la informatică Varianta 7 Limbajul C/C++ Filieră teoretică, profil real, specializare științe ale naturii Pagina 2 din 2 3. Variabila reală p memorează prețul unui produs. Declarați variabila p și scrieți o secvență de instrucțiuni C/C++ prin care se afișează pe ecran mesajul ieftin, dacă prețul produsului este strict mai mic decât 100, mesajul moderat dacă prețul produsului aparține intervalului [100,500] sau mesajul scump, în caz contrar. (6p.) SUBIECTUL al III-lea (30 de puncte) 1. Se citește un număr natural nenul, n, și se cere să se scrie, separați prin câte un spațiu, toți divizorii pozitivi impari ai lui n care NU sunt primi. Scrieţi, în pseudocod, algoritmul de rezolvare a problemei enunțate. Exemplu: dacă n=90, se scriu, nu neapărat în această ordine, numerele 1 9 15 45. (10p.) 2. Un joc folosește o tablă pe care este reprezentat un șir de n celule de dimensiune egală, dispuse una lângă alta. În fiecare celulă este înscris un număr natural. Numim pereche de valoare p două celule ale tablei, situate pe poziții consecutive, cu proprietatea că suma valorilor înscrise în aceste celule este egală cu p. Scopul jocului este determinarea unei perechi de valoare maximă. Scrieți un program C/C++ care citește de la tastatură un număr natural, n (n∈[2,20]), apoi cele n elemente ale unui tablou unidimensional, numere naturale din intervalul [0,104], reprezentând numerele înscrise pe tabla de joc, în ordinea dispunerii celulelor corespunzătoare. Programul determină o pereche de valoare maximă pentru tabla dată și afișează pe ecran această valoare. Exemplu: pentru n=8 și tabla 1 12 11 1 14 4 2 16 se afișează valoarea 23, corespunzătoare perechii evidențiate. (10p.) 3. Fișierul date.in conține pe prima linie două numere naturale din intervalul [1,103], m și n, iar pe următoarele două linii numere naturale din intervalul [0,103): pe a doua linie un șir A, de m numere distincte, iar pe a treia linie un șir B, de n numere distincte. Numerele aflate pe aceeași linie sunt separate prin câte un spațiu. Se cere să se afișeze pe ecran numărul de perechi de forma (pa,pb) (pa∈[1,m], pb∈[1,n]), cu proprietatea că termenul de pe poziția pa din șirul A are aceeași valoare cu termenul de pe poziția pb din șirul B și că fiecare poziție, corespunzătoare șirului A, respectiv șirului B, apare în cel mult o pereche, ca în exemplu. Proiectați un algoritm eficient din punctul de vedere al timpului de executare. Exemplu: dacă fișierul conține numerele alăturate, se afișează pe ecran 5 (pentru perechile (1,1), (2,8), (4,2), (5,5), (6,7)). 7 8 1 0 4 2 5 3 8 1 2 6 9 5 7 3 0 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 Centrul Naţional de Politici şi Evaluare în Educaţie Probă scrisă la informatică Varianta 7 Filieră teoretică, profil real, specializare științe ale naturii Barem de evaluare și de notare Pagina 1 din 2 Examenul național de bacalaureat 2023 Proba E. d) Informatică BAREM DE EVALUARE ȘI DE NOTARE (comun pentru limbajele C/C++ şi Pascal) Varianta 7 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 la zece a punctajului total acordat pentru lucrare. • Utilizarea unui tip de date care depășește domeniul de valori precizat în enunț (de exemplu tipuri întregi cu semn pentru memorarea numerelor naturale, dimensiune a tablourilor) este acceptată din punctul de vedere al corectitudinii programului, dacă acest lucru nu afectează funcționarea sa. SUBIECTUL I (20 de puncte) 1b 2a 3b 4c 5d 5x4p. SUBIECTUL al II - lea (40 de puncte) 1. a. Răspuns corect: 2 6p. b. Pentru răspuns corect 6p. Se acordă numai 2p. dacă s-au precizat patru numere, dar acestea nu conduc la scrierea valorii cerute, și numai 4p. dacă s-au precizat patru numere care conduc la scrierea valorii cerute, dar nu toate aparțin intervalului indicat. O soluție corectă este un șir de forma x, 0, y, 0, unde x și y sunt numere din intervalul indicat. c. Pentru program corect - variabile declarate, conform cerinței - date citite, conform cerinței - date afișate, conform cerinței - instrucţiuni repetitive, conform cerinței (*) - instrucțiune de decizie, conform cerinței - atribuiri, conform cerinței - corectitudine globală a programului1) 10p. 1p. 1p. 1p. 3p. 2p. 1p. 1p. (*) Se acordă numai 2p. dacă doar una dintre instrucțiunile repetitive este conform cerinței. d. Pentru algoritm pseudocod corect - structură repetitivă de tipul cerut (*) - aspecte specifice ale secvenței obținute prin înlocuire, conform cerinței (**) - algoritm complet, corectitudine globală a algoritmului1) 6p. 2p. 3p. 1p. (*) Se acordă punctajul chiar dacă algoritmul obținut nu este echivalent cu cel dat. Se va puncta orice formă de structură repetitivă conform cerinței (pentru...execută, for...do etc.). (**) Se acordă câte 1p. pentru fiecare aspect specific (expresie inițială a contorului, expresie finală a contorului, doar actualizare automată a contorului) conform cerinței. 2. Răspuns corect: 65,21,10 6p. Se acordă câte 3p. pentru fiecare aspect specific (elemente suport, valori ordonate) conform cerinței. Observație: se consideră corectă atât enumerarea elementelor în ordine crescătoare, cât și în ordine descrescătoare. 3. Pentru rezolvare corectă - variabilă declarată conform cerinței - date afișate conform cerinței (*) - corectitudine globală a secvenței1) 6p. 1p. 4p. 1p. (*) Se acordă câte 1p. pentru fiecare aspect specific (corelare mesaje preț, tratare caz – ieftin, tratare caz - moderat, tratare caz - scump) conform cerinței. SUBIECTUL al III - lea (30 de puncte) 1. Pentru algoritm corect - date citite, conform cerinței - valori determinate, conform cerinței (*) - date scrise, conform cerinței - structuri de control scrise principial corect, corectitudine globală a algoritmului1) (**) 10p. 1p. 6p. 1p. 2p. (*) Se acordă câte 2p. pentru fiecare aspect (determinare a unui divizor, identificare a unui număr prim/care nu este prim, divizori suport determinați) conform cerinței. (**) Se va puncta orice formă explicită de structură repetitivă sau decizională.
Baremul · pagina 2
Ministerul Educaţiei Centrul Naţional de Politici şi Evaluare în Educaţie Probă scrisă la informatică Varianta 7 Filieră teoretică, profil real, specializare științe ale naturii Barem de evaluare și de notare Pagina 2 din 2 2. Pentru program corect - variabilă de tip tablou unidimensional, declarată conform cerinței - date citite conform cerinței - valoare determinată conform cerinței (*) - date afişate, conform cerinței - variabile simple declarate conform cerinței, corectitudine globală a programului1) 10p. 1p. 1p. 6p. 1p. 1p. (*) Se acordă câte 1p. pentru fiecare aspect (identificare a unei perechi situate în interiorul tabloului, identificare a unei perechi situate la începutul tabloului, identificare a unei perechi situate la finalul tabloului, determinare a valorii unei perechi, algoritm principial corect de determinare a unei valori maxime, perechi suport verificate pentru determinarea valorii maxime) conform cerinței. 3. a. Pentru răspuns corect - descriere coerentă a algoritmului, conform cerinței (*) - elemente de eficienţă justificate, conform cerinței 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 frecvență, a, unde ai este 1 dacă valoarea i apare într-un singur șir, este 2 dacă valoarea i apare în ambele șiruri sau este 0 altfel; vectorul este completat pe măsura citirii datelor din fișier, iar numărul afișat se obține ulterior, prin numărarea pozițiilor i pentru care ai= 2. b. Pentru program corect - operaţii cu fişiere: declarare, pregătire în vederea citirii, citire din fişier - valoare determinată, conform cerinței (*),(**) - eficiență a algoritmului, conform cerinței (***) - variabile declarate, afișare a datelor conform cerinței, corectitudine globală a programului1) 8p. 1p. 5p. 1p. 1p. 1) Corectitudinea globală vizează structura, sintaxa, alte aspecte neprecizate în barem.