10. Iteracja, rekurencja i ich realizacja.
Iteracja to czynność powtarzania (najczęściej wielokrotnego) tej samej instrukcji (albo wielu instrukcji) w pętli. Mianem iteracji określa się także operacje wykonywane wewnątrz takiej pętli.
Przykład:
i=0
póki i<10
wykonuj i=i+1
i przeskocz do góry
W pierwszej iteracji otrzymamy wartość i=1, w następnej i=2, potem i=3 i tak dalej, a iteracją jest powtarzana tu czynność, czyli zwiększanie zmiennej i o jeden.
Rekursja albo rekurencja - odwoływanie się funkcji lub definicji do samej siebie.
Przykład:
funkcja zmien(a)
{
a=a+1
jesli a<10 zmien(a)
}
Rekurencja jest wykonywana trochę wolniej niż funkcja nierekurencyjna, ale kod jest zdecydowanie krótszy i prostszy w niektórych wypadkach.
Rekursja może dramatycznie zwiększyć złożoność obliczeniową i zawsze zwiększa pamięciowe zapotrzebowanie programu, gdyż wymaga ona zapamiętania m.in. adresów powrotu, pozwalających programowi "zorientować się" do którego miejsca ma wrócić po zakończeniu jednego z wywołań rekurencyjnych.