Kurs WWW
Transkrypt
Kurs WWW
Kurs WWW lista zadań nr 6 Dany jest następujący dokument HTML: <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html lang="pl"> <head> <title>Zadanie 4</title> <meta http-equiv="Content-Type" content="text/html; charset=windows-1250"> <meta http-equiv="Content-Language" content="pl"> <script type="text/javascript" language="JavaScript"> function nwd(we) { alert(we); //tutaj należy dopisać treść funkcji } function pierwsze(we) { alert(we); //tutaj należy dopisać treść funkcji } function lcs(we) { alert(we); //tutaj należy dopisać treść funkcji } function kwadratowe(we) { alert(we); //tutaj należy dopisać treść funkcji } </script> </head> <body> <form name="przyciski"> <input type="button" value="Największy wspólny dzielnik" onclick="nwd(prompt(’Podaj dane:’,’’))"> <input type="button" value="Test pierwszości" onclick="pierwsze(prompt(’Podaj dane:’,’’))"> <input type="button" value="Najdłuższy wspólny podciąg" onclick="lcs(prompt(’Podaj dane:’,’’))"> <input type="button" value="Równanie kwadratowe" onclick="kwadratowe(prompt(’Podaj dane:’,’’))"> </form> </body> </html> Zadania polegają na napisaniu treści powyższych funkcji. Wynik działania każdej z funkcji powinien się pojawić w okienku wygenerowanym przez polecenie alert. Można oczywiście tworzyć funkcje pomocnicze, jak również wykorzystywać funkcje nawzajem. 1. Funkcja nwd bierze jako argument napis zawierający pary liczb naturalnych rozdzielonymi znakiem drukropka, gdzie każda para liczb jest rozdzielona przecinkiem. W wyniku działania funkcja oblicza największy wspólny dzielnik każdej pary liczb. Dla każdej pary wynik powinien być w osobnym wierszu. Przykładowe dane i wyniki: Dane: 12,15:20,21:24,27 Wyniki: NWD(12,15)=3 NWD(20,21)=1 NWD(24,27)=3 [2p] 2. Funkcja pierwsze bierze jako argument napis zawierający pewną ilość liczb naturalnych większych od 1, które to liczby są oddzielone przecinkami. W wyniku działania funkcja sprawdza po kolei, która z podanych liczb jest, a która nie jest pierwsza, i dla każdej z nich, w osobnym wierszu drukuje stosowny komunikat. Przykładowe dane i wyniki: Dane: 6,7,19 Wyniki: 6 nie jest pierwsze 7 jest pierwsze 19 jest pierwsze [2p] 3. Funkcja lcs bierze jako argument napis zawierające pary oddzielonych odstępem słów złożonych z małych liter alfabetu. Pary oddzielone są znakiem dwukropka. W wyniku działania funkcja oblicza najdłuższy wspólny podciąg liter dla każdej pary słów i drukuje te podciągi w osobnych wierszach. Przykładowe dane i wyniki: Dane: abcd acd:abdbcd bbbcad Wyniki: acd bbcd [3p] 4. Funkcja kwadratowe bierze jako argument napis zawierający definicję funkcji kwadratowej. Zakładamy, że współczynniki tej funkcji są liczbami całkowitymi, a opis jest w notacji pseudo–TEX-owej, np. 3*x^2-10*x+4. W wyniku działania funkcja wyznacza miejsca zerowe podanej funkcji, ale wynik ma być podany w postaci symbolicznej. Naturalnie należy zweryfikować ile miejsc zerowych ma dana funkcja i w razie potrzeby generować odpowiednie komunikaty. Trzy uwagi: √ • Jeżeli gdzieś w√obliczeniach pojawi się np. 9, to należy to zamieniać na liczbę 3, natomiast 11 zostawiamy w spokoju. √ • Należy również wyciągać czynniki spod pierwiastka, czyli np. 18 zamieniać √ na 3 2 • Należy skracać ułamki. Przykładowe dane i wyniki: Dane: 3*x^2-10*x+4 Wyniki: x_1=(5-sqrt(13))/3 x_2=(5+sqrt(13))/3 [3p] Paweł Rajba