![]() ![]() |
Post
#1
|
|
|
Grupa: Zarejestrowani Postów: 4 Pomógł: 0 Dołączył: 13.04.2004 Skąd: wa-wa Ostrzeżenie: (0%)
|
Mam zasadniczy problem. Potrzebuje napisać skrypt, który najpierw zapisuje do zmiennej działanie w formie tekstu (string), następnie wyświetla tą zmienna na ekranie i oblicza wartość wyrażenia zawartego w tej zmiennej. Wynik również wyświetlając.
W wyrażeniu chciałbym użyć również zmiennych, czyli ma ono postać np.: Kod //zakładamy że zmienne $x, $y, $z są przekazywane przez funkcje $x^$z+floor($x*2+abs($y)/$x*$y*$z) Gwoli formalności: floor() - zaokrągla w dół, abs() - zwraca moduł liczby. Jak ma to wyglądać?(IMG:http://forum.php.pl/style_emoticons/default/questionmark.gif) |
|
|
|
Post
#2
|
|
|
Grupa: Zarejestrowani Postów: 602 Pomógł: 1 Dołączył: 3.04.2004 Skąd: Trójmiasto (Gdańsk) Ostrzeżenie: (0%)
|
|
|
|
|
Post
#3
|
|
|
Grupa: Zarejestrowani Postów: 2 262 Pomógł: 21 Dołączył: 3.05.2004 Skąd: Sopot, Krakow, W-wa Ostrzeżenie: (0%)
|
Jak ktos lubi harkor mozna by se parser napisac...
|
|
|
|
Post
#4
|
|
|
Grupa: Zarejestrowani Postów: 636 Pomógł: 0 Dołączył: 22.10.2003 Skąd: Katowice Ostrzeżenie: (0%)
|
Drobny parser by sie jednak przydal poniewaz tutaj jest nastepujace wyrazenie:
Cytat $x^$z Domyslam sie, ze chodzi o potegowanie, a taki operator w php to sumowanie bitowe modulo 2 (IMG:http://forum.php.pl/style_emoticons/default/smile.gif) . Tak wiec trzeba to zamienic na funkcje pow" title="Zobacz w manualu PHP" target="_manual() |
|
|
|
Post
#5
|
|
|
Grupa: Zarejestrowani Postów: 4 Pomógł: 0 Dołączył: 13.04.2004 Skąd: wa-wa Ostrzeżenie: (0%)
|
Fakt. Trafna uwaga. Zamiast '^' powinno być 'pow()'. Ale to był kiepski przykład prawde mówiąc w porównaniu do tego co mam napisać.. Otóż chodzi mi o napisanie skryptu, który mógłby powtarzać jakieś działanie n razy (n podajemy jako parametr funkcji). Najprostszym przykładem takiego działania może być silnia:
n! = 1*2*3*4*5*6*....*(n-2)*(n-1)*n W takim przypadku nie ma większego problemu. Natomiast problem zaczyna sie jeżeli w równanie wchodzą zmienne i nawiasy, np: $zmienna=$c($a/$n*(pow($a, $n-2)+pow($b, $n-2))+$c($a/($n-2)*(pow($a, $n-4)+pow($b, $n-4))+ ........ +$c($a/6*(pow($a, 4)+pow($a, 4))+$c($a/4*(pow($a, 2)+pow($a, 2))))....)) Zauważmy, że nawiasy stawiane po każdym '$c' zamykamy dopiero na końcu równania.. Czyli każde następne wyrażenie mnożymy dodatkowo przez $c... Pierwsze mnożymy przez $c, drugie już przez $c*$c, itd, itp.. A jeżeli sobie jeszcze dodamy do tego na końcu równania pewną zmienna w zależności od tego, czy $n jest parzyste, czy nie...? Mimo wszystko sprawia to troche problemu, nie?? |
|
|
|
Post
#6
|
|
|
Grupa: Zarejestrowani Postów: 602 Pomógł: 1 Dołączył: 3.04.2004 Skąd: Trójmiasto (Gdańsk) Ostrzeżenie: (0%)
|
może rekurencja?
|
|
|
|
![]() ![]() |
|
Aktualny czas: 21.12.2025 - 19:49 |