Форум программистов, компьютерный форум CyberForum.ru

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Yaroslaman
1 / 1 / 0
Регистрация: 03.06.2013
Сообщений: 31
#1

Транслирование строки формулы в набор функций - C++

17.10.2015, 15:01. Просмотров 101. Ответов 1
Метки нет (Все метки)

Заголовок темы не совсем верно раскрывает суть вопроса.
Задача: вводим строку форумы (пример y=sin(x)+5. Левый коэф всегда y, т.е. мы его условно отбрасываем, в правой же стороне из неизвестных только x. Нужно составить транслятор из формулы в понятный вид. После чего получить производную данной функции.

Идеи: будем посимвольно перебирать всю функцию, проверям каждый елемент условиями,
1) если цифра
2) если буква, то какая, х или это функция (пример x+3 - переменная, xar(3)+4 - функция)
3) если это функция то за ней должна идти скобка
4) обязательно должен присудтсовать знак *, там где он предполагается быть
.....
5) уйма словий, но они будут решаться впоследствии создания более сложных и обширных функий, тот же логарифм, арккосинусы, степени и другое.

В конце всё будет складываться как дерево, т.е. функция y = sin(x+25^(3*x+exp(10*x))), будет выполняться так
sin (#1)
#1 = x+25^(#2)
#2 = (3*x+#3)
#3 = exp(#4)
#4 = 10*x

Т.е. разбить всё, а после решать с конца, сворачивая все к началу. При этом получать производную от каждой функции. Все производные хранять в бд в ввиде функция - её производная.
UP. Пользователь задает х в самом начале, после выбора необходимой функции из заданого листа, или ввода самостоятельно

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

Был бы рад получить несколько ссылочек или пинок в нужном направлении, поскольку не знаю как правильно сформулировать вопрос для гугла. Возможно Вы с этим сталкивались, тогда Ваши решения или советы были бы кстати.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
17.10.2015, 15:01     Транслирование строки формулы в набор функций
Посмотрите здесь:

Класс, набор методов C++
Определить структурированный тип, набор функций (в виде меню) для работы с массивом структур C++
Строки и перегрузка функций C++
Строка: Выбрать из текстовой строки все слова, входящие в данный набор и вывести их на печать C++
С использованием функций и указателей отсортировать строки массива строк по убыванию C++
C++ Написать набор функций, обслуживающих блочно-диагональные матрицы из нескольких нижне-треугольных блоков
Строки и использование библиотечных функций для их обработки C++
Набор задач C++
Строки и файлы в виде функций C++
C++ Описать структуру Account, а также набор функций для работы с ней
C++ указатель на char и применение функций строки к нему

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
gazlan
3130 / 1905 / 285
Регистрация: 27.08.2010
Сообщений: 5,133
Записей в блоге: 1
17.10.2015, 17:50     Транслирование строки формулы в набор функций #2
Цитата Сообщение от Yaroslaman Посмотреть сообщение
сформулировать вопрос для гугла
Symbolic computation
Yandex
Объявления
17.10.2015, 17:50     Транслирование строки формулы в набор функций
Ответ Создать тему
Опции темы

Текущее время: 04:03. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru