Academos
  1. Subiecte
  2. Bacalaureat
  3. Informatică științele naturii, C
  4. 2024 model
  5. Subiectul al III-lea, 3. a)

Subiectul al III-lea, 3. a)

Bacalaureat 2024, Informatică științele naturii, C, model de subiect.

La un concurs se acordă premiile I și al II-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 și al II-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 două numere naturale din intervalul [1,20], n1 și n2, reprezentând numărul concurenților care primesc premiile I, respectiv al II-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 două premii, iar dacă nu există două 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 500 100 25 100 200 100 20 10 200 100 75 52 15 52 20 20 10 30 20 15 100 se afișează pe ecran, în această ordine, numerele 100 52.

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 și y (x>y, 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. Algoritmul se încheie dacă y≠0 sau dacă s-a încheiat parcurgerea vectorului de apariții. Dacă după parcurgerea vectorului de apariții y=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 și modele de subiect

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