Цитата:
Сообщение от Kingcss
2) И второй вопрос, каким образом можно реализовать интерпритатор (помоему так называется), тоесть я ввожу выражение: x^2 или (x-1)/(x^3+5) , а компьютер подставлял бы координату x, и считал y.
На данный момент работает только если, вручную писать в функцию.
|
Писал один раз построитель графиков. Анализировал формулу самым простым методом - методом
обратной польской польской нотации (примеры в гугле). Докачал до синусов и логарифмов, потом забил. Предварительно делал ломовую подготовку: все знаки операций (+, -, *, /, ^, sin, cos, tg, log, ...) заменял в строке на их номера (+ на #1, - на #2,...). При подсчете уже брал очередной элемент, если символ #1-#20 - вызывал соответствующую функцию, если цифра - дописывал к операнду, если буква - брал соответствующую переменную/константу (поддерживало pi, e, x; pi я заменял на греческую "пи"). Вообщем всё наиболее простым способом. Знаю, что есть намного более продуктивные методы, нежели польская нотация, но тогда не было желания копаться в сложном.