Bacalaureat 2024 la informatică: modelul oficial, 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.

Arată cum va arăta subiectul de la Bac.

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: c) Varianta c

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: a) Varianta a

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: b) Varianta b

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

Scrie ce se afișează pentru datele indicate în fragment.

Verifică-te pe barem

Un exemplu de răspuns

2024
După eliminările de cifre din dreapta, numerele devin 7,2002,13,2. Suma este 2024, diferită de n=4, deci se afișează 2024.

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

Criterii (după barem)

  1. a) Răspuns corect: 2024 corect6 p

II.1.b6 p

textul 6

Construiește datele de intrare cerute în fragment.

Verifică-te pe barem

Un exemplu de răspuns

Un exemplu este 11 și 111. Fiecare se reduce la 1, astfel suma m devine 2, egală cu n=2. Numerele sunt distincte și aparțin intervalului cerut.

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

Criterii (după barem)

  1. b) Pentru răspuns6 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,m=0,i,x;cin>>n;i=n;while(i>=1){cin>>x;while(x%10<=x/10%10)x/=10;m+=x;i--;}
 if(m!=n)cout<<m;else cout<<"egal";return 0;}

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

Criterii (după barem)

  1. conform cerinței - declarare a variabilelor1 p
  2. conform cerinței - citire a datelor1 p
  3. conform cerinței - afișare a datelor1 p
  4. conform cerinței(*) - instrucțiuni repetitive3 p
  5. instrucțiune conform cerinței - de decizie2 p
  6. conform cerinței - 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
m <- 0
pentru i <- n,1,-1 execută
  citește x
  cât timp x%10<=[x/10]%10 execută
    x <- [x/10]
  m <- m+x
dacă m<>n atunci scrie m
altfel scrie 'egal'

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

Criterii (după barem)

  1. utilizare a unei structuri repetitive de tip pentru ...execută (*)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

Rezolvă cerința din fragmentul original.

Verifică-te pe barem

Un exemplu de răspuns

struct telefon{char producator;int frecventa;double dimensiune[3];};
telefon t;

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

Criterii (după barem)

  1. definire a structurii/înregistrării (*)4 p
  2. variabilei conform cerinței - declarare a1 p
  3. corectitudine globală a secvenței - 1)1 p
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<24;i++)
 if(a[0][i]==2024 && a[3][i]==2024)cout<<i<<' ';

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

Criterii (după barem)

  1. determinare a valorilor indicate (*)4 p
  2. afișare a datelor în formatul indicat -1 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

#include <vector>
#include <ostream>
struct NumarMare{std::vector<int> c;NumarMare(){c.push_back(1);}
 void inmulteste(int x){int t=0;for(unsigned i=0;i<c.size();i++){t+=c[i]*x;c[i]=t%10;t/=10;}while(t){c.push_back(t%10);t/=10;}}
};
std::ostream& operator<<(std::ostream& out,const NumarMare& n){for(int i=(int)n.c.size()-1;i>=0;i--)out<<n.c[i];return out;}
NumarMare produs(int a,int b){NumarMare p;for(int d=1;d<=a && d<=b;d++)if(a%d==0 && b%d==0)p.inmulteste(d);return p;}

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

Criterii (după barem)

  1. antet al subprogramului (*)2 p
  2. determinare a numărului cerut - (**)6 p
  3. instrucțiune/instrucțiuni de returnare a - rezultatului1 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>
#include <limits>
using namespace std;
int main(){int n;cin>>n;cin.ignore(numeric_limits<streamsize>::max(),'\n');string s,c,mici,mari;getline(cin,s);istringstream in(s);
 while(in>>c){if((int)c.size()<n){if(!mici.empty())mici+=' ';mici+=c;}
  if((int)c.size()>n){if(!mari.empty())mari+=' ';mari+=c;}}
 if(mici.empty() || mari.empty())cout<<"nu exista";else cout<<mici<<'\n'<<mari;return 0;}

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

Criterii (după barem)

  1. declarare a unei variabile care să - memoreze un șir de caractere1 p
  2. citire a datelor1 p
  3. afișare conform cerinței - a cuvintelor (*)6 p
  4. tratare a cazului nu exista1 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

Construiesc frecvențele prețurilor, apoi caut descrescător cel mai mare preț cu cel puțin n1 apariții. Continui strict sub el pentru n2, apoi strict sub al doilea pentru n3. Dacă o căutare eșuează, afișez nu exista. Timp O(m+1000), memorie O(1000).

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

Criterii (după barem)

  1. coerentă a - descriere algoritmului (*)1 p
  2. de eficiență - justificare a elementelor1 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 nevoie[3],frec[1001]={0},v,rez[3],p=1000;for(int i=0;i<3;i++)f>>nevoie[i];while(f>>v)frec[v]++;
 bool ok=true;for(int i=0;i<3;i++){while(p>=10 && frec[p]<nevoie[i])p--;if(p<10){ok=false;break;}rez[i]=p;p--;}
 if(ok)cout<<rez[0]<<' '<<rez[1]<<' '<<rez[2];else cout<<"nu exista";return 0;}

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

Criterii (după barem)

  1. declarare, pregătire - operații cu fișiere: î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 - corectitudine globală a datelor, 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ă.