Rozdział II Podstawowe funkcje, zapoznanie z wbudowanymi funkcjami, bibliotekami, które je obsługują

/Barbara Halska/

Podobnie jak biblioteka szkolna zawiera książki o różnej tematyce, tak biblioteki w językach programowania mogą zawierać różne funkcje, z których możemy korzystać w naszym programie. Korzystanie z bibliotek pozwoli Wam na rozbudowanie programu o dodatkowe możliwości, a przy okazji zwolni z tworzenia własnego rozwiązania. Po co zatem wyważać otwarte drzwi?

Już zdobyliście nieco informacji programistycznych, więc nadszedł czas na użycie supermocy, czyli zapoznanie się z funkcjami. Funkcje dają możliwość wykorzystanie w ramach niej kodu we wszelkich możliwych okolicznościach, a więc wielokrotnie.

II.1 Biblioteki

Każdy język posiada biblioteki, po załączeniu których możemy korzystać z funkcji, procedur oraz instrukcji.

Biblioteka zawierająca funkcje wejścia/wyjścia

Zawiera przede wszystkim funkcje, które pozwalają przyjmować dane wejściowe użytkownika oraz wyświetlać je z powrotem. Dzięki temu można np. odczytać co jest wpisywane, korzystając z klawiatury, jak porusza się myszka. Ta biblioteka obsługuje też monitor, a więc instrukcje związane z wyświetlaniem na ekranie.

Biblioteka zawierająca funkcje matematyczne

Biblioteka matematyczna posiada funkcje, które umożliwiają różne bardziej skomplikowane obliczeniowo działania. Przykładem takiej funkcji jest funkcja pierwiastkowania. Kolejne funkcje przydatne to np. random, która umożliwia losowanie liczb ze zbioru.

Przeprowadzimy analizę kodu:

Tworzymy funkcję, która będzie obliczać średnią ocen, a następnie informować o tym, czy uczeń ma czerwony pasek czy nie.

nr_dziennik = 13 oceny = [ 4,4,4,5,5,5] srednia = (oceny[0] + oceny[1] + oceny[2] + oceny[3] + oceny[4] + oceny[5])/6 if (srednia >= 4,75 ) pisz ("gratuluję") else pisz ("może uda się za rok") nr_dziennik = 18 oceny = [ 4,4,4,2,5,5] srednia = (oceny[0] + oceny[1] + oceny[2] + oceny[3] + oceny[4] + oceny[5])/6 if (srednia >= 4,75 ) pisz ("gratuluję") else pisz ("może uda się za rok")

Co zauważyliście, dokonując analizy powyższego kodu? Wybierzcie poprawne odpowiedzi

● Kod jest czytelny,

● Kod się powtarza,

● Gdybyśmy chcieli zrobić analizę wszystkich uczniów w klasie, musielibyśmy powtórzyć kod wiele razy co wymaga sporej pracy,

● Wpisywanie tego kodu byłoby męczące.

Czy można ten powtarzalny kod zapisać raz, a wykonać tyle razy, ile program będzie potrzebował? To możliwe właśnie dzięki zastosowaniu funkcji. To tak jak w przypadku funkcji pisz, która wyświetla komunikaty na ekranie.

II.2 Funkcje

Funkcje pozwalają wyodrębnić fragment kodu, nadać mu nazwę, a następnie odwołać się do niego wszędzie tam, gdzie jest to potrzebne.

 Funkcja

Definicja funkcji rozpoczyna się od słowa kluczowego function, a następnie jest podawana nazwa funkcji.

Stworzenie funkcji to tzw. deklaracja funkcji. Cały kod, który należy do danej funkcji – ma mniejsze znaczenie od samej deklaracji – tak samo jak kod w pętlach i warunkach, dlatego jest inaczej wyrównany.

 funckaj

Użycie funkcji w kodzie nazywane jest wywołaniem. Wywołanie następuje zawsze na „zawołanie” użytkownika – kod nie ma prawa wykonać się sam z siebie – nawet w momencie deklaracji. Aby użyć funkcji trzeba podać jej nazwę. Instrukcje umieszczone w „ciele” funkcji są wykonywane od góry do dołu tak samo jak każdy inny kod. Różnica polega na tym, że wykonywane są wyłącznie wtedy, kiedy zostanie wywołana funkcja. Funkcja może coś zwracać lub nie.

Przykład: Funkcja, która będzie dodawać dwie liczby

funkcja dodaj(A, B) { zwróć A + B; } Z=1 Y=2 dodaj(z,y); //zwróci 3

W tym przykładzie powinniście zauważyć, że nazwa zmiennych w programie przekazywanych jako parametr funkcji nie jest ważna.

Zmienne wewnątrz funkcji, czyli zasięg widzenia zmiennych

Zmienne zadeklarowane wewnątrz funkcji są tylko dla niej dostępne. Jeżeli chcesz, żeby można było ich użyć poza funkcją, to skorzystaj ze zmiennych globalnych, pamiętając, że takie rozwiązanie, może mieć również wadę, gdyż operacja na tych samych zmiennych w kilku funkcjach może spowodować, że wynik operacji na nich zmieni funkcjonalność programu.

Deklaracje zmiennych umieszczane wewnątrz funkcji działają dokładnie tak samo jak te umieszczane poza funkcjami, przynajmniej w tym sensie, że powodują utworzenie zmiennej i zapisanie w niej początkowej wartości. Jednak różnica pomiędzy zmienną zadeklarowaną poza funkcją oraz zmienną, która deklarowana jest wewnątrz funkcji zależy od tego, gdzie będziemy chcieli z nich skorzystać. Te, które znajdują się w funkcji, są zmiennymi lokalnymi i do nich możemy odwoływać się tylko w obrębie funkcji, a zmienne znajdujące się poza funkcją są zmiennymi globalnymi. Ma to bardzo duże znaczenie, bo zmienne zadeklarowane wewnątrz funkcji nie są widoczne dla innych fragmentów kodu.