Разложение формулы на простые составляющие

1. AlexeyIsip 26 06.11.24 18:52 Сейчас в теме
Хочу сделать возможность по формуле делать операции над Таблицами (Либо таблицами значений, либо Временными таблицами не суть). Есть возможность выполнить простое действие (+-*/^ и тд)
Вопрос. Как разложить сложную формулу на простые составляющие.

Например, есть формула Т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С и как его потом обойти...Может быть кто-нибудь что-то подобное дела?
По теме из базы знаний
Найденные решения
2. user2104808 07.11.24 08:35 Сейчас в теме
(1)
Чтобы начать производить операции над таблицами необходимо придерживаться следующих шагов:

1) Изучить что такое обратная польская запись
2) Подобрать алгоритм перевода из инфиксной нотации в обратную польскую запись. Например, взять классический алгоритм "сортировочная станция" от Эдсгера Дейкстры.
3) Использовать на полученной структуре вычисления на вершине стека.

Вот то, что необходимо сделать, чтобы начать производить операции над таблицами.
AlexeyIsip; user1671936; orakool; +3 Ответить
Остальные ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
2. user2104808 07.11.24 08:35 Сейчас в теме
(1)
Чтобы начать производить операции над таблицами необходимо придерживаться следующих шагов:

1) Изучить что такое обратная польская запись
2) Подобрать алгоритм перевода из инфиксной нотации в обратную польскую запись. Например, взять классический алгоритм "сортировочная станция" от Эдсгера Дейкстры.
3) Использовать на полученной структуре вычисления на вершине стека.

Вот то, что необходимо сделать, чтобы начать производить операции над таблицами.
AlexeyIsip; user1671936; orakool; +3 Ответить
3. AlexeyIsip 26 07.11.24 14:03 Сейчас в теме
(2) Спасибо большое. Понял как сделать!
4. starik-2005 3092 07.11.24 14:38 Сейчас в теме
(2)
Вот то
Это чатгпт или яндыкс? )))
Вместо стека рекурсия рулит.
5. user2104808 07.11.24 17:35 Сейчас в теме
(4)
чатгпт
Своя разработка =]
Оставьте свое сообщение

Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот