DauExamen
Bacalaureat 2024 Model de subiect Sn 3h

Informatică 2024

Informatică – Sn – Bacalaureat 2024, model de subiect

Textul subiectului
Ministerul Educației Centrul Național de Politici și Evaluare în Educație Examenul național de bacalaureat 2024 Proba E. d) INFORMATICĂ Limbajul C/C++ Model 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. Variabila x este de tip întreg și poate memora un număr natural din intervalul x%2024 [0,109). Indicați valoarea maximă pe care o poate avea expresia C/C++ alăturată. a. 20.24 b. 295 c. 2023 d. 494071 2. În secvența de mai jos, toate variabilele sunt de tip întreg. for(i=0;i<7;i++) 2 2 2 2 2 2 2 { for(j=0;j<7;j++) 2 2 2 2 2 2 2 if(...........) cout<< "4 "; | printf("4 "); 2 2 2 2 2 2 2 else cout<< "2 "; | printf("2 "); 2 2 2 2 2 2 2 cout<<endl; | printf("\n "); 2 2 2 4 2 2 2 } 2 2 4 4 4 2 2 2 4 4 4 4 4 2 Indicați o expresie care poate înlocui punctele de suspensie astfel încât, în urma executării secvenței obținute, să se afișeze pe ecran cifrele din figura de mai sus, în această ordine. a. j<i && i+j>6 b. j<i && i+j<6 c. j>i && i+j>6 d. j>i && i+j<6 3. Tablourile unidimensionale A și B au valorile A=(40,35,24,10,7) și B=(60,20,16,6,2) și sunt interclasate în ordine crescătoare, fiind parcurse de la dreapta la stânga. Indicați numărul elementelor tabloului B care se compară cu elementul cu valoarea 24 din tabloul A pe parcursul aplicării metodei. a. 1 b. 2 c. 3 d. 4 4. Indicați valoarea expresiei C/C++ alăturate. floor(sqrt(24)) a. 2 b. 4 c. 5 d. 6 5. În secvențele notate cu s1, s2 și s3, definite mai jos, toate variabilele sunt întregi. //s1 //s3 rez=0; rez=0; for(i=1;i<=n;i++) if(n%2==1) rez=rez+i; { rez=n; n=n-1;} for(i=1;i<=n/2;i++) rez=rez+i+(n+1-i); //s2 rez=0; while(n>1) { rez=rez+n+(n-1); n=n-2; } Dacă valoarea inițială a variabilei n este 12, se obține aceeași valoare pentru variabila rez în urma executării, independent, a secvențelor: a. s1 și s2 b. s1 și s3 c. s2 și s3 d. s1, s2 și s3 Probă scrisă la INFORMATICĂ Model Limbajul C/C++ Filieră teoretică, profil real, specializare științe ale naturii Pagina 1 din 2 Ministerul Educației Centrul Național de Politici și Evaluare în Educație SUBIECTUL al II-lea (40 de puncte) 1. Algoritmul alăturat este reprezentat în pseudocod. citește n (număr natural nenul) S-a notat cu a%b restul împărțirii numărului natural a la m0; in numărul natural nenul b și cu [c] partea întreagă a ┌cât timp i≥1 execută numărului real c. │ citește x (număr natural) │┌cât timp x%10 ≤ [x/10]%10 execută a. Scrieți ce se afișează dacă se citesc, în această ││ x[x/10] ordine, numerele 4, 721, 20020, 1321, 211. (6p.) │└■ │ mm+x; ii-1 b. Dacă primul număr citit este 2, scrieți un set de └■ numere distincte din intervalul [10,104] care pot fi ┌dacă m≠n atunci scrie m citite în continuare astfel încât, în urma executării │altfel scrie „egal” algoritmului, să se afișeze mesajul egal. (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ă repetitivă cu o structură de tip pentru...execută. (6p.) 2. Pentru a verifica dacă într-un tablou unidimensional care memorează 7 numere naturale există elementul cu valoarea x=10, se aplică metoda căutării binare, iar succesiunea de elemente ale tabloului a căror valoare se compară cu valoarea lui x pe parcursul aplicării metodei indicate este: 20, 2, 4. Precizați succesiunea de valori care pot fi, în această ordine, elementele tabloului. (6p.) 3. Variabila prod memorează inițiala producătorului unui telefon (litera A pentru APPLE sau litera S pentru SAMSUNG), iar variabila pret memorează prețul acestuia (număr real). Declarați variabilele prod și pret și scrieți o secvență de instrucțiuni C/C++ care afișează pe ecran, pe linii separate, datele telefonului, precedate de cuvintele PRODUCATOR, respectiv PRET, scrise toate cu litere mari, ca în exemplu. Exemplu: dacă variabila prod memorează litera A, iar variabila pret memorează 1599.99 se afișează: PRODUCATOR APPLE PRET 1599.99 (6p.) SUBIECTUL al III-lea (30 de puncte) 1. Se citesc două numere naturale din intervalul [1,10 ], a și b, și se cere să se scrie produsul divizorilor 4 naturali comuni lui a și b. Scrieți, în pseudocod, algoritmul de rezolvare pentru problema enunțată. Exemplu: dacă a=20 și b=12, atunci se scrie valoarea 8 (1∙2∙4=8). (10p.) 2. Scrieți un program C/C++ care citește de la tastatură un număr natural n (n[1,102]), apoi un șir de n numere naturale distincte din intervalul [1,109], elemente ale unui tablou unidimensional. Programul afișează pe ecran termenii șirului, pe două linii separate, astfel încât prima linie să conțină mulțimea celor care au mai puțin de trei cifre, iar a doua linie să conțină mulțimea celor care au mai mult de trei cifre. Numerele de pe fiecare linie sunt afișate într-o ordine oarecare, iar dacă una dintre cele două mulțimi este vidă, se afișează pe ecran doar mesajul nu exista. Exemplu: pentru n=7 și tabloul (124,49,957,9000,2,5237,100000) se 49 2 pot afișa pe ecran valorile alăturate. (10p.) 9000 5237 100000 3. La un concurs se acordă premiile I și al II-lea. Fiecare premiant este recompensat cu câte o carte, care are un preț egal pentru toți cei cu același premiu. Prețurile cărților alese pentru premiile I și al II-lea sunt stabilite astfel încât să fie în ordine strict descrescătoare, iar pentru fiecare premiu să se ia în considerare cel mai mare preț pentru care există suficiente cărți propuse, în condițiile precizate. Fișierul bac.txt conține pe prima linie două numere naturale din intervalul [1,20], n1 și n2, reprezentând numărul concurenților care primesc premiile I, respectiv al II-lea, iar pe a doua linie un șir de cel mult 106 numere naturale din intervalul [10,103], separate prin câte un spațiu, fiecare număr reprezentând prețul unei cărți propuse pentru premiere. Se cere să se afișeze pe ecran, separate prin câte un spațiu, în ordine strict descrescătoare, prețurile cărților alese, corespunzătoare celor două premii, iar dacă nu există două astfel de prețuri, se afișează mesajul nu exista. Proiectați un algoritm eficient din punctul de vedere al timpului de executare. Exemplu: dacă fișierul conține valorile 3 2 500 100 25 100 200 100 20 10 200 100 75 52 15 52 20 20 10 30 20 15 100 se afișează pe ecran, în această ordine, numerele 100 52. 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Ă Model Limbajul C/C++ Filieră teoretică, profil real, specializare științe ale naturii Pagina 2 din 2

Alte subiecte la Informatică – Sn