Informatică Programare

Exercitii recursivitate C++ clasa 11a

Exercițiile de recursivitate în C++ pentru clasa a 11-a implică scrierea de funcții care se autoapelează pentru a rezolva probleme matematice sau de procesare a datelor. Acestea se bazează pe două componente esențiale: cazul de bază (condiția de oprire) și apelul recursiv (reducerea problemei). De exemplu, calculul factorialului n! = n * (n-1)! cu oprirea la n=1.

Exerciții tipice

  • Factorial int factorial(int n) { if (n <= 1) return 1; else return n * factorial(n-1); }
  • Fibonacci int fib(int n) { if (n <= 1) return n; else return fib(n-1) + fib(n-2); }
  • Suma cifrelor int sumaCifre(int n) { if (n == 0) return 0; else return n % 10 + sumaCifre(n/10); }

Pași pentru rezolvare

  1. 1
    Identifică cazul de bază Stabilește condiția care oprește recursia, de obicei pentru valori mici (ex: n=0 sau n=1).
  2. 2
    Definește apelul recursiv Scrie cum problema se reduce la o subproblemă mai mică (ex: factorial(n) = n * factorial(n-1)).
  3. 3
    Testează cu valori simple Verifică funcția pentru input-uri mici (ex: factorial(3) ar trebui să dea 6).

Începe cu exerciții simple ca factorialul înainte de a trece la probleme complexe ca turnurile din Hanoi.

Mai multe din Programare