Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 17.04.2017, 15:54   #1
Maximm
Новичок
Джуниор
 
Регистрация: 17.04.2017
Сообщений: 2
По умолчанию Нужна помощь(неопределенный интеграл)

Здравствуйте,слишком поздно узнал тему курсовой.Уже достаточно гуглил нашёл минимально полезной информации.В общем тема курсовой звучит как нахождение неопределенного интеграла, именно неопределенного.Пользователь вводит функцию после чего программа определяет по какой формуле считается этот интеграл.И выводит результат(что также является функцией, а не конкретным числом).Преподаватель сказал, что нужно использовать лексический анализатор(не обязательно).Понятия не имею что это и как это работает.Первый раз о нём слышу вообще(также гуглил ничего дельного не нашёл).Если получу хоть какую-то помощь буду благодарен.
Maximm вне форума Ответить с цитированием
Старый 18.04.2017, 09:22   #2
evg_m
Старожил
 
Регистрация: 20.04.2008
Сообщений: 5,515
По умолчанию

задача лексического анализатора выделить в произвольной формуле более простые элементы и операции для которых интеграл известен.
1 ==> x
1+ x ==> x + x^2
sin (x) ==> cos(x) ??
....
для всех существующих в мире математических функций рассчитать интеграл в курсовой работе вряд ли получится, тем более что
Цитата:
слишком поздно узнал тему курсовой
так что нужны какие-то ограничения. Например полиномы.
Основная проблема "классической" записи функции это НЕПОСЛЕДОВАТЕЛЬНЫЙ порядок вычислений (скобки и приоритеты операций). Этого недостатка нет в польской и польской обратной записи формул.
http://algolist.manual.ru/syntax/revpn.php --польская нотация
http://algolist.manual.ru/ --и другие алгоритмы

ТАК что рекомендую(я бы делал так)
первым делом перевести формулу в польскую (или польскую обратную) форму. (по сути это и будет твоим "лексическим анализатором").

затем к отдельным элементам этой формы записи применить известные правила интегрирования.

и наконец перевести полученную формулу в "классический" вид.

P.S. если на исходные формулы наложены какие- либо ограничения (например только полиномы в классической записи), то польская форма может и не пригодиться.
программа — запись алгоритма на языке понятном транслятору

Последний раз редактировалось evg_m; 18.04.2017 в 09:26.
evg_m вне форума Ответить с цитированием
Старый 18.04.2017, 15:40   #3
type_Oleg
Старожил
 
Аватар для type_Oleg
 
Регистрация: 02.03.2008
Сообщений: 2,538
По умолчанию

Цитата:
Сообщение от evg_m Посмотреть сообщение
1+ x ==> x + x^2
1+ x ==> x + (x^2)/2
type_Oleg вне форума Ответить с цитированием
Старый 18.04.2017, 15:53   #4
Maximm
Новичок
Джуниор
 
Регистрация: 17.04.2017
Сообщений: 2
По умолчанию

Я на словах достаточно понял и в математике я довольно неплохо разбираюсь.Но дело в том что я учусь не в вузе а в колледже.И там проходим всё мягко говоря по верхам.Я понимаю, что ты уже неплохо помог.Но если тебя всё же не затруднит, возможно ты накарякаешь хоть какой-то код (как пример может быть) я бы дальше и сам справился.
Maximm вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
XML: ссылка на неопределенный объект shy mishax Общие вопросы Delphi 0 19.09.2012 12:15
Очень нужна помощь c матрицами, макросами в Excel. Заранее благодарен(поверьте, очень-очень нужна помощь) Farridjan Помощь студентам 1 03.07.2009 12:24
Очень нужна помощь с написанием программы... срочно(буду благодарен за помощь) 5Paladin5 Помощь студентам 3 02.07.2009 09:12