![]() |
Здравствуйте, гость ( Вход | Регистрация )
![]() ![]() |
![]() |
Sixthirty |
![]()
Сообщение
#1
|
Школьник ![]() Группа: Продвинутые Сообщений: 18 Регистрация: 8.5.2011 Город: Москва Учебное заведение: МАИ Вы: студент ![]() |
Всем доброго дня.
Разрабатываю программу, которая бы считала значения ф-ии и в будущем, выводила бы график. Суть вот в чем. Например, отбросим построение графика, тогда можно все вывести через командную строку. Программа должна работать так: program.exe -v x -v y "x+y", после чего вводятся значения икс и игрек. Выделить из строки выражение функции(х+у) не проблема, но проблема в том, чтобы подставить туда значения. Конечно, на простых ф-ях можно просто пройтись по строке и все заменить, но когда будут мало-мальски большие степени - будет трудно. Да и писать для каждой возможной ф-ии свой обработчик - извращение. Хотелось бы услышать, как все же можно заставить программу считать по той ф-ии, которая вводится. Проверку на подлинность не нужно, допустим, что всё будет вводится по синтаксису. |
Vahappaday |
![]()
Сообщение
#2
|
Аспирант ![]() ![]() ![]() Группа: Продвинутые Сообщений: 334 Регистрация: 26.4.2009 Город: Липецк Учебное заведение: ЛГТУ Вы: студент ![]() |
Ну, например преобразовать к обратной польской записи, а потом элементарно считается.
http://ru.wikipedia.org/wiki/%D0%9E%D0%B1%...%B8%D1%81%D1%8C |
oxid |
![]()
Сообщение
#3
|
Новичок ![]() Группа: Продвинутые Сообщений: 5 Регистрация: 19.6.2011 Город: Москва Учебное заведение: МИТХТ Вы: студент ![]() |
Всем доброго дня. Разрабатываю программу, которая бы считала значения ф-ии и в будущем, выводила бы график. Суть вот в чем. Например, отбросим построение графика, тогда можно все вывести через командную строку. Программа должна работать так: program.exe -v x -v y "x+y", после чего вводятся значения икс и игрек. Выделить из строки выражение функции(х+у) не проблема, но проблема в том, чтобы подставить туда значения. Конечно, на простых ф-ях можно просто пройтись по строке и все заменить, но когда будут мало-мальски большие степени - будет трудно. Да и писать для каждой возможной ф-ии свой обработчик - извращение. Хотелось бы услышать, как все же можно заставить программу считать по той ф-ии, которая вводится. Проверку на подлинность не нужно, допустим, что всё будет вводится по синтаксису. Я бы написал синтаксический анализатор.. Это не сложно. Сразу будет и проверка синтаксиса и расширяемость и возможность вычислить что угодно. Могу дать пример на perl для разбора языка похожего на sql. |
![]() ![]() |
![]() |
Текстовая версия | Сейчас: 25.5.2025, 19:40 |
Зеркало сайта Решебник.Ру - reshebnik.org.ru