OberonCore

Библиотека  Wiki  Форум  BlackBox  Компоненты  Проекты
Текущее время: Вторник, 19 Март, 2024 10:03

Часовой пояс: UTC + 3 часа




Начать новую тему Ответить на тему  [ Сообщений: 6 ] 
Автор Сообщение
СообщениеДобавлено: Вторник, 14 Январь, 2014 19:52 

Зарегистрирован: Четверг, 01 Август, 2013 16:39
Сообщения: 92
Откуда: Кыргызстан
Произвести (+,-,/,*) 2х дробей, у которых вместо знаменателя или числителя может быть уравнение или матрица и т.д.
Например: 10*(sqrt(3)/2). Вместо sqrt(3) могло бы быть уравнение или матрица. Эта задача похожа на парсер Html кода, мне тогда советовали семантический анализ и книгу построение компиляторов. Пример может иметь сложную структуру, моя задача просто дать своей программе математическую задачу и ждать от нее ответ, пусть она сама решает а не я.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Среда, 15 Январь, 2014 07:58 

Зарегистрирован: Пятница, 26 Август, 2011 23:42
Сообщения: 339
Откуда: Россия, Самара
Так, в чём вопрос? Научиться разбирать арифметические выражения? Полно книг, полно примеров. Вбейте в поисковик разбор выражений.

Пример
http://habrahabr.ru/post/50196/

Можно вычислять сразу в ББ.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Среда, 15 Январь, 2014 08:20 

Зарегистрирован: Пятница, 26 Август, 2011 23:42
Сообщения: 339
Откуда: Россия, Самара
Как программа узнает, что sqrt, это квадратный корень? Значит нужно добавить в программу поддержку функций, Вы говорили о матрицах, значит нужно добавить оперированием матрицами.
В конце получится интерпритатор ограниченного языка. Если для обучения, пока не напишешь не поймёшь. Документации достаточно.

Если вычислить нужно здесь и сейчас, для этого есть более продвинутые средства, вроде matlab'a и т.д Или проще на ББ, вычислил и забыл.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Пятница, 17 Январь, 2014 12:09 

Зарегистрирован: Четверг, 01 Август, 2013 16:39
Сообщения: 92
Откуда: Кыргызстан
Jordan, я до вашего ответа не знал что нужно вводить в поисковик, спасибо за ответ (разбор выражений) , трудно обьяснить поисковику что то, если не знаешь термины.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Пятница, 17 Январь, 2014 14:28 

Зарегистрирован: Пятница, 26 Август, 2011 23:42
Сообщения: 339
Откуда: Россия, Самара
Есть стандартный способ, разбора выражений.
Алгоритм сортировочной станции

С примером.

Для наглядности, можно переписать на КП.


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: Пятница, 17 Январь, 2014 15:14 

Зарегистрирован: Пятница, 26 Август, 2011 23:42
Сообщения: 339
Откуда: Россия, Самара
Вот пример на паскале.
http://pers.narod.ru/study/pas_parser.html


Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 6 ] 

Часовой пояс: UTC + 3 часа


Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 0


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Вся информация, размещаемая участниками на конференции (тексты сообщений, вложения и пр.) © 2005-2024, участники конференции «OberonCore», если специально не оговорено иное.
Администрация не несет ответственности за мнения, стиль и достоверность высказываний участников, равно как и за безопасность материалов, предоставляемых участниками во вложениях.
Без разрешения участников и ссылки на конференцию «OberonCore» любое воспроизведение и/или копирование высказываний полностью и/или по частям запрещено.
Powered by phpBB® Forum Software © phpBB Group
Русская поддержка phpBB