Lista wyjaśnień

Funkcje i uogólnianie

« Kontynuuj rozwiązywanie

Podtematy

Funkcje są podstawowym elementem, za pomocą którego tworzymy programy. Stanowią konkretną realizację ogólnej zasady rozkładu problemu na części.

Mówiąc obrazowo, funkcja jest jak magiczne zaklęcie, któremu coś przekazujemy (dane wejściowe), a ono wyczarowuje dla nas coś innego (wynik).

  • Przykład bajkowy: Powiększająca magiczna różdżka, którą dotkniemy warzywo, a ona powiększy je do dwukrotnie większego rozmiaru.
  • Przykład matematyczny: Funkcja pierwiastka kwadratowego, której podajemy na wejściu liczbę, a ona zwraca inną liczbę (np. dla wartości wejściowej 25 zwraca wynik 5).
  • Przykład programistyczny: Funkcja polygon(n, długość), której przekazujemy na wejściu dwie liczby (liczbę boków i długość boku), a ona rysuje obraz wielokąta.

Proste funkcje bez parametrów pozwalają jedynie na wielokrotne wykonanie dokładnie tego samego kodu (np. zawsze kwadratu o takim samym rozmiarze). Funkcje mogą jednak zawierać również parametry, które wpływają na ich działanie (np. rozmiar kwadratu). Funkcje mogą wywoływać inne funkcje, a czasami nawet same siebie – takie funkcje nazywamy rekurencyjnymi.

Przy wprowadzaniu funkcji musimy umieć abstrahować – czyli pomijać nieistotne szczegóły – a następnie uogólniać kod – czyli zastępować zmienne szczegóły zmiennymi, z których później tworzymy parametry funkcji. Złożony program, szczególnie taki, w którym powtarza się podobny kod, można rozłożyć na kilka funkcji, dzięki czemu staje się prostszy i bardziej przejrzysty.

Do góry

Abstrakcja to umiejętność pomijania szczegółów, które nie są istotne dla rozwiązania analizowanego problemu. Skupiamy się na wspólnych elementach i właściwościach, dzięki którym możemy znaleźć bardziej ogólne rozwiązanie.

Przykład z życia codziennego: Toffik, Bruno i Reks to trzy konkretne zwierzęta domowe. Możemy je nazwać abstrakcyjnym pojęciem „pies” – pomijamy w ten sposób wiele ich cech (np. wiek, kolor sierści czy rasę) i koncentrujemy się tylko na tym, co mają wspólnego. Gdybyśmy mieli w domu również kota Mruczka, to do nazwania ich wszystkich moglibyśmy użyć na przykład kategorii „ssak”.

Przykład z programowania: Podczas rysowania obrazków możemy napisać funkcję squareA(), która rysuje niebieski kwadrat o boku 100, oraz squareB(), która rysuje żółty kwadrat o boku 200. Lepszym rozwiązaniem jest jednak stworzenie bardziej abstrakcyjnej funkcji square(length, color), która narysuje kwadrat o dowolnym rozmiarze i kolorze (zgodnie z przekazanymi parametrami). Możemy też pójść jeszcze dalej i napisać funkcję, która narysuje dowolny wielokąt (o określonej liczbie wierzchołków).

Do góry
NAPISZ DO NAS

Twoja wiadomość została wysłana. Dziękujemy.

Napisz do nas

Jesteś w kropce?

Zanim zadasz pytanie, zapoznaj się z instrukcjami:

Prosimy o nieprzesyłanie próśb o gotowe rozwiązania. Jeśli zgłaszasz błąd, dokładnie opisz, czego dotyczy, i dołącz zrzut ekranu.

Wybierz temat

Wiadomość Zgłoszenie błędu Treści Sterowanie Logowanie Licencja