JavaScript(3) Pętle cd., tablice

Transkrypt

JavaScript(3) Pętle cd., tablice
JavaScript(3) Pętle cd., tablice
Zagnieżdżanie pętli for
Pętla zagnieżdżana – instrukcją wewnętrzną pętli jest inna pętla z innym licznikiem, przykładowo:
for (n = 0; n < 10; n++)
for (m = 0; m < 10; m++)
document.write(n,"*",m,"=",(n * m),"<BR>");
Sprawdzić i zrozumieć działanie powyższego kodu.
Pętla while (dopóki...)
Pętla while posiada następującą składnię:
while ( test_logiczny )
instrukcja;
lub
while ( test_logiczny )
{
instrukcja1;
instrukcja2;
...
}
Najpierw sprawdzane jest czy test_logiczny jest prawdziwy i jeżeli tak, to wykonywane są
instrukcje, po czym odbywa się kolejne sprawdzenie testu_logicznego itd. Zakończenie pętli
odbywasię gdy test_logiczny stanie się fałszywy.
Uwagi:
• test_logiczny musi być możliwy do obliczenia.
• instrukcje muszą wpływać na test_logiczny tak, aby się stał fałszywy – inaczej pętla będzie
nieskończona.
Przykład:
n = 0;
while (n < 10)
{
document.write(n);
n++;// inkrementacja
}
Sprawdzić powyższy kod – zmieniać test logiczny tak, aby:
• instrukcje wewnętrzne pętli nigdy się nie wykonały,
• pętla powtarzała instrukcje nieskończenie, do zawieszenia przeglądarki.
Zadania do wykonania
1. Przetestować przykłady pętli pojedynczej i zagnieżdżanej for oraz pętli while –
zrozumieć działanie.
2. Wykonać pętlę, która wypisze na stronie liczby parzyste od 2 do 100.
3. Wykonać pętlę, która na stronie wypisze wszystkie wartości funkcji sin(x) dla x od 0
do 900 z krokiem co 50.
4. Wykonać pętlę, która wypisze kolejne kwadraty liczb całkowitych poczynając od 1
i skończy się, gdy kolejny kwadrat przekroczy wartość 1 000 000.
5. Wykonać pętlę, która wypisze odwrotności kolejnych liczb naturalnych poczynając
od 1 i skończy się, gdy kolejna wartość będzie mniejsza od 1e-7.
Tablice
Tworzenie pustej tablicy:
nazwaTablicy = new Array()
lub
nazwaTablicy = [ ]
Ustalenie rozmiaru tablicy:
Tablica = new Array(10)
Możemy też utworzyć tablicę, od razu wstawiając do niej wartości:
NazwaTablicy = new Array("Marek","Ania","Agnieszka")
lub
NazwaTablicy = ["Marek","Ania","Agnieszka"]
Tab_licz=[1,2,3,4,5,6,7,8,9,10]
Dostęp do elementu tablicy (dla dalszych obliczeń lub wypisania na ekranie):
NazwaTablicy[k] – gdzie k – licznik elementu liczony od 0.
Rozmiar tablicy:
NazwaTablicy.length
Przykład
<SCRIPT language="JavaScript">
tab=[1,2,3,4,5,6,7,8,9,10];
document.write("Pierwszy element:", tab[0], "<BR>");
document.write("Cała tablica ma ", tab.length," elementów<BR>");
//wypisanie tablicy w pętli
for (k=0;k<=9; k++)
document.write(tab[k], " ");
</SCRIPT>
Tablice asocjacyjne
W JavaScript także możemy tworzyć tablice asocjacyjne, czyli tablice, których indeks jest nazwany
jakimś napisem (string) –asocjacja czyli skojarzenie nazwy z rodzajem danych:
Tablica = new Array()
Tablica['autor'] = "Mickiewicz";
Tablica['tytul'] = "Pan Tadeusz";
Tablica['cena'] = 32.6;
Tablice wielowymiarowe
Możemy też tworzyć tablice wielowymiarowe - czyli tablice w tablicach.
Powiedzmy że chcemy tworzyć dane dotyczące osób. Możemy wtedy stworzyć tablicę, w której
w każdym elemencie będzie inna tablica zawierająca dane osoby, przykładowo:
Tablica = [ ];
Tablica[0] = ['Marek' , 183];
Tablica[1] = ['Ania' , 173];
Tablica[2] = ['Agnieszka' , 170];
Przykład:
<SCRIPT language="JavaScript">
Tablica = new Array()
Tablica [0] = ['Marek' , 183];
Tablica [1] = ['Ania' , 173];
Tablica [2] = ['Agnieszka' , 170];
//pętla zagnieżdżana
for (w=0;w<3;w++)
{
for (k=0;k<2;k++)
document.write(Tablica [w][k], " ");
document.write("<BR>");
}
</SCRIPT>
Prześledzić przykład generowania i wyświetlenia w pętli tablicy dwuwymiarowej z liczbami:
<SCRIPT language="JavaScript">
Tablica=[ ]
for (w=0;w<=6;w++)
{
Tablica[w]=[ ]
for (k=0;k<=6;k++)
{
Tablica[w][k]=Math.round(100*Math.random())
}
}
for (w=0;w<=6;w++)
{
for (k=0;k<=6;k++)
{
document.write(Tablica[w][k], " ");
}
document.write("<BR>");
}
</SCRIPT>
Zadanie
1. Zdefiniować jednowymiarową tablicę z dowolnymi liczbami.
a. Wypisać ją na ekranie.
b. Spróbować znaleźć algorytm zsumowania jej wszystkich elementów i
wypisanie obliczonej sumy na ekranie.
c. Spróbować znaleźć algorytm znalezienia największej liczby w tej tablicy.
2. Powyższe zadanie wykonać dla tablicy dwuwymiarowej.

Podobne dokumenty