Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

Вычисление сложным математических выражений

302
11 октября 2004 года
Sagittarius
648 / / 12.04.2003
Мне необходимо написать программульку, которая будет вычислять сложные математические выражения.
В выражении могут встречаться функции как от одного параметра, так и от нескольких.

С одним параметром проблем, практически, не возникает, но как быть с функцией от n параметров?

Думаю сделать рекурсией, приняв параметр, передаваемый функции, за выражение.

Може есть другие варианты? Может кто занимался уже подобным вопросом? Поделитесь мыслями.
8.6K
11 октября 2004 года
Frenzy
6 / / 11.10.2004
Не совсем понятно.
Можешь сказать, какую тебе надо прогу делать?
302
12 октября 2004 года
Sagittarius
648 / / 12.04.2003
Цитата:
Originally posted by Frenzy
Не совсем понятно.
Можешь сказать, какую тебе надо прогу делать?


Не суть, какую мне программу надо сделать, важно, что мне надо вычислять выражения типа res=sin(x)*6-min(max(cos(y),sin(y)),0)

P.S. Для особо любопытных, хочу сделать нечто, подобное скриптовому движку в упрощенном виде.

368
12 октября 2004 года
rostyslav
629 / / 13.07.2004
Цитата:
Originally posted by Sagittarius

Не суть, какую мне программу надо сделать, важно, что мне надо вычислять выражения типа res=sin(x)*6-min(max(cos(y),sin(y)),0)

P.S. Для особо любопытных, хочу сделать нечто, подобное скриптовому движку в упрощенном виде.


Это можно сделать с помощью конечного автомата и стека.

302
12 октября 2004 года
Sagittarius
648 / / 12.04.2003
Цитата:
Originally posted by rostyslav
Это можно сделать с помощью конечного автомата и стека.


Пример кинуть можешь?
Со стеком я могу сделать вычисление не очень сложных выражений, но что касается сложных... видимо придется разбивать на части.

368
12 октября 2004 года
rostyslav
629 / / 13.07.2004
Цитата:
Originally posted by Sagittarius

Пример кинуть можешь?
Со стеком я могу сделать вычисление не очень сложных выражений, но что касается сложных... видимо придется разбивать на части.


Со стеком можно "вычислить" и сложные выражения.
В качестве примера, макс. могу написать кон.авт. который вычислит все выражения состоящие из операторов, тригон.ф-ий и чисел.

Более элегантным решением было бы подключить движок VBScript или JScript. Только не знаю можно ли его подключить к Delphi.

302
12 октября 2004 года
Sagittarius
648 / / 12.04.2003
Цитата:
Originally posted by rostyslav
Более элегантным решением было бы подключить движок VBScript или JScript. Только не знаю можно ли его подключить к Delphi.


Чет не хочеца :)

8.1K
13 октября 2004 года
backslash
4 / / 29.07.2004
Алгоритм Дейкстры тебе в помощь!
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог