PILNE:funkcje matematyczne

0

Witam! Mam problem, na który potrzebuję pilnej odpowiedzi:będę wdzięczny za każdą (dobrą ;)) radę. Chcę napisać program który daje oblicza wartość złożonych funkcji, np. sin(cos(3))*tan(1) czy coś w tym stylu. Problem polega na tym, że to użytkownik ma wpisać funkcje której wynik chce uzyskać. Wpisuje np. w komponencie Edit. Niestety, program nie rozpoznaje tego jako funkcji. Czy można coś zrobić zeby widział to jako funkcję?

Użytkownik wpisuje w edit np. sin(1) .Program ma to policzyć (wartośc to ok.0.84), ale najpierw musi to ZCZYTAĆ i ROZPOZNAĆ jako funkcję: ale zczytuję to jako string, i program widzi to jako ciąg znaków, a nie funkcję. O to chodzi.
Życzę wesołych świąt i czekam z niecierpliwościąna odpowiedzi! [hurra]

0

Użytkownik wpisuje w edit np. sin(1) .Program ma to policzyć (wartośc to ok.0.84), ale najpierw musi to ZCZYTAĆ i ROZPOZNAĆ jako funkcję: ale zczytuję to jako string, i program widzi to jako ciąg znaków, a nie funkcję. O to chodzi.

Witam!
Spróbuj zrobić coś w tym stylu:

var lancuch,kąt:string;

lancuch:=edit1.text;
if pos('sin',lancuch)>0 then
kąt:=copy(lancuch,pos('(',lancuch)+1,lenght(lancuch)-5);
sin(strtoint(kąt));
Jeśli czegoś nie rozumiesz to pisz
[cya]

0

To nie rozwiązuje problemu, bo jest jeszcze masa innych funkcji, nie tylko sin, mogą być również powiązane z innymi (sin(tg(x)) itp. itd. zmienne wariantowe też nic nie dadzą, ale zdaje się, ze jest gdzieś gotowy komponent na ten temat. (spróboj na http://www.sourgeforge.net)

0

http://4programmers.net/view.php?id=254
Troszkę przerobić, uzupełnić i będzie działać z sinusami i cosinusami (gdzieś mam podobny w ANSI C, ale nie jestem pewien, czy warto umieszczać...)

1 użytkowników online, w tym zalogowanych: 0, gości: 1, botów: 0