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

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

Вернуться   Форум программистов > .NET Frameworks (точка нет фреймворки) > Общие вопросы .NET
Регистрация

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 27.10.2010, 15:36   #1
papos
Пользователь
 
Регистрация: 20.09.2010
Сообщений: 37
По умолчанию Парсинг арифметического уравнения

Добрый день господа. Подскажите пожалуйста советом, так как наверняка по тому вопросу, что у меня возник, есть если не готовые рецепты, то практические наработки

Есть строка, представляющая собой арифметическое выражения типа C1+L12*5-R12/2=константа. В строке слева от знака равенства могут быть числа и переменные. Переменные R[индекс] - это сопротивление, оно вводится с клавиатуры и, фактически, это тоже константа Остальные значения нужно найти, решив уравнение. Даже не "остальные", а остальное, так как неизвестное будет одно. Знаки операций - "+-*\", без скобок. Хотел было сесть решать "влоб", то есть составляя алгоритмы с учетом приоритета операций, переноса через знак равенства констант и т.д., но решил создать тему здесь, в надежде что кто-то, может быть, сталкивался с таким и подскажет более оригинальное решение
papos вне форума Ответить с цитированием
Старый 27.10.2010, 15:54   #2
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

1) Если вдруг Вам будет полезен пример программы-калькулятора математических выражений на Pascal - то можете взять тут

2) но, в чистом виде он Вам не подойдёт. Ибо, как я понимаю, Вам нужно решить уравнение... Тут подумать надо, как Вы это решать будете...

Цитата:
может быть, сталкивался с таким и подскажет более оригинальное решение
Мне тоже было бы любопытно!
Serge_Bliznykov вне форума Ответить с цитированием
Старый 27.10.2010, 15:57   #3
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Цитата:
ак как неизвестное будет одно
Окак. Прям таки одно?
Тогда поясни фразу
Цитата:
В строке слева от знака равенства могут быть числа и переменные
стало быть могут быть две переменные. так?
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 27.10.2010, 21:34   #4
papos
Пользователь
 
Регистрация: 20.09.2010
Сообщений: 37
По умолчанию

Немного некорректно написал - могут быть переменные (т.е. несколько), но так как уравнение только одно, то решений в таком случае будет бесконечное множество. В таком случае пользователю необходимо предложить сделать допущение, задав каким-то переменным значения и оставив только одну. Её-то и нужно будет посчитать. В общем, основная проблема - решить уравнение с 1-й переменной
Serge_Bliznykov, спасибо все равно, но просто парсер арифметического выражения я сделал
papos вне форума Ответить с цитированием
Старый 28.10.2010, 22:01   #5
papos
Пользователь
 
Регистрация: 20.09.2010
Сообщений: 37
По умолчанию

up! up! up!)
papos вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
С++. Подсчёт среднего арифметического Negent Помощь студентам 1 15.08.2010 14:00
Вычисление условного арифметического выражения doda666 Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM 2 16.03.2010 08:02
Поиск среднего арифметического в массиве Джед Общие вопросы C/C++ 15 12.06.2009 16:32
Построение арифметического выражения. Arugin Помощь студентам 5 16.03.2009 09:49
Нахождение среднего арифметического AliVe Паскаль, Turbo Pascal, PascalABC.NET 1 12.04.2007 00:25