Poniższa procedura rekurencyjna druk(n:integer), wywołana z argumentem 5, spowoduje wyświetlenie na ekranie komputera
procedure druk(n:integer); begin if n=0 then exit; writeln(n); druk(n-1); end;
Odpowiedzi
Informacja zwrotna
Procedura rekurencyjna druk(n:integer) działa na zasadzie rekurencji, co oznacza, że funkcja wywołuje samą siebie z mniejszymi wartościami parametru n, aż osiągnie stan bazowy, w którym n wynosi 0. W momencie, gdy n jest różne od 0, procedura wykonuje dwa kluczowe kroki: najpierw wyświetla wartość n na ekranie, a następnie wywołuje samą siebie z argumentem n-1. Dzięki temu, gdy wywołamy druk(5), na ekranie pojawią się wartości od 5 do 1, w kolejności malejącej, co daje nam ciąg 5, 4, 3, 2, 1. Rekurencja jest powszechnie stosowana w programowaniu, szczególnie w algorytmach, które wymagają podziału problemu na mniejsze podproblemy, co jest zgodne z zasadami dobrych praktyk w inżynierii oprogramowania. Przykładem zastosowania rekurencji może być obliczanie silni liczby, gdzie wartość n! jest definiowana jako n * (n-1)!.
procedure druk(n:integer); begin if n=0 then exit; writeln(n); druk(n-1); end; Odpowiedzi
Informacja zwrotna
Procedura rekurencyjna druk(n:integer) działa na zasadzie rekurencji, co oznacza, że funkcja wywołuje samą siebie z mniejszymi wartościami parametru n, aż osiągnie stan bazowy, w którym n wynosi 0. W momencie, gdy n jest różne od 0, procedura wykonuje dwa kluczowe kroki: najpierw wyświetla wartość n na ekranie, a następnie wywołuje samą siebie z argumentem n-1. Dzięki temu, gdy wywołamy druk(5), na ekranie pojawią się wartości od 5 do 1, w kolejności malejącej, co daje nam ciąg 5, 4, 3, 2, 1. Rekurencja jest powszechnie stosowana w programowaniu, szczególnie w algorytmach, które wymagają podziału problemu na mniejsze podproblemy, co jest zgodne z zasadami dobrych praktyk w inżynierii oprogramowania. Przykładem zastosowania rekurencji może być obliczanie silni liczby, gdzie wartość n! jest definiowana jako n * (n-1)!.