Opis
Funkcje to części kodu, które wykonują ustalone czynności po ich wywołaniu. Te czynności są tylko wykonywane wtedy, kiedy zostanie wywołana dana funkcja. Tworzenie funkcji w kodzie pozwala zautomatyzować wykonywanie pewnych, powtarzających się czynności (i tym samym zmniejszyć ilość kodu).
Lwia część języków umożliwia obecnie definiowanie własnych funkcji / metod, czyli zbioru czynności który możemy zdefiniować poza główną strukturą programu i wywołać ją zarówno w głównej strukturze programu jak i w innej funkcji/metodzie. W niektórych językach przyjmuje się zapis funkcji za pośrednictwem camelCase.
Przykładowa funkcja:
void funkcjaWypisz(){
Wypisz "Podaj liczbę."; // nie zwraca wartości;
}
Rodzaje funkcji
Funkcje często dzielimy na te niezwracające wartości, tj. void i zwracające wartości liczbowe (zapoczątkowane nazwą zmiennej).
W funkcjach możemy definiować zmienne wejściowe, które są wykorzystywane w danej funkcji/metodzie. Wpisujemy je do nawiasu, który kończy funkcję, definiując je wewnątrz funkcji. Kiedy wywołujemy funkcje, nie możemy definiować typu zmiennej wewnątrz wywołania funkcji (czyli w nawiasie).
Wywoływanie funkcji w funkcji głównej
void funkcjaWypisz(){ // funkcja funkcjaWypisz
Wypisz "Podaj liczbę."; // nie zwraca wartości;
}
int matSzescian(int x){ // funkcja matSzescian
x = x*x*x; // wykonuje obliczanie sześcianu;
return x; // zwraca wartość x;
}
int Main(){ // funkcja główna;
funkcjaWypisz(); // wypisuje "Podaj liczbę";
int a; Wpisz a;
Wypisz matSzescian(a); // wypisuje wynik funkcji;
}
By pokazać wywołanie jakiejś części programu zdefiniowanej odrębnie, używamy bloku wywołania podprogramu, który jest ukazany w postaci prostokąta zawartego w szerszym prostokącie.
Wywołanie funkcji w funkcji głównej:

Rekurencja
Zjawisko wywoływania metody w tej samej metodzie nazywamy rekurencją. Za pośrednictwem rekurencji możemy między innymi zrealizować obliczanie silni.
Obliczanie silni:
int matSilnia(int x){
if ( x == 0 || x == 1 ) x = 1; // warunek silni
else x = x * matSilnia(x-1);
}
int Main(){ // funkcja główna
int liczba;
Wpisz liczba; // wpisujemy liczbę
matSilnia(liczba); // wypisuje silnię danej liczby
}
/* rekurencja tworzy kolejne odwołania do funkcji, w których wartość x jest dekrementowana,
aż do momentu w którym x będzie równe 1, wtedy to nastąpi warunek silni */
Autor tekstu: Jacek Woźniak