Bacalaureat 2021 la informatică: modelul oficial, științele naturii

Subiectul oficial din 2021, 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: b) Varianta b

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

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

Subiectul al II-lea 40 p

Textul 6

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

II.1.a6 p

textul 6

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

Vezi rezolvarea

Răspuns: 46

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 2101,2303,2505. Ultima cifră este impară și face să fie copiat 0. Cifra 0 scade k la 1. Următoarea cifră impară face să fie copiat 2, obținând nr=20; cifra 2 scade apoi k la 0.

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,k,p=1,nr,c;cin>>n>>k;if(k==0)nr=-1;else{nr=0;do{c=n%2;n/=10;if(c!=0){nr+=(n%10)*p;p*=10;}else k--;}while(n!=0 && k!=0);}cout<<nr;return 0;}

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

Criterii (după barem)

  1. declarare variabile1 p
  2. citire date1 p
  3. afișare date1 p
  4. instrucțiuni de decizie (*)3 p
  5. instrucțiune repetitivă2 p
  6. atribuiri1 p
  7. 1) -corectitudine globală a programului1 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,k
p <- 1
dacă k=0 atunci nr <- -1
altfel
  nr <- 0; continuă <- 1
  cât timp continuă=1 execută
    c <- n%2; n <- [n/10]
    dacă c<>0 atunci
      nr <- nr+(n%10)*p; p <- p*10
    altfel k <- k-1
    dacă n=0 sau k=0 atunci continuă <- 0
scrie nr

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

Criterii (după barem)

  1. echivalență a prelucrării realizate, conform cerinței (*)5 p
  2. 1) -corectitudine globală a algoritmului1 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: 16

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

if((an==2020 && luna==12 && zi>=23) || (an==2021 && luna==1 && zi<=10))cout<<"vacanta";
else cout<<"scoala";

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

Criterii (după barem)

  1. determinare a perioadei de vacanță/școală (*)3 p
  2. afișare a mesajelor (**)2 p
  3. 1) -corectitudine globală a algoritmului1 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

citește n
y <- 0; x <- 0; v <- n-1
cât timp x=0 execută
  prim <- 1; d <- 2
  cât timp d*d<=v execută
    dacă v%d=0 atunci prim <- 0
    d <- d+1
  dacă prim=1 atunci
    dacă y=0 atunci y <- v
    altfel x <- v
  v <- v-1
scrie x,y

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

Criterii (după barem)

  1. citire a datelor1 p
  2. determinare a valorilor cerute (*)6 p
  3. scriere a datelor1 p
  4. scriere principial corectă a structurilor de control, corectitudine globală a 1) algoritmului (**)2 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>
using namespace std;
int main(){int n,a[100];cin>>n;for(int i=0;i<n;i++){int q=n-1-i;a[i]=4*q*q;}
 for(int i=0;i<n;i++)cout<<a[i]<<' ';return 0;}

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

Criterii (după barem)

  1. declarare a unei variabile care să memoreze un tablou unidimensional1 p
  2. acces la un element al tabloului1 p
  3. citire a datelor1 p
  4. construire a tabloului cerut (*)5 p
  5. afișare a datelor în formatul cerut1 p
  6. declarare a variabilelor simple, 1) corectitudine globală a programului1 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

Adun pe fiecare tip suma cantitate*preț pentru toate achizițiile lui, apoi determin maximul celor 100 de sume. Folosesc long long deoarece totalul poate ajunge la 10^10. Timp O(m+100), memorie O(100).

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("cheltuieli.in");long long s[101]={0},maxim=0;int t,n,p;while(f>>t>>n>>p)s[t]+=1LL*n*p;
 for(int i=1;i<=100;i++)if(s[i]>maxim)maxim=s[i];cout<<maxim;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 valorii cerute (*),(**)5 p
  3. utilizare a unui algoritm eficient (***)1 p
  4. declarare a variabilelor, afișare a datelor, corectitudine globală a1 p
Ai terminat? Bifează pe barem ce ai făcut și află câte puncte ai fi luat. Alte subiecte de informatică.