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

Subiectul al III-lea, 3. b)

Bacalaureat 2024, Informatică mate-info, Pascal, 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

8 puncte

Scrieți programul Pascal corespunzător algoritmului proiectat. (8p.)

Pagina din subiect cu figura sau tabelul itemului
Pagina din subiectul oficial.
Arată baremul

b) Pentru program corect - 8p. - operații cu fișiere: declarare, pregătire în vederea citirii, citire din fișier - 1p. - determinare a valorilor cerute (*),(**) - 5p. - utilizare a unui algoritm eficient (***) - 1p. - declarare a variabilelor, afișare a datelor, corectitudine globală a programului¹⁾ - 1p. (*) Se acordă punctajul chiar dacă algoritmul ales nu este eficient. (**) Se acordă numai 3p. dacă algoritmul este principial corect, dar nu oferă rezultatul cerut pentru toate seturile de date de intrare. (***) Se acordă punctajul numai pentru un algoritm liniar. 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. 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 ș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