funkcje, tablice
Transkrypt
funkcje, tablice
Funkcje w językach programowania Funkcja (czasami nazywana podprogramem, rzadziej procedurą) to wydzielona część programu, która przetwarza argumenty i ewentualnie zwraca wartość, która następnie może być wykorzystana, jako argument w innych działaniach lub funkcjach. Funkcja może posiadać własne zmienne lokalne. W matematyce pod pojęciem funkcji rozumiemy przekształcenie, które na podstawie wartości pewnej liczby argumentów zwraca wynik. Przykłady funkcji: f(x) = x*x sin(x) 2 2 odleglosc(a,b) = √a +b srednia(a,b,c) = (a+b+c)/3 Deklaracja, definicja, wywołanie funkcji Definicja funkcji – mówi jak działa funkcja tzn. jak się nazywa, jakie ma argumenty i jaki daje wynik Wywołanie funkcji – wywołanie funkcji przez inną część programu powoduje wykonanie zawartego w niej kodu. Parametry funkcji (argumenty) powodują, że funkcja jest bardziej uniwersalna Szkielet funkcji: function NazwaFunkcji ( parametry ) { instrukcja1; instrukcja2; … } NazwaFunkcji jest to dowolna nazwa, która powinna spełniać takie same wymogi jak nazwy zmiennych (czyli pierwszym znakiem może być litera lub znak podkreślenia; kolejne znaki nazwy mogą być literą, cyfrą lub znakiem podkreślenia; nazwa nie może też być zarezerwowanym słowem kluczowym). parametry jest to lista nazw parametrów, rozdzielona przecinkami Lista parametrów może być pusta (pomiędzy nawiasami okrągłymi wtedy nic nie ma). W ciele funkcji może być umieszczona dowolna liczba instrukcji. Nawiasy klamrowe są obowiązkowe i nie można ich pominąć, nawet jeżeli funkcja zawiera tylko jedną instrukcję (lub nawet nie zawiera żadnej instrukcji). Funkcje wbudowane w język JavaScript nie wymagają definicji, można je od razu wywołać. Własne funkcje wywołuje się identycznie jak funkcje wbudowane - po prostu podaje się nazwę funkcji i w nawiasach okrągłych wartości parametrów. Funkcja może zwracać wartość – stosuje się wtedy słowo kluczowe return. Przykład: definicja funkcji w JavaScript function srednia(a,b,c) { return (a+b+c)/3; } // Wywołanie (użycie) zdefiniowanej wcześniej funkcji w programie x = srednia(4, 5, 6); document.write(x); // wywołanie funkcji wbudowanej write z argumentem x Przykład. Funkcja obliczająca największy wspólny dzielnik dwóch liczb (przydatna do skracania ułamków) function nwd(a,b) { while(a!=b) { if(a>b) a=a-b; else b=b-a; } return a; } // Wywołanie (użycie) zdefiniowanej wcześniej funkcji w programie x = nwd(48,36); document.write(x); Przykład: Wykorzystanie wcześniej zdefiniowanej funkcji do definicji innej funkcji. Funkcja obliczająca najmniejszą wspólną wielokrotność (przydatna do obliczenia wspólnego mianownika). function nww(a,b) { return a*b/nwd(a,b); } y = nwd(48,36); document.write(y); Funkcje obsługi okien dialogowych Nazwa funkcji alert ( tekst ) - funkcja wywołuje okno powiadomienia wyświetlający tekst i przycisk OK, którym użytkownik zamyka okno. Przykład wywołania alert(”Komunikat !!!”) prompt ( tekst, wartośćDomyślna ) funkcja wywołuje okno wczytywania danych wyświetlające tekst oraz pole tekstowe o wartości domyślnej wartośćDomyślna (drugi parametr nie jest wymagany). Rezultatem funkcji jest wprowadzony tekst, po naciśnięciu przycisku OK lub wartość null, po naciśnięciu przycisku Cancel (Anuluj). x = prompt("Wprowadź liczbę"); alert(x + "^2=" + x*x); confirm ( tekst ) – funkcja wywołuje okno powiadomienia wyświetlający tekst oraz przyciski OK i Cancel (Anuluj). Rezultatem jest true gdy naciśnięto OK i false gdy naciśnięto Cancel. c = confirm(”Chcesz wejść?”); if(c) { document.write(”OK”); } else { document.write(”Anulowałeś”); } Działanie programu OK Tablice Tablice i obiekty są złożonymi strukturami danych. Oznacza to, że wewnątrz nich można przechowywać więcej niż jedną wartość. Zastosowanie tablic pomaga napisać bardziej zwięzły kod, który jest również bardziej czytelny i łatwiejszy w utrzymaniu. Tablice w JavaScript są obsługiwane przez klasę Array. Obiekt tej klasy można utworzyć na trzy sposoby, poprzez wywołanie odpowiedniego konstruktora: 1. utworzenie pustej tablicy: var tablica = new Array(); 2. utworzenie tablicy i podanie jej rozmiaru (np. 10 elementów): var tablica = new Array(10); 3. utworzenie tablicy i podanie listy elementów które mają się w niej znaleźć: var tablica = new Array(1, 2, 3, 4, 5, 6, 7, 8, 9, 10); Istnieje też możliwość utworzenia tablicy poprzez umieszczenie kolejnych jej elementów, jako listy w nawiasach kwadratowych: utworzenie pustej tablicy: var tablica = [ ]; utworzenie tablicy zawierającej jeden element: var tablica = [ 10 ]; utworzenie tablicy zawierającej więcej elementów: var tablica = [ 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 ]; Każdy element w tablicy posiada przypisaną pozycję (indeks w tablicy). Numeracja indeksów zaczyna się od zera. Do każdego elementu w tablicy można się odwołać podając w nawiasach kwadratowych indeks elementu. Przykład: Tablica łańcuchów znakowych (napisów) dni = [”Poniedziałek”, ”Wtorek”, ”Środa”, ”Czwartek”, ”Piątek”, ”Sobota”, ”Niedziela”]; document.write(dni[3]); Pytanie: Co wyświetli powyższy program? Przykład: Obliczenie średniej z liczb w tablicy oceny = [2, 3, 4, 4 ,5, 6]; srednia = (oceny[0] + oceny[1] + oceny[2] + oceny[3] + oceny[4] + oceny[5])/6; alert(srednia); Pytanie: Jak długi byłby program, gdyby trzeba było obliczyć średnią ze stu ocen??? Przykład: Obliczenie średniej z liczb w tablicy przy użyciu pętli for oceny = [2, 3, 4, 4 ,5, 6, 3, 5, 5, 1]; suma=0; for(i=0;i<10;i++) suma+=oceny[i]; document.write(suma/10);