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

Subiectul al III-lea, 3. b)

Bacalaureat 2025, Informatică mate-info, C, subiect de rezervă, sesiunea iunie-iulie.

La o loterie se generează aleatoriu un șir de numere naturale și pentru fiecare număr generat, se inversează ordinea cifrelor. Dintre valorile distincte obținute se extrag trei numere, în această ordine: cel mai mic, cel mai mare dintre cele rămase, apoi cel mai mic dintre cele rămase. Fișierul text bac.in conține cel mult 10⁶ numere naturale din intervalul [1001,9999], cu cifra unităților nenulă, separate prin câte un spațiu, reprezentând termenii șirului generat aleatoriu în vederea extragerii. Scrieți un program C/C++ care afișează pe ecran cele trei numere, în ordinea extragerii acestora. Numerele afișate sunt separate prin câte un spațiu, iar dacă nu există trei astfel de numere distincte, se afișează pe ecran mesajul nu exista. Proiectați un algoritm eficient din punctul de vedere al timpului de executare și al memoriei utilizate. Exemplu: dacă fișierul conține numerele 1114 3212 3217 2855 7309 2131 2131 1238 7893 se afișează pe ecran, în această ordine, numerele 1312 9037 2123

Cerința

8 puncte

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

Arată baremul

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 și 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ă determină, pe măsura citirii datelor din fișier, cele mai mici două valori, respectiv cea mai mare valoare dintre cele distincte, obținute după inversarea cifrelor (min1, min2 și max, min1<min2<max). Pentru fiecare valoare x citită se determină valoarea obținută prin inversarea ordinii cifrelor (y); dacă y<min1, se actualizează atât min2, cât și min1 (min2=min1, min1=y), altfel, dacă y>min1 și y<min2, se actualizează min2 (min2=y), iar altfel dacă y>max și y>min2 se actualizează max (max=y).

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