![]() |
|
||||||||||
|
|||||||
|
|
« Предыдущая тема | Следующая тема » |
| Опции темы | Опции просмотра |
|
![]() |
![]() |
|
|||||
|
Регистрация: Jul 2008
Сообщений: 6
|
Такое возможно?Если да то как?
|
|
|||||
|
Регистрация: Jul 2008
Сообщений: 6
|
идей нет....
mathcad на fash оч смешно |
|
|||||
|
Привет!
Тема очень интересная. Но, если mathcad смешно, то ищи в нете другое. В аттаче подсказка. И еще одно слово для поиска: MathIWYG Есть и другое решение записи и воспроизведения формул, но оно не получило широкого применения. Если найду пример - выложу. И последнее. Везде речь о визуализации формул, но не сам расчет, который можно таки проделать на основании записей в том же ХМЛ |
|
|||||
|
Как по мне можно написать простенький парсер формул на флешь (:
На AS мне писать такое не приходилось но думаю вполне осуществимо (: Идея такая - есть строка с формулой. То есть цифры, операторы и функции. Делается всё рекурсивной функцией, которая на входе получает строку с формулой, а возвращает посчитанный результат. Функция, получив строку, делит формулу на части по оператору с самым низким приоритетом или наличием скобок. То есть строка 2+2*2*(2+2) будет поделена на две подстроки: 1) 2 2) 2*2*(2+2) // (2+2) - скобки считаются как один операнд Рекурсия продолжается. Там где у нас осталось "2" операторов больше нету, это конец рекурсии. Двойку функция и возвращает. Далее, у нас есть ещё строка 2*2*(2+2). Скармливаем её функции. Она делится на три части. 1) 2 2) 2 3) 2+2 Результат для первых двух уже известен - это двойки. Осталось посчитать третью часть. Имеем 2 и 2. Я забыл сказать, что знаки(операторы) между частями мы тоже должны где-то хранить (: То в конце эта функция, если она разбила строку на несколько частей должна последовательно выполнить операции между ними. В последнем случае: 2 + 2. Возвращает 4. Операции можно спокойно выполнять слева-направо, так как приоритет операторов будет одинаковый(мы же разбивали строку по оператору с самым низким приоритетом). Да, описание довольно смутное получилось, но надеюсь идея понятно (:
__________________
while(1) {} Последний раз редактировалось Division; 25.07.2008 в 17:11. |
|
|||||
|
Речь шла о полноценном редакторе и визуализатора математических формул (радикалах, интегралах, простых дробях, степенях, матрицах и пр. пр. пр.
|
|
|||||
|
Цитата:
Если это действительно так, то молчу (: Наверно стоит поискать готовые решения. Например, в гугле.
__________________
while(1) {} |
|
|||||
|
Регистрация: May 2008
Сообщений: 476
|
Жень Шень! Почему Вы решили, что речь идет о полноценном редакторе и визуализаторе мат. формул?
Из слов rosenbor'a можно сделать единственный вывод - он хочет загрузить формулы из файла, а потом их рассчитать, вовсе без визуализации. В базовых языках это делается довольно просто, здесь же потребуется разработка довольно сложного рекурсивного алгоритма с приоритетами мат. операций и широким набором функционала.
__________________
Случайность, господа, это знаете ли непознанная необходимость. |
|
|||||
|
Регистрация: Jul 2008
Сообщений: 6
|
Цитата:
Цитата:
Последний раз редактировалось iNils; 25.07.2008 в 18:03. |
![]() |
![]() |
Часовой пояс GMT +4, время: 03:23. |
|
|
« Предыдущая тема | Следующая тема » |
|
|