реализация функций исчисления, т. е. f (x), в программировании - PullRequest
9 голосов
/ 08 августа 2011

Я хочу написать программу, которая вычисляет заданную математическую функцию (пользователем) с определенным набором значений.

Пользователю предлагается ввести функцию, скажем, он набрал f (x) = (x ^ 2) + 3x + 1 , затем через программу я должен показать выходные данные [f (3) , f (6) и f (9)].

Вопрос, в частности, заключается в том, как извлечь эти x в типизированной функции, а затем как преобразовать функцию из строки в double или float.

У вас есть какие-нибудь мысли по этому поводу?

предположим, что я использую C или C ++

1 Ответ

2 голосов
/ 08 августа 2011

Это непростая задача, особенно если учесть, что операторы имеют приоритет над другими.

Посмотрите на некоторые из этих ссылок, чтобы понять, с чем вы имеете дело:

Анализатор уравнений (выражений) с приоритетом?

http://en.wikipedia.org/wiki/Operator-precedence_parser

...