Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> Wykonanie działania matematycznego, umieszczonego w zmiennej string
maciek022
post
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)
Go to the top of the page
+Quote Post
rogrog
post
Post #2





Grupa: Zarejestrowani
Postów: 602
Pomógł: 1
Dołączył: 3.04.2004
Skąd: Trójmiasto (Gdańsk)

Ostrzeżenie: (0%)
-----


stare dobre eval" title="Zobacz w manualu PHP" target="_manual
Go to the top of the page
+Quote Post
NuLL
post
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...
Go to the top of the page
+Quote Post
Paul
post
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()
Go to the top of the page
+Quote Post
maciek022
post
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??
Go to the top of the page
+Quote Post
rogrog
post
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?
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 21.12.2025 - 19:49