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

Subiectul al III-lea, 3. b)

Bacalaureat 2024, Informatică științele naturii, C, sesiunea august.

Șirul 2, 3, 5, 9, 17, 33, 65, 129 .... este definit astfel: f₁=2, f₂=3, fₙ=3·fₙ₋₁−2·fₙ₋₂ (unde n este un număr natural n≥3). Se citesc de la tastatură două numere naturale x și y (x<y≤10⁹), valorile a doi termeni aflați pe poziții consecutive în șirul dat, și se cere să se scrie în fișierul bac.txt, în ordine strict descrescătoare, separați prin câte un spațiu, toți termenii șirului care sunt mai mici sau egali cu y. Proiectați un algoritm eficient din punctul de vedere al timpului de executare și al spațiului de memorie utilizat. Exemplu: dacă se citesc numerele 33 65, fișierul conține numerele 65 33 17 9 5 3 2

Cerința

8 puncte

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

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

SUBIECTUL al III-lea 3. b. Pentru program corect - 8p. -operații cu fișiere: declarare, pregătire în vederea scrierii, scriere în 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 (de complexitate O(n)), care utilizează eficient memoria.

O soluție posibilă memorează ultimii doi termeni afișați pe poziții consecutive, în ordine descrescătoare, y și x (y>x) și determină termenul curent (crt) pe baza celor doi termeni afișați anterior, cu formula crt=[(3·x-y)/2]; inițial se afișează, în ordine descrescătoare, cei doi termeni citiți, apoi, la fiecare pas, se determină și se afișează termenul curent și se actualizează cei doi termeni y și x; algoritmul se încheie după afișarea valorii 2.

O altă soluție posibilă memorează ultimul termen afișat (crt) și determină termenul curent pe baza acestuia, cu formula crt=[(crt+1)/2]; inițial se afișează, în ordine descrescătoare, cei doi termeni citiți, apoi, la fiecare pas, se determină și se afișează termenul curent, care se actualizează; algoritmul se încheie după afișarea valorii 2.

¹) 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