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);