Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
Самоучитель PHP 5 / 6 (3 издание). Авторы: Кузнецов М.В., Симдянов И.В. MySQL 5. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. PHP на примерах (2 издание). Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель MySQL 5. Авторы: Кузнецов М.В., Симдянов И.В. Социальная инженерия и социальные хакеры. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Разное

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Калькулятор с переменными
 
 автор: nytrogen   (09.07.2009 в 20:53)   письмо автору
 
 

Доброе время суток, уважаемые знатоки!

Что Вы думаете о создании калькулятора с возможностью использования в выражении переменных? Т.е. например, при вводе строки a + a, калькулятор должен выдать на ответе 2a.

Я поставился целью написать подобное чудовище, которое будет вычислять алгебраические выражения из школьной программы. С синтаксическим, семантическим и лексическим анализами я более менее разобрался. А теперь придётся похоже учить калькулятор законам математики =(.

Может кто-нибудь сталкивался с чем-либо подобным? Буду благодарен Вашим комментариям!

  Ответить  
 
 автор: DEM   (10.07.2009 в 01:31)   письмо автору
 
   для: nytrogen   (09.07.2009 в 20:53)
 

Не просто сталкивался, но в данный момент активно этим занимаюсь :) Правда всего пару дней и дальше разбора выражения и работы с матрицами дело не дошло (разнообразные действия с матрицами, от СЛОЖЕНИЯ она или нет и до ПРИВЕСТИ К ТРЕУГОЛЬНОМУ ВИДУ). Ну а разбор выражений вида "2*A+B*C", где A,B,C - матрицы... (хотя может решать и простые "2+5*6+4/2"
Сейчас просто енту времени делать это дальше, но думаю на выходных продолжу... Вещь это определёно полезная, но многие вещи будет сделать очень сложно, к примеру как записать пределы или интегралы?

Но это еще и само по себе интересно, так как надо напрягать мозг, а делать это для программирования очень интеерсно и полезно ;)


ЗЫ. только я не совсем понял зачем a*a запиисывать, как 2a?

  Ответить  
 
 автор: Nytrogen   (10.07.2009 в 02:11)   письмо автору
 
   для: DEM   (10.07.2009 в 01:31)
 

>Ну а разбор выражений вида "2*A+B*C", где A,B,C - матрицы
Эм, не совсем понял, матрицы, это то бишь детерминанты? (сори, я прост только школу закончил).

>к примеру как записать пределы или интегралы?
Это тоже не ко мне, я такое пока и не планирую, даже не знаю, что это такое =)

>только я не совсем понял зачем a*a запиисывать, как 2a?
Я привёл пример примитивного действия с переменными: 2 плюс 2 равно 2а (там не умножение, а сложение). Дело в том, что я не ставлю целью выполнять какие-то астрономические расчёты, а просто напросто, используя законы алгебры, вычислять задаваемое выражение. Вот например такое:
3((a + b)2 - 2ab) + 5

Калькулятор должен выдать ответ:
3a2 + 3b2 + 5


Кстати, сегодня придумал интересное решение - использовать структуру бинарного дерева для анализа выражения. Пока это в разработке.

Да, и ещё важная деталь. Дроби он должен складывать без приколов, т.е. 1/2 + 1/3 будет равно 5/6, так же как и корни считать с умом, то бишь корень из 108 - это ничто иное как 6 корней из 3.

  Ответить  
 
 автор: .   (10.07.2009 в 02:20)
 
   для: DEM   (10.07.2009 в 01:31)
 

Приведение матрицы к треугольному виду осуществляется по алгоритму. Алгоритм есть (есть лемма о том, что любая невырожденная матрица может быть приведена к треугольной, её доказательство и есть алгоритм). Поэтому в этой части думать не придётся.

P.S.
Опасная тендения, как говорил Пётр Петрович. Царство ему...

  Ответить  
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования