Funkcje i uogólnianie – 4 liceum/technikum
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.
Przesuwanie
Przesuwanie karteczek w odpowiednie miejsce. Proste sterowanie, atrakcyjne i oryginalne zadania.
Budowniczy
Stwórz program dla budowniczego Romana za pomocą programowania blokowego.
Funkcje bez parametrów
Rekurencja
Robotanik
Proste sterowanie graficzne, zawiłe zadania programistyczne.
Średnie
Przy tych zadaniach trzeba już będzie trochę bardziej pogłówkować, ale nie ma w nich jeszcze żadnych haczyków.
Trudne
Tutaj zaczyna się robić nieco trudniej. W wielu zadaniach trzeba już sprawnie posługiwać się rekurencją (zagnieżdżonymi wywołaniami funkcji i powrotami z nich).
Prawdziwe wyzwanie
Te zadania potrafią dać w kość nawet doświadczonemu programiście.























