Funkcje i rekurencja to zaawansowane, ale kluczowe zagadnienia programowania omawiane na maturze rozszerzonej z informatyki. Umiejętność dzielenia programu na mniejsze, wielokrotnie używane fragmenty kodu (funkcje) oraz rozumienie mechanizmu, w którym funkcja wywołuje samą siebie (rekurencja), jest niezbędna do rozwiązywania bardziej złożonych zadań algorytmicznych.
Materiał wyjaśnia podstawowe pojęcia związane z zasięgiem zmiennych: zmienna lokalna jest widoczna i dostępna wyłącznie wewnątrz bloku (funkcji), w którym została zdefiniowana, natomiast zmienna globalna, zadeklarowana poza wszystkimi funkcjami, jest dostępna i modyfikowalna w całym programie. Uczeń poznaje też różnicę między przekazywaniem argumentów przez wartość (funkcja operuje na kopii danych, oryginał pozostaje niezmieniony) a przekazywaniem przez referencję (zmiany wewnątrz funkcji wpływają na zmienną oryginalną).
Centralnym tematem jest rekurencja — technika, w której funkcja wywołuje samą siebie w celu rozwiązania mniejszej wersji tego samego problemu. Kluczowym elementem każdej poprawnej funkcji rekurencyjnej jest warunek bazowy, który zatrzymuje dalsze wywołania — jego brak prowadzi do nieskończonej rekurencji i błędu przepełnienia stosu (stack overflow). Materiał analizuje dwa klasyczne przykłady: silnię ($n! = n \cdot (n-1)!$ dla $n>0$, z $0!=1$) oraz ciąg Fibonacciego ($F_n = F_{n-1} + F_{n-2}$), z konkretnymi obliczeniami wartości dla podanych argumentów.
Uczeń ćwiczy też rozumienie struktury definicji funkcji — nazwy, typu zwracanej wartości (lub typu void dla funkcji niezwracających wyniku) oraz ciała funkcji zawierającego instrukcje. Materiał wyjaśnia rozróżnienie między parametrem (zmienną zdefiniowaną w sygnaturze funkcji) a argumentem (konkretną wartością przekazywaną podczas wywołania) — subtelność często mylona przez uczniów.
Zestaw obejmuje też pojęcie przeciążania funkcji (function overloading) — definiowania wielu funkcji o tej samej nazwie, różniących się liczbą lub typem parametrów, co zwiększa czytelność i elastyczność kodu.
Ten zestaw pytań i fiszek buduje solidne podstawy analizy funkcji rekurencyjnych — umiejętność regularnie sprawdzaną w zadaniach maturalnych z informatyki.
Materiał tematyczny (bez dokumentu źródłowego): funkcje w programowaniu — parametry, wartość zwracana, zmienne lokalne i globalne, oraz rekurencja (funkcje wywołujące same siebie, np. silnia, ciąg Fibonacciego), zgodnie z zakresem matury rozszerzonej z informatyki.
Czym charakteryzuje się zmienna lokalna wewnątrz funkcji?
Jest widoczna i dostępna wyłącznie wewnątrz bloku, w którym została zdefiniowana.
Zmienne lokalne są ograniczone do zakresu (scope) funkcji lub bloku kodu, w którym powstały. Zmienne globalne są dostępne w całym programie, a zmienne statyczne zachowują wartość między wywołaniami.
Spróbuj tego quizu →Podejdź do tego egzaminu →Powtórz te fiszki →