Ver. 1.0 Beta, Nie masz kompilatora? Teraz możesz pisać skrypty ONLINE! Wersja podstawowa -nie zawiera wszystkich poleceń Pascala. Służy do nauki podstaw

Programowanie rekurencji. Programowanie pętli. Przykłady w Turbo Pascalu i Delphi

Pascal

Wsteczwstecz Warunki, if... then... else...
W góręw górę Podstawy Pascala
Dalejdalej Rekordy i wskaźniki

Programowanie rekurencji. Programowanie pętli. Przykłady w Turbo Pascalu i Delphi

Rekurencja


Czy patrzyłeś kiedyś w lustro, w którym było widać drugie lustro, a w tym lustrze znowu pierwsze lustro i w tym pierwszym znowu to drugie i tak bez końca? Obraz tworzy się praktycznie nieprzerwanie.


Być może też słyszałeś w dzieciństwie piosenkę o psie:


"Wlazł pies do budy i porwał mięsa ćwierć. A kucharz głupi zarąbał go na śmierć. A kucharz mądry co litość w sercu miał, wykopał mu dołeczek, wsadził psa i taki napis dał: "Wlazł pies do budy i porwał mięsa ćwierć. A kucharz głupi zarąbał go na śmierć. A kucharz mądry co litość w sercu miał, wykopał mu dołeczek, wsadził psa i taki napis dał: ""...itd""


Coś podobnego dzieje się w rekurencji. Rekurencja to wywołanie jakiejś metody przez samą siebie. W pewnym miejscu następuje ponowne wywołanie siebie od początku. Gdyby nie przerwać rekurencji, trwałaby w nieskończoność.


W programowaniu pewna procedura wywołuje siebie samą i coraz bardziej zagnieżdża się w swoim kodzie. Wiąże się to z odłożeniem pewnej pamięci na tzw. stos. Gdyby nie przerwać tego 'błędnego koła' pamięć w końcu się skończy, a program przestanie działać.


Rekurencję wykorzystuje się do niektórych metod, takich jak: wypełnianie obrazka jakimś kolorem, wykrywanie min w grze saper, obliczanie pewnych działań matematycznych. Przydaje się także podczas tworzenia drzew katalogów, wyszukiwania plików, budowania forum internetowych i wielu innych zastosowań. Przykład użycia rekurencji do obliczania silni, możesz zaobserwować w rozdziale poświęconym pisaniu funkcji.


Strona korzysta z plików cookie w celu świadczenia usług Google (reklamy, statytyki) oraz Facebook. Jeśli chcesz zablokować pliki cookies wyłacz je w swojej przeglądarce. Potrzebujesz pomocy? kliknij