Academos
  1. Subiecte
  2. Bacalaureat
  3. Informatică mate-info, C
  4. 2025 august
  5. Subiectul al III-lea, 3. b)

Subiectul al III-lea, 3. b)

Bacalaureat 2025, Informatică mate-info, C, sesiunea august.

La o centrală solară se monitorizează stocul zilnic de energie produsă și stocul total calculat pentru fiecare perioadă. Zilele de monitorizare sunt numerotate cu valori naturale consecutive, în ordine cronologică, începând cu ziua 1. O perioadă este formată din cel puțin două zile de monitorizare, consecutive, iar stocul total calculat pentru ea este suma stocurilor zilnice corespunzătoare. O zi este validată dacă stocul zilnic este cel puțin egal cu limita zilnică, minZ; o perioadă este validată dacă stocul total calculat pentru ea este cel puțin egal cu limita stabilită pentru perioade, minP, fiecare zi a perioadei este validată, iar perioada este maximală în raport cu această proprietate (nu i se mai poate adăuga nicio zi validată). Fișierul text bac.in conține cel mult 10⁶ numere naturale din intervalul [1,10³]: pe prima linie minZ și minP, reprezentând limitele precizate pentru validare, iar pe a doua linie stocurile zilnice de energie produse în zile consecutive, în ordinea monitorizării. Numerele aflate pe aceeași linie a fișierului sunt separate prin câte un spațiu. Se cere să se afișeze pe ecran, pentru fiecare perioadă de producție validată, corespunzătoare datelor din fișier, câte un triplet de numere, reprezentând prima și ultima zi a perioadei, respectiv stocul total calculat pentru ea. Valorile din fiecare triplet se afișează pe câte o linie a ecranului, separate prin câte un spațiu, iar dacă nu există nicio astfel de perioadă, se afișează mesajul nu exista. Proiectați un algoritm eficient din punctul de vedere al memoriei utilizate și al timpului de executare.

Exemplu: dacă fișierul conține valorile alăturate, 10 40 65 9 20 25 12 14 7 3 11 15 12 8 19 50 21 se afișează pe ecran 3 6 71 13 15 90

Cerința

8 puncte

Scrieți programul C/C++ corespunzător algoritmului proiectat. (8p.)

Arată baremul

SUBIECTUL al III-lea, 3. b. Pentru program corect - 8p. -operații cu fișiere: declarare, pregătire în vederea citirii, citire din fișier, conform cerinței - 1p. -determinare a valorilor cerute (*),(**) - 5p. -utilizare a unui algoritm eficient (***) - 1p. -declarare a variabilelor, afișare a datelor, tratare a cazului nu exista, corectitudine globală a programului¹⁾ - 1p.

(*) Se acordă punctajul chiar dacă algoritmul ales nu este eficient. (**) Se acordă numai 3p. dacă algoritmul parcurge pașii necesari rezolvării, dar cu detalii care conduc la o rezolvare parțială. (***) Se acordă punctajul numai pentru un algoritm liniar, care utilizează eficient memoria. O soluție posibilă citește primele două valori din fișier (minZ și minP), apoi, pe măsura citirii stocurilor zilnice, se incrementează numărul zilei curente (ziCrt), iar dacă stocul curent citit (x) corespunde unei zile validate (x≥minZ), se actualizează următoarele date corespunzătoare perioadei curente: - prima zi (prima=ziCrt) - doar dacă stocul total al acestei perioade este nul (dacă stocCrt=0); - ultima zi (ultima=ziCrt); - stocul total (stocCrt=stocCrt+x); Dacă ziua nu este validată (x<minZ) sau dacă s-a încheiat citirea, se afișează tripletul cerut (prima, ultima și stocCrt), dacă stocul total determinat corespunde unei perioade validate (stocCrt≥minP și ultima-prima≥1), apoi se reinițializează aceste trei valori cu 0.

1) Corectitudinea globală vizează structura, sintaxa, alte aspecte neprecizate în barem.

Același item în alte lucrări

Sesiuni de examen

2026
2025
2024
2023
2022
2021

Simulări, modele de subiect și subiecte de rezervă

2026
2025

Toate variantele itemului Subiectul al III-lea, 3. pe o singură pagină

Exersează zilnic cu Academos

Aplicația pentru Evaluarea Națională și Bac. În curând pe:

  • App Store
  • Google Play