Wykresy funkcji (1)

Program umożliwia uzyskanie wykresu funkcji matematycznej. W tym celu należy w pola licznik i mianownik wpisać odpowiednie wyrażenia algebraiczne zgodnie z poniższymi zasadami. Brak dostosowania się do nich może spowodować nieprawidłowe działanie programu lub zawieszenie się Twojego komputera!

y = f(x) =

licznik(x)   
mianownik(x)

Zasady korzystania z programu

Aby uzyskać wykres żądanej funkcji postępuj zgodnie z poniższymi zasadami.

  1. Jeżeli badana funkcja jest ułamkiem, to jej licznik wpisz w górne pole, a mianownik w dolne. W przeciwnym razie dolne pole pozostaw puste lub wpisz 1.
  2. Masz do dyspozycji cztery działania ' + ', ' - ', ' * ', ' / '. We wszystkie miejsca w badanej funkcji, gdzie się mnoży musisz wstawić ' * ', program nie zrobi tego za Ciebie.
  3. Wszystkie badane funkcje mogą być tylko funkcjami zmiennej ' x '.
  4. Funkcje potęgowe wpisujemy jako pot(a,b,c), gdzie:
    1. - a , to podstawa potęgi, może nią być ' x ' lub liczba;
    2. - b , to licznik wykładnika;
    3. - c , to mianownik wykładnika, jeżeli wykładnik jest liczbą całkowitą, to należy za ' c ' wpisać 1.
      Jeżeli b lub c są liczbami, to muszą być liczbami całkowitymi, aby program działał prawidłowo!
  5. Masz do dyspozycji następujące funkcje predefiniowane:
    1. abs(x) - wartość bezwzględna,
    2. funkcje trygonometryczne - sin(x), cos(x), tg(x) oraz ctg(x),
    3. funkcje hiperboliczne - sinh(x), cosh(x), tgh(x) oraz ctgh(x),
    4. funkcje cyklometryczne (kołowe) - arcsin(x), arccos(x), arctg(x) oraz arcctg(x),
    5. ln(x) - logarytm naturalny, inne logarytmy można uzyskać przy pomocy wzoru na zmianę podstawy logarytmu,
    6. exp(x) - eksponent, czyli ex.
  6. Wszystkie funkcje predefiniowane muszą być zapisane w powyższej formie z nawiasami półokrągłymi, za ' x ' można podstawić dowolne wyrażenie funkcyjne. Używaj tylko małych liter.

(1) Program ten jest oparty na idei zawartej w artykule "Algebraic Graphs in Canvas" autorstwa Davida Francisa opublikowanym na stronie internetowej wydawnictwa SitePoint Pty. Ltd.