Bacalaureat 2023 la informatică: simularea, mate-info

Subiectul oficial din 2023, 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.

Proba de antrenament dată în școli, de obicei în martie. Nota nu contează.

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

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

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

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: 474

II.1.b6 p

textul 6

Construiește datele de intrare cerute în fragment.

Verifică-te pe barem

Un exemplu de răspuns

Trei exemple sunt 521,531,5021. Sunt impare, au cifre distincte și respectă intervalul. Cifra 5 devine un zero inițial, care dispare; eventualul 0 al doilea dispare tot ca zero inițial. Cifrele 2 sau 3 ajung 3, iar 1 ajunge 4.

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(){long long n,cn,p;int x=5,c;cin>>n;do{cn=n;n=0;p=1;
 do{c=cn%10;if(c==x)c=5-c;n=c*p+n;cn/=10;p*=10;}while(cn!=0);x--;}while(x!=0);
 cout<<n;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. de decizie -instrucțiune2 p
  5. repetitive (*) -instrucțiuni3 p
  6. atribuiri1 p
  7. globală a -corectitudine 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
pentru x <- 5,1,-1 execută
  cn <- n; n <- 0; p <- 1
  repetă
    c <- cn%10
    dacă c=x atunci c <- 5-c
    n <- c*p+n; cn <- [cn/10]; p <- p*10
  până când cn=0
scrie n

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. complet, corectitudine globală a -algoritm 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

Un exemplu de trei muchii este [1,5], [2,4], [3,6]. Nodurile cu grad impar sunt 1,2,3,4,5,6; fiecare primește exact o muchie nouă. Nodul 7 rămâne de grad par, iar graful rămâne conex, deci devine eulerian.

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

Criterii (după barem)

  1. Pentru rezolvare corectă6 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=1;i<=5;i++)
 for(j=1;j<=5;j++)
  if(i+j<=6)a[i][j]=5-j;
  else a[i][j]=i-1;

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

Criterii (după barem)

  1. acces la un element al tabloului1 p
  2. atribuire a valorilor indicate conform cerinței (*)4 p
  3. globală a secvenței -corectitudine 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>
void NrImp(int x,int y,int &nr){int L=1;while(1LL*(L+1)*(L+1)<=y)L++;std::vector<bool> prim(L+1,true);
 if(L>=0)prim[0]=false;if(L>=1)prim[1]=false;
 for(int d=2;d*d<=L;d++)if(prim[d])for(int v=d*d;v<=L;v+=d)prim[v]=false;
 nr=0;for(int p=3;p<=L;p+=2)if(prim[p])for(long long v=1LL*p*p;v<=y;v*=2){if(v>=x)nr++;if(v>y/2)break;}
}

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

Criterii (după barem)

  1. antet al subprogramului (*)3 p
  2. a numărului cerut (**) -determinare6 p
  3. declarare a 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,rez;getline(cin,s);istringstream in(s);
 while(in>>c){if(c.back()=='.'){if(c[0]=='F')c="fam.";else if(c[0]=='G')c="gen.";else c="spe.";}
  if(!rez.empty())rez+=' ';rez+=c;}
 cout<<rez;return 0;}

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

Criterii (după barem)

  1. a unei variabile care să -declarare memoreze un șir de caractere1 p
  2. citire a datelor1 p
  3. a șirului cerut -determinare (*)6 p
  4. afișare a datelor1 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 maximul temperaturilor anterioare și temperatura imediat precedentă. Pasul curent este reprezentativ dacă temperatura este cel puțin maximul și diferă de precedenta. Astfel reiau un maxim egal după o temperatură mai mică, dar evit repetările consecutive. Timp O(m), memorie O(1).

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

Criterii (după barem)

  1. a descrierii algoritmului (*) -coerență1 p
  2. a unor elemente de eficiență -justificare1 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,maxim=-1,precedent=-1,pas=0;while(f>>v){pas++;if(v>=maxim && v!=precedent)cout<<pas<<' ';if(v>maxim)maxim=v;precedent=v;}
 return 0;}

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

Criterii (după barem)

  1. cu fișiere: declarare, pregătire în -operații vederea citirii, citire din fișier1 p
  2. determinare a valorilor cerute (*),(**)5 p
  3. utilizare a unui algoritm eficient (***)1 p
  4. a variabilelor, afișare a -declarare 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ă.