![]() |
![]() ![]() |
![]() |
![]()
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 (",", ".", $ ![]() $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 ($ ![]() $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. -------------------- "A o co chodzi?" Phivko
|
|
|
![]()
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? -------------------- "A o co chodzi?" Phivko
|
|
|
![]()
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ą. -------------------- "Niezależnie od tego, jakie masz osiągnięcia, ktoś Ci pomaga..."
|
|
|
![]()
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/$ ![]() ?>[/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 ($ ![]() 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/$ ![]() ?>[/php:1:657578915c] nie ma chyba zadnej roznicy w wyswietlaniu, oba sa poprawne? czy ktorys jest bardziej zalecany? -------------------- "A o co chodzi?" Phivko
|
|
|
![]()
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. -------------------- "A o co chodzi?" Phivko
|
|
|
![]()
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 ($ ![]() To źle rozumiesz... if ($a) - sprawdza tylko wartość zmiennej $a, a reszte ma w d... if ($ ![]() if ( empty($a) && isset($ ![]() -------------------- "Programmers are in a race with the Universe to create bigger and better idiot-proof programs, while the Universe is trying to create bigger and better idiots. So far the Universe is winning."
Cudi's devBlog |
|
|
![]()
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($
![]() if ( empty($a) && isset($ ![]() jak chcesz sprawdzic czy nie ma zmiennej to [php:1:be8e55955a]<?php if( !isset($ ![]() ?>[/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...
-------------------- "Programmers are in a race with the Universe to create bigger and better idiot-proof programs, while the Universe is trying to create bigger and better idiots. So far the Universe is winning."
Cudi's devBlog |
|
|
![]()
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 ($ ![]() To źle rozumiesz... if ($a) - sprawdza tylko wartość zmiennej $a, a reszte ma w d... if ($ ![]() if ( empty($a) && isset($ ![]() Dobrze rozumiem: if ($a) - napisales to co ja tylko innymi slowami... if ($ ![]() Cytat nie ma zmiennej a, jest zmienna b, (zmienna c moze byc ale nie musi) to...
-------------------- "A o co chodzi?" Phivko
|
|
|
![]() ![]() |
![]() |
Aktualny czas: 22.08.2025 - 00:34 |