![]() |
|
Модераторы: Poseidon, Snowy, bems, MetalFan |
![]()
|
|
| cpu |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 149 Регистрация: 27.2.2003 Репутация: нет Всего: нет |
Программа запрашивает строкую Пользователь вбивает нечто вроде "sin(x*x+4)/2" или "sqr(sin(x)*cos(x*x))" или др. ф-ю.
Программа должна начертить график этой ф-и. Как можно это запрограммировать? |
|||
|
||||
| stab |
|
|||
![]() Эксперт ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 1839 Регистрация: 1.1.2003 Репутация: 14 Всего: 48 |
найди компонент вычислитель формул... где-то я их видел, то ли sources.ru то ли еще где
-------------------- 6, 6, 6 - the number of the beast. |
|||
|
||||
| Vit |
|
|||
![]() Vitaly Nevzorov ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 10964 Регистрация: 25.3.2002 Где: Chicago Репутация: 48 Всего: 207 |
В поставку RxLib входит модуть Parsing.pas - он как раз это и делает, а вообще это написано в нашем FAQ.
-------------------- With the best wishes, Vit I have done so much with so little for so long that I am now qualified to do anything with nothing Самый большой Delphi FAQ на русском языке здесь: www.drkb.ru |
|||
|
||||
| Dapo |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 417 Регистрация: 18.4.2002 Репутация: нет Всего: 1 |
Транслятор-это круто. :-) Может лучше сделать чтобы пользователь не набивал строку, а составлял посредством какого-нибудь коснтруктора? В любом случае задача не простая. Делать разбор строки "по всем правилам выичслений", разбирать на элементарные функции и в порядке вложенности вычислять. Функции можно хранить в отдельной библиотеке и находить их по имени.
|
|||
|
||||
| <Spawn> |
|
|||
![]() Око кары:) ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 2776 Регистрация: 29.1.2003 Где: Екатеринбург Репутация: 44 Всего: 64 |
Делаешь что то похожее на язык программирования))))) Шутка) Можно идти примерно таким путем. Делаешь несколько "проходов" по исследуемой строке. Например, на первом анализе строки проверяешь правильность синтаксиса. На втором ищешь вхождения в строку зарезервированных тобою строк (ну например - sqr, cos). При нахождении которых определяешь ее параметры. Ну и еще одной нелегкой задачей будет определение последовательности рассчета
-------------------- "Для некоторых людей программирование является такой же внутренней потребностью, подобно тому, как коровы дают молоко, или писатели стремятся писать" - Николай Безруков. |
|||
|
||||
| Vex |
|
|||
![]() кацапосрачмученiкъ ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 3103 Регистрация: 28.3.2002 Где: strawberry fields Репутация: 1 Всего: 88 |
Когда-то делал такую программку, если хочешь скину по почте, правда она далеко недоделанная (как и все мои проги). Будь очень внимательный насчет стандартов отображения знака разделения целой и дробной части ;)
-------------------- Слава Україні. |
|||
|
||||
| cpu |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 149 Регистрация: 27.2.2003 Репутация: нет Всего: нет |
Я лучше компонент найду, чем вручную разбираться буду.
|
|||
|
||||
| Vex |
|
|||
![]() кацапосрачмученiкъ ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 3103 Регистрация: 28.3.2002 Где: strawberry fields Репутация: 1 Всего: 88 |
Ты больше времени потратишь, чем разберешься с parsing.pas, там вообще нечего разбираться, если что - подскажем -------------------- Слава Україні. |
|||
|
||||
![]()
|
| Правила форума "Delphi: Общие вопросы" | |
|
|
Запрещается! 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делиться вскрытыми компонентами
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Snowy, MetalFan, bems, Poseidon, Rrader. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Delphi: Общие вопросы | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |