Модераторы: Sardar, Aliance
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> форматирование математических выражений 
:(
    Опции темы
nbsp
Дата 26.10.2010, 16:26 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 4
Регистрация: 9.7.2007

Репутация: нет
Всего: нет



Google Calculator форматирует математическое выражение следующим образом:

2+2/2 ---> 2 + (2 / 2)
2+2/2*PI ---> 2 + ((2 / 2) * PI)

Проще говоря - расcтавляет круглые скобки по правилам. Кто-нибудь знает как сделать это на JavaScript?
PM MAIL   Вверх
ksnk
Дата 26.10.2010, 16:43 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


прохожий
****


Профиль
Группа: Комодератор
Сообщений: 6855
Регистрация: 13.4.2007
Где: СПб

Репутация: 84
Всего: 386





--------------------
Человеку свойственно ошибаться, программисту свойственно ошибаться профессионально ! user posted image
PM MAIL WWW Skype   Вверх
magelan
Дата 29.10.2010, 18:14 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


потерял xPath
**


Профиль
Группа: Участник
Сообщений: 393
Регистрация: 5.4.2010

Репутация: 2
Всего: 16



Эко ksnk молодец. Сходу погрузил человека в волшебную страну ОПН.

Я немного расшифрую что он имел в виду.

Задача дробится на две:

1.  Написать некоторый лексиматор, который разберет строку вида 2+2/2*PI на лексемы сформировав, например, массив [2, 2, 2, '/', 'PI', '*', '+']. Любой компилятор любого языка базируется на лексическом разборе, а ksnk вам правильно указал формат который будет самым удобным в вашей задаче. Пишется такая штука либо хитропопым регексом с последующей обработкой, либо рекурсией (т.к. во входящем выражении могут оказаться скобочки тоже). Задачка весьма красивая (настоящий мед для настоящего программиста), но ресурсоемкая и не часто встречающаяся, гуглите на тему разбор математических выражений - что-нибудь найдете, не важно на каком языке.

2. Развернуть Польскую Нотацию обратно в формулу, весьма скучно делается одним проходом цикла.

Это сообщение отредактировал(а) magelan - 29.10.2010, 18:18
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Форум для вопросов, которые имеются в справочниках, но их поиск вызвал затруднения, или для разработчика требуется совет или просьба отыскать ошибку. Напоминаем: 1) чётко формулируйте вопрос, 2) приведите пример того, что уже сделано, 3) укажите явно, нужен работающий пример или подсказка о том, где найти информацию.
 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | JavaScript: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0595 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.