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 Identifică cazul de bază Stabilește condiția care oprește recursia, de obicei pentru valori mici (ex: n=0 sau n=1).
- 2 Definește apelul recursiv Scrie cum problema se reduce la o subproblemă mai mică (ex: factorial(n) = n * factorial(n-1)).
- 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.