Academos
  1. Subiecte
  2. Bacalaureat
  3. Informatică mate-info, C
  4. 2024 model
  5. Subiectul al III-lea, 3. a)

Subiectul al III-lea, 3. a)

Bacalaureat 2024, Informatică mate-info, C, model de subiect.

La un concurs se acordă premiile I, al II-lea și al III-lea. Fiecare premiant este recompensat cu câte o carte, care are un preț egal pentru toți cei cu același premiu. Prețurile cărților alese pentru premiile I, al II-lea și al III-lea sunt stabilite astfel încât să fie în ordine strict descrescătoare, iar pentru fiecare premiu să se ia în considerare cel mai mare preț pentru care există suficiente cărți propuse, în condițiile precizate. Fișierul bac.txt conține pe prima linie trei numere naturale din intervalul [1,20], n1, n2 și n3, reprezentând numărul concurenților care primesc premiile I, al II-lea, respectiv al III-lea, iar pe a doua linie un șir de cel mult 10⁶ numere naturale din intervalul [10,10³], separate prin câte un spațiu, fiecare număr reprezentând prețul unei cărți propuse pentru premiere. Se cere să se afișeze pe ecran, separate prin câte un spațiu, în ordine strict descrescătoare, prețurile cărților alese, corespunzătoare celor trei premii, iar dacă nu există trei astfel de prețuri, se afișează mesajul nu exista. Proiectați un algoritm eficient din punctul de vedere al timpului de executare. Exemplu: dacă fișierul conține valorile 3 2 4 500 100 25 100 200 100 20 10 200 100 75 52 52 15 52 20 20 10 30 20 15 100 se afișează pe ecran, în această ordine, numerele 100 52 20.

Cerința

2 puncte

Descrieți în limbaj natural algoritmul proiectat, justificând eficiența acestuia. (2p.)

Arată baremul

SUBIECTUL al III-lea, 3. a) Pentru răspuns corect - 2p. - descriere coerentă a algoritmului (*) - 1p. - justificare a elementelor de eficiență - 1p. (*) Se acordă punctajul chiar dacă algoritmul ales nu este eficient.

O soluție posibilă utilizează un vector de apariții, ap, unde apₚ memorează numărul de apariții ale prețului p în șirul celor propuse. Pe măsura citirii datelor din fișier se actualizează apₚ pentru fiecare valoare p citită. Valorile cerute, x, y și z (x>y>z, inițializate cu valori nule), se determină prin parcurgerea vectorului de apariții în ordine descrescătoare a lui p și memorând primele prețuri p adecvate pentru fiecare premiu, astfel: dacă apₚ≥n1 și încă nu s-a determinat un preț pentru premiul I (x=0), atunci x=p; dacă apₚ≥n2 și s-a determinat un preț pentru premiul I, dar nu și pentru premiul al II-lea (x≠0, dar y=0), atunci y=p; dacă apₚ≥n3 și s-a determinat un preț pentru premiul al II-lea, dar nu și pentru premiul al III-lea (y≠0, dar z=0), atunci z=p. Algoritmul se încheie dacă z≠0 sau dacă s-a încheiat parcurgerea vectorului de apariții. Dacă după parcurgerea vectorului de apariții z=0, atunci se afișează mesajul indicat.

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