Sprawdź się
Zdefiniuj funkcję.
Przykładowe zadanie pochodzi ze Zbioru zadań maturalnych z informatyki – materiały pomocnicze dla uczniów i nauczycieli, opublikowanego przez CKE w r.
Niech dana będzie liczba naturalna , której zapis dziesiętny ma cyfr:
Powiemy, że liczba jest narcystyczna, jeśli suma jej cyfr podniesionych do potęgi ݊-tej jest równa , tzn.
Na przykład liczba 1634 jest narcystyczna, ponieważ:
Zdefiniujmy funkcję czy_narcystyczna(liczba)
, która sprawdzi, czy dana liczba jest narcystyczna. Wykorzystajmy funkcję obliczającą potęgę opisaną w sekcji „Przeczytaj”.
Specyfikacja problemu:
Dane:
liczba
– liczba naturalna; liczba do sprawdzenia (należy sprawdzić, czy jest liczbą narcystyczną)
Wynik:
wartość logiczna
prawda
, jeśli liczba jest narcystycznawartość logiczna
fałsz
, jeśli liczba nie jest narcystyczna
Swój program przetestuj dla liczby 1634.
W środowisku Python wykonaj kod zamieszczony pod wykresem, dobierając kolejne wersje generowania wartości X, Y1, Y2
.
Porównaj wyniki z poniższym wykresem, a następnie wykonaj polecenie. To ćwiczenie ma za zadanie utrwalić umiejętności posługiwania się biblioteką matplotlib
oraz analizy informacji i czytania ze zrozumieniem.
Aby zainstalować opisywaną bibliotekę, musimy wydać w systemowym terminalu polecenie:
Zdefiniuj dwie funkcje:
iteracyjna_potega(podstawa, wykladnik)
rekurencyjna_potega(podstawa, wykladnik)
Każda z funkcji powinna zwracać krotkękrotkę (tuple
) zawierającą dwie liczby:
wartość potęgi o określonej podstawie i wykładniku,
liczbę wykonanych operacji.
Pamiętaj o odpowiednim zdefiniowaniu zmiennej globalnej dla zliczania liczby wywołań funkcji rekurencyjnej. Niech ta zmienna nazywa się ile_rekurencji
.
Specyfikacja problemu:
Dane:
podstawa
– liczba naturalna; liczba, którą należy podnieść do potęgiwykladnik
– liczba naturalna; stopień potęgi
Wynik:
wynik
– krotka zawierająca dwie liczby naturalne; wynik potęgowania i liczba operacji
Swój program przetestuj dla obu funkcji z parametrami: podstawa
, wykladnik
równymi odpowiednio 2, 5.