Pochodne i wykresy

0

Witam,

z racji, że to moje pierwsze posty chciałbym wszystkich powitać ;)
a teraz do rzeczy.

Mam do napisania program, który interpretuje wpisane wyrażenie matematyczne (funkcję trygonometryczne, liniowe, logarytmiczne, kwadratowe, itd.), a następnie rysuje te funkcje na wykresie, w zakresie podanym przez usera. Dodatkowo prowadzący stwierdził, że program ten ma dorysować pochodną danej funkcji oraz wypisać pochodną tej funkcji o.O
Trochę poszukałem w necie i znalazłem bibliotekę winbgim.h do rysowania tych funkcji, ale zastanawiam się jak zaprogramować to wprowadzania funkcji. Czy może czytać po znaku (do 3, bo mamy np.: cos(), sin(), tan(), log() ) i dopasować odpowiednią funkcję później? Jeżeli ktoś już robił podobny program prosiłbym o jakieś pomysły.
Program będzie pisany w konsoli (bez MFC, zwykłe okienko tekstowe).
Jeżeli ktoś zna też lepszą bibliotekę do takich zastosowań to prosiłbym o wskazówkę.
Dodam jeszcze, że program ma działać nawet jeśli podam mu: sin(x) + x^2...

Tak wygląda polecenie, mogłem je od samego początku wstawić, nie pomyślałem ;)

Używając aplikacji dialogowych napisz program rysujący wykresy funkcji matematycznych (liniowych, kwadratowych, trygonometrycznych, logarytmicznych lub wykładniczych) oraz ich pochodnych (jeżeli istnieją). Użytkownik powinien wprowadzać daną funkcję w postaci tekstu. Funkcja jak i jej pochodna winna być rysowana na zadanym przez użytkownika przedziale. Np. f(x)=sinx+2x dla x należącego do przedziału [-5,3].

0

Odwrotna notacja polska (jakiś debil wywalił algorytm z obecnej wersji więc trzeba czytać starą) i różniczkowanie numeryczne.

To wcale nie jest takie trudne. :-)

0

Dzięki wielkie, znajomy już coś wspominał mi o tej odwrotnej notacji polskiej.
Jak uważasz, czy te równanie wprowadzone przez usera traktować jako łańcuch i czytać od spacji do spacji? Mogę sobie zastrzec, żeby w pierwszej kolejności wprowadzał liniowe-> kwadratowe-> trygonometryczne-> logarytmiczne-> wykładnicze.
A różniczkowanie numeryczne znam jako obliczanie pochodnej ze wzoru ;)

Cały czas zastanawiam się jak można zidentyfikować te wprowadzane funkcje.

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