ID: 2740 Algorytmy Łatwe

Źródło: Arkusze CKE

Jakie działania należy podjąć, aby uniknąć nieskończonej rekurencji w danej funkcji?

Warianty odpowiedzi

  1. A

    Wykorzystać automatyczny debugger w kompilatorze

  2. B

    Rozszerzyć zakres zmiennych globalnych

  3. C

    Dodać warunek zakończenia w funkcji

  4. D

    Zastosować iterację zamiast rekurencji

Wyjaśnienie

Funkcja rekurencyjna wywołuje samą siebie. Jeśli nie powiesz jej, kiedy ma przestać, będzie to robić w nieskończoność, aż zabraknie pamięci na stosie i aplikacja się zawiesi.

Zapobiegasz temu poprzez dodanie tak zwanego warunku bazowego, czyli warunku zakończenia.

Jest to prosty test na samym początku funkcji, który sprawdza, czy osiągnęliśmy najprostszy przypadek. Jeśli tak, funkcja przerywa dalsze samowywoływanie i zwraca konkretny wynik.

Sprawdź się w praktyce

Rozwiąż pełny test próbny INF.04 albo wylosuj pojedyncze pytanie na szybką powtórkę.

Podobne pytania — Algorytmy