Наши проекты:
Журнал · Discuz!ML · Wiki · DRKB · Помощь проекту |
||
ПРАВИЛА | FAQ | Помощь | Поиск | Участники | Календарь | Избранное | RSS |
[18.97.14.84] |
|
Сообщ.
#1
,
|
|
|
Люди подскажите мне как сделать так, чтобы я вводил с коавиатуры во время работы программы непример такое 1+20+30*х
А потом в программе подставлялось значение х и выдавался ответ Очень нужно, чтобы сделать программу для построения графиков. Подскажите хоть чтонибудбть!!! |
Сообщ.
#2
,
|
|
|
как только выражение станет более сложным (типа x*(x + 2)), то будет нужна обратная польшская нотация
|
Сообщ.
#3
,
|
|
|
обратная польшкая нотация это че за дрянь расскажи не понял
|
Сообщ.
#4
,
|
|
|
реализация типичного калькулятора... мда. Пишешь анализатор выражения, переводишь его в польскую запись, потом спрашиваешь Х и считаешь
|
Сообщ.
#5
,
|
|
|
Объясни пожалуйста, что такое Польская запись
|
Сообщ.
#6
,
|
|
|
обратная польская запись - запись выражения, в котором оператор (+ - * /) стоит после обоих операндов. Примечательна полным отсутствием скобок Расчет по ней реализуется стеком, если нашел число или Х, то пихаешь его в стек, если нашел оператор - вытаскиваешь из стека оба операнда (сначала второй, потом первый), вычисляешь и кладешь результат обратно в стек.
Например: (2+5)*3+4*(9-6) в польской записи пишется как 5 2 + 3 * 4 9 6 - * + |
Сообщ.
#7
,
|
|
|
а какой тип данных нужно выбирать, чтобы с помощью read можно было ввести?
|
Сообщ.
#8
,
|
|
|
string
а уже потом посимвольно разбирать не все так просто в этой жизни... |
Сообщ.
#9
,
|
|
|
Цитата DimAlish @ 25.10.04, 14:13 обратная польшкая нотация это че за дрянь расскажи не понял http://algolist.manual.ru/syntax/revpn.php |
Сообщ.
#10
,
|
|
|
У меня есть парсер, написанный на Дельфи. Я им пользовался в своей проге.
Думаю, его не трудно будет изменить для Турбо Паскаля. |
Сообщ.
#11
,
|
|
|
Люди, у нас в факе всё есть. Я писал %)
Добавлено Э.. в теме про инфиксные постфиксные и префиксные выражения. уже готовая реализация |
Сообщ.
#12
,
|
|
|
Цитата Some1, 25.10.04, 22:49 Эээ. Кхе мм...уже готовая реализация Ошибка в модуле FixExpr.pas на процедуре FreeParams и в других местах (проверял и в TP7 и в FPC) |
Сообщ.
#13
,
|
|
|
Вот рабочий модуль + мой пример для него.
Прикреплённый файлFParser.zip (5.41 Кбайт, скачиваний: 276) |
Сообщ.
#14
,
|
|
|
Romtek, хм.. я наверно на ТМТ писал.. щас гляну
Добавлено Сегодня, 00:36 Исправил. Можно качать. В BP7.0 работает [Romtek: Вверху есть прикреплённая ссылка на тему] |
Сообщ.
#15
,
|
|
|
Могу дать пример парсерного калькулятора. Только намыль мне на osvldm@rambler.ru
|