Witam na początku ;)
Oto problem:
Dostaje dwie linijki z zewnatrz w takiej postaci:
2 3 5
sin(x)*x
I chcialbym aby druga linijka, dowolnie podany wzor wykonywal dzialanie. W tym wypadku x=2
jak to zrobic? Ciezko mi to wytlumaczyc. Cos w roli kalkulatora, gdzie podaje np: sin(2)*2 ---> enter i on mi nizej podaje wynik.
Pomozcie prosze:)
Całe zadanie: (Potrzebne mi jako jedno z 5 na zaliczenie semestru ;))
Zadania związane z funkcjami były częste w liceum. W związku z powolnym zatracaniem umiejętności obliczeniowych na rzecz programistycznych, chcemy napisać program, który rozwiązywałby za nas zadania matematyczne.
Załóżmy, że chcemy obliczać wartości funkcji, miejsca zerowe oraz pochodne w punkcie.
Możliwe operacje, to +, -, *, /, ^ - potęga, ln() - logarytm naturalny, sin() - sinus, cos() - kosinus
UWAGA: Operator ma najwyższy priorytet; *, / mają średni priorytet; +, - mają najmniejszy priorytet. Operator jest prawostronnie łączny (czyli 234 = 2(34)), reszta operatorów jest lewostronnie łączna.
Dane wejściowe
Pobierać będziemy dwie linie. W pierwszej będą podane trzy liczby rzeczywiste a, c, d. W drugiej linni będzie podana funkcja f(x). Wiadomo, że f(c)*f(d)<0 i na tym przedziale jest ciągła. Ponadto w f(x) nie ma operatora unarnego minus (-).
Dane wyjściowe
Należy wypisać 3 linie w każdej linii jedną liczbę będącą:
- w pierwszej linii f(a);
- w drugiej linii miejsce zerowe f(x), które zawiera się pomiędzy liczbali c i d;
- w trzeciej linii pochodną funkcji f w punkcie a.
W przypadku braku rozwiązania można wpisać NIE. Wynik może różnić się od wzorcowego o 10-6.
Przykład
Wejście:
1 2 4.1
sin(x)*x
Wyjście:
0.8414709848079
3.14159265
NIE