Fryazino.NET Forum || Hard&Soft || programming
>> Привет, Гость! Войдите! : вход | поиск | правила | банлист
Автор
programming (1) 1 для печати | RSS 2.0
BigG LaMMo

В процессе выполнения программы пользователь воодит строку с некой математической формулой (к прмеру "x*x+sin(2x)"), а потом программа должна выполнить с ней некие опреации (построить график). Т.е нужно прогнать цикл по этой формуле, которая неизвестна заранее. Как мне это реализовать (язык любой, но лучше С/С++)?
IP
DMX
Участник
1570
To BigG LaMMo
врядли тебе здесь кто нить что нить подскажет!
IP
ceramic
Участник
а зачем изобретать велосипед, есть уже готовые пакеты
IP
BigG LaMMo

Да в школе еще, помню, интегралы так лобали! Забыл только :(
IP
Inhuman
Участник
1008
делаешь транслятор со своего входного языка, всего-то делов. подобной информации полно в инете попробуй поискать по ключевым словам bizon и flex
IP
Sunflower
the scorpion
1492
To BigG LaMMo
Я в своё время писал интерпретатор арифметических выражений любой сложности, но там речь шла только о числах, знаках операций и скобках.

А тебе тут, получается, надо немалый кусочек компилятора написать. Ты точно уверен, что задача стоит именно так? Дело в том, что это достаточно серьезно, даже если сложность формул как-то ограничена.

IP
MBD
Moderator
Climbing and Drinking
Inhuman все сказал
IP
YuZer
Участник
Самое простое в Excel. И формулу ввести и график нарисовать.
IP
BigG LaMMo

To YuZer
Ну спасибо - ты меня спас!
To Inhuman
Зараза - все мои худшие опасения оправдались
IP
Pasha
Участник
To BigG LaMMo
А что, не так уж сложно это всё. Сначала -- синтаксический анализ проводишь, потом считаешь и строишь. Только долго и нудно это
IP
LDestroy
Участник
1380
To BigG LaMMo
читай здесь :
\\bayda\tech_lib\programming\Компиляторы и интерпретаторы (Создание)\Обpатная польская нотация (постфиксная).htm

... с экзамплом на сях ...

IP
Sunflower
the scorpion
1492
To BigG LaMMo
Да, а потом сможешь блеснуть такими перлами, как "польская инвертная запись" (она же "полИн" и "обратная польская нотация"), "отделение предикатов" и т.п.
IP
BigG LaMMo

To Sunflower
Также, как сейчас пытаешься блеснуть ты?
IP
wws
Участник
To BigG LaMMo
Вот мой модуль на паскале:
\\wws\ico\STRPlus.pas

Поддерживает константы, переменные, функции и т.д.
Арифметические операции: +,-,*,/,^

Разделителем в не целых числах должна быть точка.

IP
BigG LaMMo

To wws
Во спасибо!
IP
Страницы(1): 1

Хотите создавать темы и отправлять сообщения? Выполните Вход или Зарегистрируйтесь!




Напишите нам

µƒorum © fryazino.net