IPB

Здравствуйте, гость ( Вход | Регистрация )

> Работа со строкой в Pascal/Delphi
Sixthirty
сообщение 8.5.2011, 14:30
Сообщение #1


Школьник
*

Группа: Продвинутые
Сообщений: 18
Регистрация: 8.5.2011
Город: Москва
Учебное заведение: МАИ
Вы: студент



Всем доброго дня.
Разрабатываю программу, которая бы считала значения ф-ии и в будущем, выводила бы график.
Суть вот в чем. Например, отбросим построение графика, тогда можно все вывести через командную строку.
Программа должна работать так: program.exe -v x -v y "x+y", после чего вводятся значения икс и игрек. Выделить из строки выражение функции(х+у) не проблема, но проблема в том, чтобы подставить туда значения. Конечно, на простых ф-ях можно просто пройтись по строке и все заменить, но когда будут мало-мальски большие степени - будет трудно. Да и писать для каждой возможной ф-ии свой обработчик - извращение.
Хотелось бы услышать, как все же можно заставить программу считать по той ф-ии, которая вводится. Проверку на подлинность не нужно, допустим, что всё будет вводится по синтаксису.
Пользователь в офлайнеКарточка пользователяОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
 
Ответить в эту темуОткрыть новую тему
Ответов(1 - 2)
Vahappaday
сообщение 8.5.2011, 15:46
Сообщение #2


Аспирант
***

Группа: Продвинутые
Сообщений: 334
Регистрация: 26.4.2009
Город: Липецк
Учебное заведение: ЛГТУ
Вы: студент



Ну, например преобразовать к обратной польской записи, а потом элементарно считается.
http://ru.wikipedia.org/wiki/%D0%9E%D0%B1%...%B8%D1%81%D1%8C
Пользователь в офлайнеКарточка пользователяОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения
oxid
сообщение 19.6.2011, 19:51
Сообщение #3


Новичок
*

Группа: Продвинутые
Сообщений: 5
Регистрация: 19.6.2011
Город: Москва
Учебное заведение: МИТХТ
Вы: студент



Цитата(Sixthirty @ 8.5.2011, 18:30) *

Всем доброго дня.
Разрабатываю программу, которая бы считала значения ф-ии и в будущем, выводила бы график.
Суть вот в чем. Например, отбросим построение графика, тогда можно все вывести через командную строку.
Программа должна работать так: program.exe -v x -v y "x+y", после чего вводятся значения икс и игрек. Выделить из строки выражение функции(х+у) не проблема, но проблема в том, чтобы подставить туда значения. Конечно, на простых ф-ях можно просто пройтись по строке и все заменить, но когда будут мало-мальски большие степени - будет трудно. Да и писать для каждой возможной ф-ии свой обработчик - извращение.
Хотелось бы услышать, как все же можно заставить программу считать по той ф-ии, которая вводится. Проверку на подлинность не нужно, допустим, что всё будет вводится по синтаксису.


Я бы написал синтаксический анализатор.. Это не сложно. Сразу будет и проверка синтаксиса и расширяемость и возможность вычислить что угодно.

Могу дать пример на perl для разбора языка похожего на sql.
Пользователь в офлайнеКарточка пользователяОтправить личное сообщение
Вернуться в начало страницы
+Ответить с цитированием данного сообщения

Ответить в эту темуОткрыть новую тему
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 



- Текстовая версия Сейчас: 25.5.2025, 19:40

Книжки в помощь: "Сборник заданий по высшей математике" Кузнецов Л.А., "Сборник заданий по высшей математике" Чудесенко В.Ф., "Индивидуальные задания по высшей математике" Рябушко А.П., и другие.




Зеркало сайта Решебник.Ру - reshebnik.org.ru