Вычисление сложным математических выражений
В выражении могут встречаться функции как от одного параметра, так и от нескольких.
С одним параметром проблем, практически, не возникает, но как быть с функцией от n параметров?
Думаю сделать рекурсией, приняв параметр, передаваемый функции, за выражение.
Може есть другие варианты? Может кто занимался уже подобным вопросом? Поделитесь мыслями.
Можешь сказать, какую тебе надо прогу делать?
Не совсем понятно.
Можешь сказать, какую тебе надо прогу делать?
Не суть, какую мне программу надо сделать, важно, что мне надо вычислять выражения типа res=sin(x)*6-min(max(cos(y),sin(y)),0)
P.S. Для особо любопытных, хочу сделать нечто, подобное скриптовому движку в упрощенном виде.
Не суть, какую мне программу надо сделать, важно, что мне надо вычислять выражения типа res=sin(x)*6-min(max(cos(y),sin(y)),0)
P.S. Для особо любопытных, хочу сделать нечто, подобное скриптовому движку в упрощенном виде.
Это можно сделать с помощью конечного автомата и стека.
Это можно сделать с помощью конечного автомата и стека.
Пример кинуть можешь?
Со стеком я могу сделать вычисление не очень сложных выражений, но что касается сложных... видимо придется разбивать на части.
Пример кинуть можешь?
Со стеком я могу сделать вычисление не очень сложных выражений, но что касается сложных... видимо придется разбивать на части.
Со стеком можно "вычислить" и сложные выражения.
В качестве примера, макс. могу написать кон.авт. который вычислит все выражения состоящие из операторов, тригон.ф-ий и чисел.
Более элегантным решением было бы подключить движок VBScript или JScript. Только не знаю можно ли его подключить к Delphi.
Более элегантным решением было бы подключить движок VBScript или JScript. Только не знаю можно ли его подключить к Delphi.
Чет не хочеца :)