Wróć do informacji o e-podręczniku Wydrukuj Pobierz materiał do PDF Pobierz materiał do EPUB Pobierz materiał do MOBI Zaloguj się, aby dodać do ulubionych Zaloguj się, aby skopiować i edytować materiał Zaloguj się, aby udostępnić materiał Zaloguj się, aby dodać całą stronę do teczki

Funkcje są podprogramami, czyli fragmentami kodu odpowiedzialnymi za zrealizowanie wybranych części algorytmu. Najczęściej stosujemy je w przypadkach, kiedy pewne sekwencje poleceń są wykonywane wielokrotnie.

Wyobraź sobie, że pisząc program musisz sprawdzić, czy pewna liczba jest podzielna przez 3 i wyświetlić na ekranie odpowiedni komunikat. Załóżmy, że takie zadanie należy wykonać w różnych częściach programu dla różnych liczb. Zastanów się, czy wielokrotne zapisywanie identycznych ciągów instrukcji jest dobrym pomysłem?

W takich sytuacjach bardzo pomocne okazują się funkcje. Pozwalają one:

  • znaczne skrócić kod programu dzięki wyeliminowaniu powtórzeń ciągów instrukcji (zastępują je wywołania funkcji),

  • uczynić kod czytelnym i łatwiej zrozumiałym,

  • uporządkować kod programu dzięki podzieleniu algorytmu na mniejsze części,

  • ułatwić pracę programisty (na przykład podczas nanoszenia poprawek w kodzie).

Dzięki funkcjom możemy wykonywać ciągi poleceń, a także zwracać programowi wynik jej działania (na przykład obliczoną przez funkcję wartość).

Ważne!

Zanim użyjemy funkcji w programie, musimy napisać jej definicję. Najczęściej składa się ona z:

  • nagłówka funkcji, zawierającego jej nazwę, zwracany typ i – ewentualnie – listę parametrów,

  • ciała funkcji, zawierającego zestaw instrukcji.

Polecenia składające się na ciało funkcji są wykonywane po wywołaniuwywołanie funkcjiwywołaniu funkcji w wybranym miejscu programu. Wywołanie polega na podaniu nazwy funkcji oraz (ewentualnie) jej parametrów.

Parametry formalne i aktualne

Parametry są wartościami przekazywanymi funkcji. Za przykład niech posłuży zestaw liczb, które mają zostać zsumowane przez funkcję. Innymi słowy, parametry są informacjami, na podstawie których wykonywane są instrukcje zapisane w ciele funkcji.

Parametry możemy podzielić na formalne i aktualne.

Parametry zapisane w nagłówku definicji funkcji nazywane są parametrami formalnymiparametr formalnyparametrami formalnymi. Definicja funkcji może wyglądać następująco:

Linia 1. nazwaFunkcji otwórz nawias okrągły parametrFormalny1 przecinek parametrFormalny2 zamknij nawias okrągły. Linia 2. instrukcje. Linia 3. zwróć wartość.

Kiedy wywołujemy funkcję nazwaFunkcji() musimy podać odpowiednie parametry; zostaną one przekazane funkcji i zastąpią parametry formalne. Właśnie te konkretne wartości nazywamy parametrami aktualnymiparametr aktualnyparametrami aktualnymi. A oto wywołanie funkcji z listą parametrów aktualnych:

Linia 1. nazwaFunkcji otwórz nawias okrągły parametrAktualny1 przecinek parametrAktualny2 zamknij nawias okrągły.

Sposoby przekazywania parametrów

Przekazywanie parametrów funkcji może się odbywać przez wartość lub przez referencjęreferencjareferencję.

Jeśli podczas wywołania funkcji parametr jest przekazywany przez wartość, tworzona jest nowa zmienna lokalnazmienna lokalnazmienna lokalna. Zajmuje ona miejsce w pamięci wyłącznie na czas działania funkcji.

Następnie wartość parametru aktualnego jest kopiowana do zmiennej lokalnej – i to nią właśnie posługuje się funkcja. Dzięki temu wszystkie operacje są wykonywane tylko na zmiennej widocznej wewnątrz funkcji. Natomiast wartość parametru aktualnego nie ulega zmianie.

W przypadku przekazywania parametru przez referencję parametr formalny jest zastępowany przez referencję do parametru aktualnego. Referencja przechowuje adres, pod którym znajduje się parametr aktualny. Oznacza to, że wszystkie instrukcje zapisane w ciele funkcji wykonywane są bezpośrednio na wskazywanym obiekcie – parametrze aktualnym.

Przykłady ilustrujące przedstawione sposoby przekazywania parametrów, a także wady i zalety każdego z nich poznasz w kolejnej części lekcji.

Słownik

parametr aktualny
parametr aktualny

parametr przekazywany funkcji w momencie jej wywołania

parametr formalny
parametr formalny

parametr znajdujący się w nagłówku definicji funkcji

referencja
referencja

informacja na temat obszaru pamięci, w którym przechowywany jest obiekt (np. zmienna)

wywołanie funkcji
wywołanie funkcji

polecenie wykonania instrukcji zapisanych w ciele funkcji

zmienna lokalna
zmienna lokalna

zmienna widoczna tylko wewnątrz funkcji (mająca przydzielone miejsce w pamięci na czas działania funkcji)