Технологии

Работа с введенными формулами - вопрос №168474

Здравствуйте.

У меня такой вопрос: как использовать формулу для вычисления, введенную в TEdit?

Например я ввожу в поле Edit 'sin(x)' в другой Edit значение X и мне соответственно нужно программно извлечь формулу из edit'а, либо посчитать значение в нём… Подскажите как это реализовать?

Заранее благодарен

Дополнение автора от декабрь 24, 2011 г., 20:11:37

Речь идёт о неизвестной программисту формуле, то есть у меня есть на форме компонент TChart и компонент TEdit в который пользователь вводит функцию
(y=f(X) к примеру), соответственно необходим код позволяющий выщитывать значения функции при определённых иксах для построения графика функции...
Я думал над вариантом перебора всех символов и через case расшифровки текста формулы переводя её в понятный для делфи язык... 

Роман декабрь 22, 2011 г.

  • Всего ответов: 2

  • Алексей Чудинов - аватарка

    Алексей Чудинов

    10-й в Технологиях

    Еслли задача имнно в вычислении какойто функции от одного аргумента то if вам в помощь. просто проверяйте что ввел пользвоатель. а если нужно решать формулу то это задача то вс енамного сложнее.Нужно паресрить вырыжение провидть к обратной польской записи, строить деревой операций и уже по нему сичтать.

    декабрь 24, 2011 г.
  • Константин Жук - аватарка

    Константин Жук

    1-й в

    как упомянул коллега ранее, это и называется парсингhttp://ru.wikipedia.org/wiki/%D0%A1%D0%B8%D0%BD%D1%82%D0%B0%D0%BA%D1%81%D0%B8%D1%87%D0%B5%D1%81%D0%BA%D0%B8%D0%B9_%D0%B0%D0%BD%D0%B0%D0%BB%D0%B8%D0%B7 

    в своей формулировке вопроса Вы говорите о распознавании произвольной математической формулы. но это не тривиальная задача. простого короткого совета нет. пробуйте любые варианты, так даже быстрее поймете в чем суть..

    скажем так — не надо перебирать все возможные символы. для начала ограничте возможности пользователя 2-3 функциями на свой вкус, базовыми арифметическими операциями "+" "-" "*" "/" "=" и однобуквенными переменными..

    в процессе реализации придет и понимание задачи в более общем виде

    можете поискать примеры исходного кода по словам

    «калькулятор на делфи»

    «парсинг формул на делфи»

    но собственный опыт полезнее. в том числе понять чужой код который делает уже что то достаточно серьезное проще имея свой минимальный опыт

    декабрь 24, 2011 г.

Похожие вопросы