Bacalaureat 2024 la informatică: modelul oficial, științele naturii
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.
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

I.14 p
Cerința e în imaginea de mai sus, exact ca în subiectul oficial.
Vezi rezolvarea
Răspuns: c) Varianta c
Textul 2

I.24 p
Cerința e în imaginea de mai sus, exact ca în subiectul oficial.
Vezi rezolvarea
Răspuns: a) Varianta a
Textul 3

I.34 p
Cerința e în imaginea de mai sus, exact ca în subiectul oficial.
Vezi rezolvarea
Răspuns: c) Varianta c
Textul 4

I.44 p
Cerința e în imaginea de mai sus, exact ca în subiectul oficial.
Vezi rezolvarea
Răspuns: b) Varianta b
Textul 5

I.54 p
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

II.1.a6 p
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.
II.1.b6 p
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.
II.1.c10 p
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.
II.1.d6 p
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.
Textul 7

II.26 p
Rezolvă cerința din fragmentul original.
Verifică-te pe barem
Un exemplu de răspuns
Un exemplu este (1,2,4,20,21,22,23). Mijlocul inițial este 20; deoarece 10<20, se verifică 2; deoarece 10>2, se verifică 4 și apoi căutarea se încheie fără găsire.
Exemplu scris de Zece, nu singurul răspuns bun.
Textul 8

II.36 p
Rezolvă cerința din fragmentul original.
Verifică-te pe barem
Un exemplu de răspuns
char prod;double pret;
cout<<"PRODUCATOR "<<(prod=='A'?"APPLE":"SAMSUNG")<<'\n';
cout<<"PRET "<<pret;Exemplu scris de Zece, nu singurul răspuns bun.
Subiectul al III-lea 30 p
Textul 9

III.110 p
Rezolvă cerința din fragmentul original.
Verifică-te pe barem
Un exemplu de răspuns
citește a,b
p <- 1
pentru d <- 1,minim(a,b) execută
dacă a%d=0 și b%d=0 atunci p <- p*d
scrie pExemplu scris de Zece, nu singurul răspuns bun.
Textul 10

III.210 p
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;bool mici=false,mari=false;for(int i=0;i<n;i++){cin>>a[i];if(a[i]<100)mici=true;if(a[i]>=1000)mari=true;}
if(!mici || !mari)cout<<"nu exista";
else{for(int i=0;i<n;i++)if(a[i]<100)cout<<a[i]<<' ';cout<<'\n';for(int i=0;i<n;i++)if(a[i]>=1000)cout<<a[i]<<' ';}
return 0;}Exemplu scris de Zece, nu singurul răspuns bun.
Textul 11

III.3.a2 p
Descrie algoritmul și justifică eficiența lui.
Verifică-te pe barem
Un exemplu de răspuns
Număr frecvențele prețurilor. Caut descrescător cel mai mare preț cu cel puțin n1 cărți, apoi strict sub acesta cel mai mare preț cu cel puțin n2 cărți. Lipsa unuia înseamnă nu exista. Timp O(m+1000), memorie O(1000).
Exemplu scris de Zece, nu singurul răspuns bun.
III.3.b8 p
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 n1,n2,frec[1001]={0},v;f>>n1>>n2;while(f>>v)frec[v]++;
int a=1000;while(a>=10 && frec[a]<n1)a--;int b=a-1;while(b>=10 && frec[b]<n2)b--;
if(a<10 || b<10)cout<<"nu exista";else cout<<a<<' '<<b;return 0;}Exemplu scris de Zece, nu singurul răspuns bun.
Vrei să-ți scriem când apare ceva nou pentru Bacalaureat?
Îți scriem când punem subiecte oficiale noi explicate, în ziua examenului cu grila și rezultatele și, rar, când avem nevoie de ajutorul tău. Cel mult 2 emailuri pe lună, plus zilele de examen. Doar despre Bacalaureat.
Gata! Ți-am trimis un email de confirmare. Dacă nu-l vezi, uită-te și în Promoții sau Spam.