| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Object Pascal: кроссплатформенные технологии > Вычислить значение выражения, записанного в строке |
| Автор: peter86 6.4.2008, 18:58 |
| Есть строка, в ней записано выражение по правилам языка Паскаль, например: 12+sin(pi/5+ln(1))+exp(3). Нужно написать программу, которая вычисляет значение выражения. Все бы ничего, но в строке могут быть функции, которые содержат в себе другие функции, например: exp(ln(sin(1))). Так вот, как вычислять значение таких функций? |
| Автор: ama_kid 6.4.2008, 19:09 |
| Парсинг строки тебе поможет. Посмотри http://pascal.sources.ru/parsing/index.htm, в частности, http://pascal.sources.ru/parsing/swexpr.htm модуль |
| Автор: ILyAHA 7.4.2008, 19:41 |
| тебе нужно писать тогда небольшой интерпретатор.... лучше для преобразования из строки в "последовательность кода" используй обратную польскую запись |