Przeczytaj
Obliczanie wartości potęgi o podstawie i wykładniku naturalnym
Specyfikacja problemu:
Dane:
p
– liczba naturalna; podstawa potęgi;w
– liczba naturalna; wykładnik potęgi;
Wynik:
program zwraca wynik potęgowania
Sposób iteracyjny
Sposób rekurencyjny
Obliczanie silni
Specyfikacja problemu:
Dane:
liczba
– liczba naturalna
Wynik:
program zwraca wartość silni podanej liczby naturalnej
Sposób iteracyjny
Sposób rekurencyjny
Analiza i porównanie
Możemy zauważyć, że liczba operacji mnożenia, jaką wykonują obie wersje funkcji, jest identyczna. Natomiast różny jest czas niezbędny do ich wykonania. W przypadku funkcji rekurencyjnej obserwujemy znacznie większy czas niezbędny do wykonania obliczenia. Wynika to z faktu, że wykonywanie funkcji rekurencyjnych obarczone jest zawsze narzutem czasowym związanym z obsługą stosustosu, a więc dostępem do pamięci, w której zapamiętywane są adresy powrotu z kolejnych wywołań rekurencyjnych. W przypadku wersji iteracyjnej czas niezbędny na wykonywanie mnożeń jest znacznie krótszy. W obu przypadkach obserwujemy liniowy wzrost czasu wraz ze wzrostem liczby mnożeń, co jest normalną sytuacją.
Możemy również zauważyć, że w wersji rekurencyjnej funkcja ma krótszy kod (choć w tym przypadku nie jest on znacznie krótszy).
Czas konieczny na wykonanie funkcji może zależeć od jej rodzaju.
Słownik
powtarzanie tej samej operacji określoną liczbę razy lub do momentu, w którym zadany warunek zostanie spełniony
biblioteka służąca do przedstawienia obrazów złożonych z punktów o współrzędnych x
oraz y
(wykresów, histogramów, rozkładów itp.); moduł matplotlib
nie jest dostępny w standardowej instalacji języka Python; należy go zainstalować, korzystając z mechanizmu pip
proces polegający na wywoływaniu funkcji przez siebie samą (zazwyczaj z innymi parametrami) do momentu rozwiązania określonego problemu
liniowa struktura danych, której dane są pobierane zgodnie z zasadą LIFO (dane dołączone jako ostatnie, pobierane są jako pierwsze)