Разложение формулы на простые составляющие
Хочу сделать возможность по формуле делать операции над Таблицами (Либо таблицами значений, либо Временными таблицами не суть). Есть возможность выполнить простое действие (+-*/^ и тд)
Вопрос. Как разложить сложную формулу на простые составляющие.
Например, есть формула Т1*(Т2+Т3*(Т4+Т5/Т6)).
Мысль, возможно кривая, крутится начать подменять первые действия на новые Таблицы, получается что-то ввиде графа
1. Вершине "Т1*(Т2+Т3*(Т4+Т5))" соответствует структура("НоваяТ,ФормулаТ,Результат","Т7","Т4+Т5/Т6",Т1*(Т2+Т3*Т7))
2. Вершине "Т4+Т5/Т6" соответствует структура("НоваяТ,ФормулаТ,Результат","Т8","Т5/Т6","Т4+Т8")
"Т5/Т6" и "Т4+Т8" уже простые формулы и разложению не подлежат
3. Вершине "Т1*(Т2+Т3*Т7)" соответствует структура("НоваяТ,ФормулаТ,Результат","Т9","Т2+Т3*Т7",Т1*Т9)
4. Вершине "Т2+Т3*Т7" соответствует структура("НоваяТ,ФормулаТ,Результат","Т10","Т3*Т7","Т2+Т10")
Не могу сообразить как запихнуть этот граф в 1С и как его потом обойти...Может быть кто-нибудь что-то подобное дела?
Вопрос. Как разложить сложную формулу на простые составляющие.
Например, есть формула Т1*(Т2+Т3*(Т4+Т5/Т6)).
Мысль, возможно кривая, крутится начать подменять первые действия на новые Таблицы, получается что-то ввиде графа
1. Вершине "Т1*(Т2+Т3*(Т4+Т5))" соответствует структура("НоваяТ,ФормулаТ,Результат","Т7","Т4+Т5/Т6",Т1*(Т2+Т3*Т7))
2. Вершине "Т4+Т5/Т6" соответствует структура("НоваяТ,ФормулаТ,Результат","Т8","Т5/Т6","Т4+Т8")
"Т5/Т6" и "Т4+Т8" уже простые формулы и разложению не подлежат
3. Вершине "Т1*(Т2+Т3*Т7)" соответствует структура("НоваяТ,ФормулаТ,Результат","Т9","Т2+Т3*Т7",Т1*Т9)
4. Вершине "Т2+Т3*Т7" соответствует структура("НоваяТ,ФормулаТ,Результат","Т10","Т3*Т7","Т2+Т10")
Не могу сообразить как запихнуть этот граф в 1С и как его потом обойти...Может быть кто-нибудь что-то подобное дела?
По теме из базы знаний
Найденные решения
(1)
Чтобы начать производить операции над таблицами необходимо придерживаться следующих шагов:
1) Изучить что такое обратная польская запись
2) Подобрать алгоритм перевода из инфиксной нотации в обратную польскую запись. Например, взять классический алгоритм "сортировочная станция" от Эдсгера Дейкстры.
3) Использовать на полученной структуре вычисления на вершине стека.
Вот то, что необходимо сделать, чтобы начать производить операции над таблицами.
Чтобы начать производить операции над таблицами необходимо придерживаться следующих шагов:
1) Изучить что такое обратная польская запись
2) Подобрать алгоритм перевода из инфиксной нотации в обратную польскую запись. Например, взять классический алгоритм "сортировочная станция" от Эдсгера Дейкстры.
3) Использовать на полученной структуре вычисления на вершине стека.
Вот то, что необходимо сделать, чтобы начать производить операции над таблицами.
Остальные ответы
Подписаться на ответы
Инфостарт бот
Сортировка:
Древо развёрнутое
Свернуть все
(1)
Чтобы начать производить операции над таблицами необходимо придерживаться следующих шагов:
1) Изучить что такое обратная польская запись
2) Подобрать алгоритм перевода из инфиксной нотации в обратную польскую запись. Например, взять классический алгоритм "сортировочная станция" от Эдсгера Дейкстры.
3) Использовать на полученной структуре вычисления на вершине стека.
Вот то, что необходимо сделать, чтобы начать производить операции над таблицами.
Чтобы начать производить операции над таблицами необходимо придерживаться следующих шагов:
1) Изучить что такое обратная польская запись
2) Подобрать алгоритм перевода из инфиксной нотации в обратную польскую запись. Например, взять классический алгоритм "сортировочная станция" от Эдсгера Дейкстры.
3) Использовать на полученной структуре вычисления на вершине стека.
Вот то, что необходимо сделать, чтобы начать производить операции над таблицами.
Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот