![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 37 Pomógł: 0 Dołączył: 3.05.2003 Skąd: Szczecinek Ostrzeżenie: (0%) ![]() ![]() |
To jest skrypt z kasiążki, który wyświetla formularz z możliwością wpisania trzech danych a, b i c, a potem oblicza rozwiazanie rownania kwadratowego ax2+bx+c=0:
[php:1:8616e1ec27]<?php // Pobiera od użytkownika współczynniki równania, a następnie // oblicza wartości zerowe równania kwadratowego. $a = str_replace (",", ".", $a); settype ($a, "double"); $b = str_replace (",", ".", $(IMG:http://forum.php.pl/style_emoticons/default/cool.gif) ; settype ($b, "double"); $c = str_replace (",", ".", $c); settype ($c, "double"); if ($a || $b || $c) { # wartości w formularzu s± ok print ("a = $a, b = $b, b = $c<BR>"); if ($a) { $delta = $b*$b-4*$a*$c; if ($delta < 0) { print ('Równanie nie ma pierwiastków rzeczywistych'); } elseif ($delta == 0) { $x1 = -$b/(2 * $a); print ("Równanie ma jeden pierwiastek rzeczywisty: $x1"); } else { $x1 = (-$b-sqrt($delta)) / (2*$a); $x2 = (-$b+sqrt($delta)) / (2*$a); print ("Równanie ma dwa pierwiastki rzeczywiste: $x1 i $x2"); } } elseif ($(IMG:http://forum.php.pl/style_emoticons/default/cool.gif) { $x1 = -$c/$b; print ("Równanie ma jeden pierwiastek rzeczywisty: $x1"); } else { print ('Równanie nie ma pierwiastków rzeczywistych'); } print '<BR><A HREF="4-03.php">Powrót do formularza</A>'; } else { # nie ma wpisanych danych, wyświetlamy formularz print '<FORM ACTION="4-03.php" METHOD=GET>'; print 'a: <INPUT TYPE="text" NAME="a"><BR>'; print 'b: <INPUT TYPE="text" NAME="b"><BR>'; print 'c: <INPUT TYPE="text" NAME="c"><BR>'; print '<INPUT TYPE="submit" VALUE="Wyślij">'; print '</FORM>'; } ?>[/php:1:8616e1ec27] Moze mi ktoś powiedziec po co są linie: 10, 22, 23, 24, 25, 26, 27. Czy wogole sa potrzebne?. Wlasnie ucze sie php i oprocz wymienionych wyzej linii caly skrypt jest dla mnie jasny. Po usunięciu tych linii skrypt dziala poprawnie. |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 196 Pomógł: 0 Dołączył: 29.04.2002 Skąd: jesteś? Ostrzeżenie: (0%) ![]() ![]() |
if ($a)
wydaje mi sie ze jesli zmienna $a zawiera jakas wartosc to wynikiem if($a) jest TRUE (czyli instrukcje sa wykonywane) podobnie w lini 22. to jest po prostu taki myk, w razie gdybys nie podal wartosci a, lub b -> wtedy inaczej sie rownanie liczy. 23 - zwykle dzielenie i przypisanie wyniku do zmiennej $x1 kolejne linijki sa drukowaniem rozwiazania rownania.. dla jednego rozwiazania oraz dla braku rozwiazania. bo jak zapewne wiesz, rownania kwadratowe moga miec 3 rowne wersje rozwiazania (zalezy od rownania) oczywiscie mozesz je pominac. ale jaki sens wtedy to liczyc?? skrypt prawdopodobnie dziala poprawnie (lub prawie poprawnie) tylko dla konkretnych wartosci zmiennych. |
|
|
![]() ![]() |
![]() |
Aktualny czas: 3.10.2025 - 08:25 |