![]() |
![]() |
![]()
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. |
|
|
![]()
Post
#3
|
|
Grupa: Zarząd Postów: 3 503 Pomógł: 28 Dołączył: 17.10.2002 Skąd: Wrocław ![]() |
OSTRZEŻENIE:
PROSZĘ NADAWAĆ WĄTKOM SENSOWNE TYTUŁY. |
|
|
![]()
Post
#4
|
|
Grupa: Zarejestrowani Postów: 37 Pomógł: 0 Dołączył: 3.05.2003 Skąd: Szczecinek Ostrzeżenie: (0%) ![]() ![]() |
Ok, juz rozumiem ale...
Czy 8 linia: [php:1:8a223973fe]<?php if ($a || $b || $c) { # wartości w formularzu są ok ?>[/php:1:8a223973fe] nie oznacza ze wszystkie wartosci a, b i c musza byc wpisane? |
|
|
![]()
Post
#5
|
|
Grupa: Zarząd Postów: 2 277 Pomógł: 6 Dołączył: 27.12.2002 Skąd: Wołów/Wrocław ![]() |
nie - zapis || oznacza lub (or), czyli, id ($a || $b || $c) oznacza jeśli a lub b lub c jest wpisane, wtedy ...
Jeśli chiałbyś, by sparawdzać, czy wszystkie wartośći są wpisane, musisz zkorzystać z and (&&) A takie tytuły tamatów naprawdę drażnią. |
|
|
![]()
Post
#6
|
|
Grupa: Zarząd Postów: 3 503 Pomógł: 28 Dołączył: 17.10.2002 Skąd: Wrocław ![]() |
Cytat 23 - zwykle dzielenie i przypisanie wyniku do zmiennej $x1 Ze zmianą znaku.[php:1:4d55f46570]<?php
$x1 = (-1)*($c/$(IMG:http://forum.php.pl/style_emoticons/default/cool.gif) ; ?>[/php:1:4d55f46570] |
|
|
![]()
Post
#7
|
|
Grupa: Zarejestrowani Postów: 37 Pomógł: 0 Dołączył: 3.05.2003 Skąd: Szczecinek Ostrzeżenie: (0%) ![]() ![]() |
Rozumiem to tak:
if ($a) - jezeli jest zmienna a (zmienne b i c moga byc ale nie musza) to... if ($(IMG:http://forum.php.pl/style_emoticons/default/cool.gif) - jezeli nie ma zmiennej a, jest zmienna b, (zmienna c moze byc ale nie musi) to... Tak Koshin masz racje, po usunieciu linijek, o ktorych mowa skrypt obliczy wynik tylko gdy wszystkie zmienne sa wpisane. Nie mogelm sie polapac o co chodzi poniewaz myslalem, ze ten zapis if ($a || $b || $c) ozacza, ze wszystkie zmienne musza byc wpisane. Jeszcze jedno. Między tymi zapisami: [php:1:657578915c]<?php $x1 = -$c/$b; ?>[/php:1:657578915c] [php:1:657578915c]<?php $x1 = (-1)*($c/$(IMG:http://forum.php.pl/style_emoticons/default/cool.gif) ; ?>[/php:1:657578915c] nie ma chyba zadnej roznicy w wyswietlaniu, oba sa poprawne? czy ktorys jest bardziej zalecany? |
|
|
![]()
Post
#8
|
|
Grupa: Zarząd Postów: 3 503 Pomógł: 28 Dołączył: 17.10.2002 Skąd: Wrocław ![]() |
pierwszy jest szybszy i czytelniejszy. Zresztą w matematyce jako takiej jest konstrukcja y = -x i jest ona poprawna.
|
|
|
![]()
Post
#9
|
|
Grupa: Zarejestrowani Postów: 37 Pomógł: 0 Dołączył: 3.05.2003 Skąd: Szczecinek Ostrzeżenie: (0%) ![]() ![]() |
Ok.
Dowiedzialem sie juz wszystkiego co chcialem. Dzieki. Nara. |
|
|
![]()
Post
#10
|
|
Administrator planeta/IRC Grupa: Przyjaciele php.pl Postów: 385 Pomógł: 0 Dołączył: 19.04.2003 Skąd: Zabrze Ostrzeżenie: (0%) ![]() ![]() |
Cytat Rozumiem to tak:
if ($a) - jezeli jest zmienna a (zmienne b i c moga byc ale nie musza) to... if ($(IMG:http://forum.php.pl/style_emoticons/default/cool.gif) - jezeli nie ma zmiennej a, jest zmienna b, (zmienna c moze byc ale nie musi) to... To źle rozumiesz... if ($a) - sprawdza tylko wartość zmiennej $a, a reszte ma w d... if ($(IMG:http://forum.php.pl/style_emoticons/default/cool.gif) - j.w tyle że zmiennej $b... if ( empty($a) && isset($(IMG:http://forum.php.pl/style_emoticons/default/cool.gif) ) - jezeli nie ma zmiennej a, jest zmienna b, (zmienna c moze byc ale nie musi) to... |
|
|
![]()
Post
#11
|
|
Grupa: Zarejestrowani Postów: 78 Pomógł: 0 Dołączył: 25.10.2002 Skąd: z kabla:)/ czewa Ostrzeżenie: (10%) ![]() ![]() |
Cytat if ( empty($a) && isset($(IMG:http://forum.php.pl/style_emoticons/default/cool.gif) ) - jezeli nie ma zmiennej a, jest zmienna b, (zmienna c moze byc ale nie musi) to...
if ( empty($a) && isset($(IMG:http://forum.php.pl/style_emoticons/default/cool.gif) ) - jezeli zmienna a jest pusta (0), i jest zmienna b, (zmienna c moze byc ale nie musi) to... jak chcesz sprawdzic czy nie ma zmiennej to [php:1:be8e55955a]<?php if( !isset($(IMG:http://forum.php.pl/style_emoticons/default/cool.gif) ) ?>[/php:1:be8e55955a] |
|
|
![]()
Post
#12
|
|
Administrator planeta/IRC Grupa: Przyjaciele php.pl Postów: 385 Pomógł: 0 Dołączył: 19.04.2003 Skąd: Zabrze Ostrzeżenie: (0%) ![]() ![]() |
Jeśli zmiennej nie ma to funkcja empty() równierz zwróci TRUE...
|
|
|
![]()
Post
#13
|
|
Grupa: Zarejestrowani Postów: 37 Pomógł: 0 Dołączył: 3.05.2003 Skąd: Szczecinek Ostrzeżenie: (0%) ![]() ![]() |
Cytat Cytat Rozumiem to tak:
if ($a) - jezeli jest zmienna a (zmienne b i c moga byc ale nie musza) to... if ($(IMG:http://forum.php.pl/style_emoticons/default/cool.gif) - jezeli nie ma zmiennej a, jest zmienna b, (zmienna c moze byc ale nie musi) to... To źle rozumiesz... if ($a) - sprawdza tylko wartość zmiennej $a, a reszte ma w d... if ($(IMG:http://forum.php.pl/style_emoticons/default/cool.gif) - j.w tyle że zmiennej $b... if ( empty($a) && isset($(IMG:http://forum.php.pl/style_emoticons/default/cool.gif) ) - jezeli nie ma zmiennej a, jest zmienna b, (zmienna c moze byc ale nie musi) to... Dobrze rozumiem: if ($a) - napisales to co ja tylko innymi slowami... if ($(IMG:http://forum.php.pl/style_emoticons/default/cool.gif) - if ($a) jest wyzej to znaczy, ze jesli bedzie $a to nie dojdzie do sprawdzania $b, czyli aby sprawdzil $b nie moze byc zmiennej a czyli: Cytat nie ma zmiennej a, jest zmienna b, (zmienna c moze byc ale nie musi) to...
|
|
|
![]() ![]() |
![]() |
Aktualny czas: 22.08.2025 - 15:13 |