Bacalaureat 2024 la informatică: examenul din vară, mate-info

Subiectul oficial din 2024, cu baremul, pe 90 de puncte. Grilele și răspunsurile scurte le verifici pe loc; restul le scrii aici sau pe caiet, apoi te verifici pe barem.

Subiectul pe care l-au primit elevii la Bac, în sesiunea din vară.

3 ore · 90 de puncte + 10 din oficiu

Subiectul (PDF)Baremul (PDF)

Pe timp, ca la examen

Ceasul merge și dacă închizi pagina. Poți lua o singură pauză. La final, nota estimată după barem.

Subiectul ISubiectul al II-leaSubiectul al III-lea

Subiectul I 20 p

Textul 1

Fragment original al subiectului de informatică I-1-p1

I.14 p

textul 1

Cerința e în imaginea de mai sus, exact ca în subiectul oficial.

Vezi rezolvarea

Răspuns: a) Varianta a

Textul 2

Fragment original al subiectului de informatică I-2-p1

I.24 p

textul 2

Cerința e în imaginea de mai sus, exact ca în subiectul oficial.

Vezi rezolvarea

Răspuns: d) Varianta d

Textul 3

Fragment original al subiectului de informatică I-3-p1

I.34 p

textul 3

Cerința e în imaginea de mai sus, exact ca în subiectul oficial.

Vezi rezolvarea

Răspuns: c) Varianta c

Textul 4

Fragment original al subiectului de informatică I-4-p1

I.44 p

textul 4

Cerința e în imaginea de mai sus, exact ca în subiectul oficial.

Vezi rezolvarea

Răspuns: d) Varianta d

Textul 5

Fragment original al subiectului de informatică I-5-p1

I.54 p

textul 5

Cerința e în imaginea de mai sus, exact ca în subiectul oficial.

Vezi rezolvarea

Răspuns: b) Varianta b

Subiectul al II-lea 40 p

Textul 6

Fragment original al subiectului de informatică II-1-p2

II.1.a6 p

textul 6

Cerința e în imaginea de mai sus, exact ca în subiectul oficial.

Vezi rezolvarea

Răspuns: 9

II.1.b6 p

textul 6

Construiește datele de intrare cerute în fragment.

Verifică-te pe barem

Un exemplu de răspuns

Un set posibil este 6 și 7. Sunt distincte și aparțin intervalului cerut. După o împărțire întreagă la 3, ambele devin 2, deci produsul este 2*2=4.

Exemplu scris de Zece, nu singurul răspuns bun.

Criterii (după barem)

  1. b. Pentru răspuns corect6 p

II.1.c10 p

textul 6

Scrie programul C/C++ corespunzător algoritmului din fragment.

Verifică-te pe barem

Un exemplu de răspuns

#include <iostream>
using namespace std;
int main(){int n,p=1,x;cin>>n;for(int i=1;i<=n;i++){cin>>x;do{x/=3;}while(x>3);if(x!=0)p*=x;}
 cout<<p;return 0;}

Exemplu scris de Zece, nu singurul răspuns bun.

Criterii (după barem)

  1. declarare a variabilelor1 p
  2. citire a datelor1 p
  3. afișare a datelor1 p
  4. instrucțiune de decizie2 p
  5. instrucțiuni repetitive (*)3 p
  6. atribuiri1 p
  7. corectitudine globală a programului 1)1 p

II.1.d6 p

textul 6

Rescrie algoritmul folosind structura repetitivă cerută.

Verifică-te pe barem

Un exemplu de răspuns

citește n
p <- 1; i <- 1
cât timp i<=n execută
  citește x
  repetă
    x <- [x/3]
  până când x<=3
  dacă x<>0 atunci p <- p*x
  i <- i+1
scrie p

Exemplu scris de Zece, nu singurul răspuns bun.

Criterii (după barem)

  1. utilizare a unei structuri repetitive de tipul indicat (*)2 p
  2. aspecte specifice ale secvenței obținute prin înlocuire, conform cerinței (**)3 p
  3. algoritm complet, corectitudine globală a algoritmului 1)1 p
Textul 7

Fragment original al subiectului de informatică II-2-p2

II.26 p

textul 7

Cerința e în imaginea de mai sus, exact ca în subiectul oficial.

Vezi rezolvarea

Răspuns: 2 3 1 7

Textul 8

Fragment original al subiectului de informatică II-3-p2

II.36 p

textul 8

Rezolvă cerința din fragmentul original.

Verifică-te pe barem

Un exemplu de răspuns

for(i=0;i<9;i++)
 for(j=0;j<9;j++)
  if(i+j<4 || i+j>12)a[i][j]=4;
  else a[i][j]=2;

Exemplu scris de Zece, nu singurul răspuns bun.

Criterii (după barem)

  1. expresie de accesare a unui element al tabloului1 p
  2. valori ale elementelor tabloului atribuite conform cerinței (*)4 p
  3. corectitudine globală a secvenței 1)1 p

Subiectul al III-lea 30 p

Textul 9

Fragment original al subiectului de informatică III-1-p2

III.110 p

textul 9

Rezolvă cerința din fragmentul original.

Verifică-te pe barem

Un exemplu de răspuns

int majImp(int a,int b){for(int v=a;v<=b;v++){int si=0,sp=0;
 for(int d=2;d*d<=v;d++)if(v%d==0){int q=v/d;if(d%2)si+=d;else sp+=d;
  if(q!=d){if(q%2)si+=q;else sp+=q;}}
 if(si>sp)return v;
 }return 0;
}

Exemplu scris de Zece, nu singurul răspuns bun.

Criterii (după barem)

  1. antet al subprogramului (*)2 p
  2. determinare a valorii cerute (**)6 p
  3. instrucțiune/instrucțiuni de returnare a rezultatului tratare a cazului 0 și1 p
  4. declarare a tuturor variabilelor locale, corectitudine globală a subprogramului 1)1 p
Textul 10

Fragment original al subiectului de informatică III-2-p2

III.210 p

textul 10

Rezolvă cerința din fragmentul original.

Verifică-te pe barem

Un exemplu de răspuns

#include <iostream>
#include <sstream>
#include <string>
using namespace std;
int main(){string s,c;getline(cin,s);istringstream in(s);in>>c;int n=c.size();bool ok=true;
 while(in>>c)if((int)c.size()!=n)ok=false;
 if(ok)cout<<"DA "<<n;else cout<<"NU";return 0;}

Exemplu scris de Zece, nu singurul răspuns bun.

Criterii (după barem)

  1. declarare a unei variabile care să permită memorarea unui text, conform cerinței1 p
  2. citire a datelor1 p
  3. verificare a proprietății cerute (*)6 p
  4. afișare a datelor în formatul cerut1 p
  5. declarare a variabilelor simple, corectitudine globală a programului 1)1 p
Textul 11

Fragment original al subiectului de informatică III-3-p2

III.3.a2 p

textul 11

Descrie algoritmul și justifică eficiența lui.

Verifică-te pe barem

Un exemplu de răspuns

Păstrez lungimea secvenței curente de valori consecutive crescătoare și ultimul element. Dacă v=precedent+1, o prelungesc; altfel reîncep cu lungimea 1. Rețin lungimea maximă și ultimul element al unei secvențe maxime. Cotele sunt apoi ultim-maxim+1,...,ultim. Timp O(m+L), memorie O(1), unde L este numărul cotelor afișate.

Exemplu scris de Zece, nu singurul răspuns bun.

Criterii (după barem)

  1. coerență a descrierii algoritmului (*)1 p
  2. justificare a elementelor de eficiență1 p

III.3.b8 p

textul 11

Scrie programul C/C++ pentru problema din fragment.

Verifică-te pe barem

Un exemplu de răspuns

#include <iostream>
#include <fstream>
using namespace std;
int main(){ifstream f("bac.txt");int v,precedent=-1,lung=0,maxim=0,ultim=0;
 while(f>>v){if(precedent!=-1 && v==precedent+1)lung++;else lung=1;
  if(lung>maxim){maxim=lung;ultim=v;}precedent=v;}
 if(maxim<2)cout<<"nu exista";else for(int x=ultim-maxim+1;x<=ultim;x++)cout<<x<<' ';
 return 0;}

Exemplu scris de Zece, nu singurul răspuns bun.

Criterii (după barem)

  1. operații cu fișiere: declarare, pregătire în vederea citirii, citire din fișier1 p
  2. determinare a valorilor cerute (*),(**)5 p
  3. utilizare a unui algoritm eficient (***)1 p
  4. declarare a variabilelor, afișare a datelor și tratare a cazului nu exista, corectitudine globală a programului 1)1 p
Ai terminat? Bifează pe barem ce ai făcut și află câte puncte ai fi luat. Alte subiecte de informatică.