Et unum hominem, et plures in infinitum, quod quis velit, heredes facere licet - wolno uczynić spadkobiercą i jednego człowieka, i wielu, bez ograniczeń, ilu kto chce.

[ Pobierz całość w formacie PDF ]

rządnie, trzeba będzie zastosować kilka instrukcji warunkowych.
wiczenie 3.18.
Napisz skrypt obliczający pierwiastki równania kwadratowego o parametrach zadanych przez u\ytkownika. Wyświetl na
ekranie równanie oraz jego rozwiązania (rysunek 3.8).
24
JavaScript. wiczenia praktyczne
Rysunek 3.8.
Skrypt wyświetlający
równanie kwadratowe
o zdanych parametrach
oraz jego rozwiązania
var A = prompt ("Podaj parametr A równania kwadratowego: Ax^2 + Bx + C = 0","");
var B = prompt ("Podaj parametr B równania kwadratowego: Ax^2 + Bx + C = 0","");
var C = prompt ("Podaj parametr C równania kwadratowego: Ax^2 + Bx + C = 0","");
var delta = B * B - 4 * A * C;
var rownanie = "";
if (A != 0){
rownanie = (A == 1)?"x^2 ":A + "*x^2 ";
}
if (B != 0) {
if (A != 0)
rownanie += (B == 1)?"+ x ":((B
else
rownanie += (B == 1)?"x ":((B
}
if (C != 0){
if ((A == 0) && (B == 0))
rownanie += C;
else
rownanie += (C
}
rownanie += " = 0";
document.write("Równanie: " + rownanie +"");
if (delta
document.write ("To równanie nie ma rozwiązań w zbiorze liczb rzeczywistych!");
}
else{
if (delta == 0){
document.write ("Rozwiązaniem jest liczba: x = ", - B / 2 * A)
}
else{
document.write ("Rozwiązaniem są liczby: x1 = ", ((- B + Math.sqrt (delta)) / (2 * A)));
document.write (" i x2 = ", ((- B - Math.sqrt (delta)) / (2 * A)));
}
}
// Koniec kodu JavaScript -->
Jak widać, skrypt jest teraz bardziej skomplikowany. Wyjaśnienia mo\e wymagać wiersz:
rownanie += (B == 1)?"+ x ":((B
Pierwsze wra\enie  bardzo skomplikowanie, niemniej jest to jedynie zagnie\d\one wyra\enie warunkowe poznane w
ćwiczeniu 3.14. Ogólna konstrukcja takiego wyra\enia wyglądała następująco:
(wyra\enie warunkowe)?wartość1:wartość2
W naszym przypadku wartość2 zastąpiona została po prostu przez kolejne wyra\enie warunkowe. Schematycznie mo\na
przedstawić jako:
(wyra\enie warunkowe 1)?wartość1:((wyra\enie warunkowe 2)?wartość3:wartość4)
Mimo \e skrypt jest teraz dosyć skomplikowany, nie oznacza to, \e nie mo\na go jeszcze usprawnić. Przede wszystkim nale-
\ałoby sprawdzać, czy na pewno równanie podane przez u\ytkownika jest równaniem kwadratowym, tzn. czy parametr A
nie jest równy zero. Jeśli tak, nie nale\y obliczać delty. Warto te\ zainteresować się, czy u\ytkownik nie wcisnął przy po-
25
Rozdział 4. Obiekty i funkcje
dawaniu parametrów przycisku Anuluj (Cancel). Kod wyświetlający samo równanie te\ mo\na usprawnić. W tej chwili,
np. jeśli parametr B równy jest jeden, nie wyświetlamy jedynki, a tylko  +B , jeśli jednak B jest równe  1, wyświetlane jest
-1 * B. Te poprawki pozostawmy jednak jako zadanie do samodzielnego wykonania.
Pętle
Pętle to wyra\enia programowe słu\ące do wykonywania powtarzających się czynności. Np. jeśli chcielibyśmy 150 razy
wypisać na stronie To jest moja strona domowa, pomijając sensowność takiej czynności, wklepanie w skrypcie 150
razy document.write ( To jest moja strona domowa ) byłoby niewątpliwie ucią\liwe. Pętle pozwalają na au-
tomatyzację takiej czynności.
Pętla for
Pętla typu for ma składnię następującą:
for (wyra\enie początkowe; wyra\enie warunkowe; wyra\enie modyfikujące){
blok instrukcji
}
Wyra\enie początkowe jest stosowane do zainicjalizowania zmiennej u\ywanej jako licznik ilości wykonać pętli. Wyra\e-
nie warunkowe określa warunek, jaki musi być spełniony, aby dokonać kolejnego przejścia w pętli, wyra\enie modyfikują-
ce u\ywane jest zwykle do modyfikacji zmiennej będącej licznikiem.
wiczenie 3.19.
U\yj pętli typu for do wyświetlenia na ekranie dowolnej sekwencji napisów (rysunek 3.9).
Rysunek 3.9.
Zastosowanie
pętli typu for
do wyświetlania
sekwencji napisów
for (var i = 1; i
document.write ("To jest moja strona");
}
// Koniec kodu JavaScript -->
26
JavaScript. wiczenia praktyczne
Kod nale\y rozumieć następująco: dopóki wartość zmiennej i jest mniejsza bądz równa 150, zwiększaj i o 1 oraz wykonuj in-
strukcję document.write ( To jest moja strona"). Efekt działania widoczny jest na rysunku 3.9.
Pętle tego typu mo\na zmodyfikować, tak aby pozbyć się wyra\enia modyfikującego. Dokładniej przenieść je do wnętrza
pętli w sposób następujący:
for (wyra\enie początkowe; wyra\enie warunkowe;){ blok instrukcji
wyra\enie modyfikujące
}
wiczenie 3.20.
Zmodyfikuj pętle typu for tak, aby wyra\enie modyfikujące znalazło się w bloku instrukcji.
for (var i = 1; i
document.write ("To jest moja strona");
i++;
}
// Koniec kodu JavaScript -->
Wa\ną rzeczą jest, aby pamiętać o średniku występującym po wyra\eniu i
dłowego funkcjonowania całego skryptu.
W podobny sposób mo\na te\  pozbyć się wyra\enia początkowego, przenosząc je jednak nie do wnętrza pętli, a przed nią.
wiczenie 3.21.
Usuń wyra\enie początkowe poza pętlę for.
var i = 1; [ Pobierz całość w formacie PDF ]

  • zanotowane.pl
  • doc.pisz.pl
  • pdf.pisz.pl
  • jutuu.keep.pl
  • Menu

    Cytat


    Fallite fallentes - okłamujcie kłamiących. Owidiusz
    Diligentia comparat divitias - pilność zestawia bogactwa. Cyceron
    Daj mi właściwe słowo i odpowiedni akcent, a poruszę świat. Joseph Conrad
    I brak precedensu jest precedensem. Stanisław Jerzy Lec (pierw. de Tusch - Letz, 1909-1966)
    Ex ante - z przed; zanim; oparte na wcześniejszych założeniach.