Informatică Programare
Subiecte bacalaureat informatica recursivitate
Subiectele de Bacalaureat la informatică care implică recursivitate testează înțelegerea funcțiilor care se autoapelează. Sunt frecvente problemele cu șiruri, factorial, și parcurgeri.
Tipuri de probleme recursive
- Calcul factorial int fact(int n) { if(n <= 1) return 1; else return n * fact(n-1); }
- Șirul lui Fibonacci int fib(int n) { if(n <= 1) return n; else return fib(n-1) + fib(n-2); }
- Suma cifrelor int sumcif(int n) { if(n == 0) return 0; else return n % 10 + sumcif(n/10); }
Exemplu de subiect
- 1 Enunț Scrieți o funcție recursivă care calculează suma numerelor de la 1 la n.
- 2 Rezolvare pas 1 Caz de bază: dacă n == 1, return 1.
- 3 Rezolvare pas 2 Caz recursiv: return n + suma(n-1).
- 4 Cod int suma(int n) { if(n == 1) return 1; else return n + suma(n-1); }
Pentru recursivitate, identifică întotdeauna cazul de bază și relația de recurență.