Александровский форум

Текущее время: 15 окт 2024, 16:44

Часовой пояс: UTC + 3 часа [ Летнее время ]




Начать новую тему Ответить на тему  [ Сообщений: 9 ] 
Автор Сообщение
 Заголовок сообщения: Решение уравнений в visual basic
СообщениеДобавлено: 23 мар 2009, 12:57 
Не в сети
Житель форума
Аватара пользователя

Зарегистрирован: 11 янв 2008, 21:06
Сообщения: 620
Откуда: 44°42 с. ш. 42°59 в. д.
Нужно написать программу на visual basic, которая будет решать уравнения. В принципе это легко, вот только не могу понять как сделать чтобы автоматически определялось, какое это уравнение- линейное, квадратное, кубическое и т.д. для того чтобы опередить тип решения?!
+ как можно сделать, к примеру квадратное: a*x^2+b*x+c=0 чтобы определяло, где а, а где b , и где с, в нем (уравнение записывается в одной строчке)

_________________
Изображение

Изображение


Вернуться к началу
 Профиль  
Ответить с цитатой  
 Заголовок сообщения:
СообщениеДобавлено: 23 мар 2009, 14:51 
Не в сети
Admin
Аватара пользователя

Зарегистрирован: 13 июл 2004, 18:40
Сообщения: 1755
Откуда: РФ
Парсить

_________________
Кто владеет информацией, тот владеет миром (Уинстон Черчилль)
Жизнь - это то, что с вами случается как раз тогда, когда у вас совсем другие планы. (Джон Леннон)


Вернуться к началу
 Профиль  
Ответить с цитатой  
 Заголовок сообщения:
СообщениеДобавлено: 23 мар 2009, 16:39 
Не в сети
Житель форума
Аватара пользователя

Зарегистрирован: 24 сен 2008, 11:15
Сообщения: 922
Откуда: alexandrovSKoe
Vas писал(а):
Парсить
а можно расшифровать словечко?

_________________
всем спать,утро вечера мудренее


Вернуться к началу
 Профиль  
Ответить с цитатой  
 Заголовок сообщения:
СообщениеДобавлено: 23 мар 2009, 17:00 
Не в сети
Житель форума
Аватара пользователя

Зарегистрирован: 11 янв 2008, 21:06
Сообщения: 620
Откуда: 44°42 с. ш. 42°59 в. д.
MARK II писал(а):
Vas писал(а):
Парсить
а можно расшифровать словечко?

"Под парсингом обычно понимается синтаксический (грамматический или лексический) анализ текста или вообще любой последовательности лексем (символов, слов, байт итп.), в результате которого входной текст проверяется на соответствие заданной грамматике и получается дерево разбора, по которому уже можно выполнять дальнейшие вычисления или преобразования."
Vas писал(а):
Парсить

а можно по подробнее? :oops: :)

_________________
Изображение

Изображение


Вернуться к началу
 Профиль  
Ответить с цитатой  
 Заголовок сообщения:
СообщениеДобавлено: 23 мар 2009, 17:10 
Не в сети
Admin
Аватара пользователя

Зарегистрирован: 13 июл 2004, 18:40
Сообщения: 1755
Откуда: РФ
Берешь первый символ смотришь число это или переменная, если число читаешь второй и аналогично, если умножить, то запоминаешь а=полученному числу и так далее. Потом смотришь какая степень максимальная и добавляешь недостающие переменные и начинаешь выбирать каким способом решать (кубическое, квадратное, линейное или вообще не в дугу :) такое тоже может быть). НУ и собсно по алгоритму решаешь.

_________________
Кто владеет информацией, тот владеет миром (Уинстон Черчилль)
Жизнь - это то, что с вами случается как раз тогда, когда у вас совсем другие планы. (Джон Леннон)


Вернуться к началу
 Профиль  
Ответить с цитатой  
 Заголовок сообщения:
СообщениеДобавлено: 24 мар 2009, 13:08 
Не в сети
Житель форума
Аватара пользователя

Зарегистрирован: 11 янв 2008, 21:06
Сообщения: 620
Откуда: 44°42 с. ш. 42°59 в. д.
Vas писал(а):
Берешь первый символ смотришь число это или переменная, если число читаешь второй и аналогично, если умножить, то запоминаешь а=полученному числу и так далее. Потом смотришь какая степень максимальная и добавляешь недостающие переменные и начинаешь выбирать каким способом решать (кубическое, квадратное, линейное или вообще не в дугу :) такое тоже может быть). НУ и собсно по алгоритму решаешь.

Vas, спасибо за подсказку. Нахождение максимальной степени сделал, вот теперь нужно опеределять числа, но не пойму как можно сделать, чтобы он отличал числа от переменных и знаков?! не подскажешь? :oops: Или просто сделать условие, а затем считывать по одному символу, и если это не 0 или 1, или 3 ...9, то запоминать полученное число и переходить дальше?! :)

_________________
Изображение

Изображение


Вернуться к началу
 Профиль  
Ответить с цитатой  
 Заголовок сообщения:
СообщениеДобавлено: 24 мар 2009, 15:41 
Не в сети
Admin
Аватара пользователя

Зарегистрирован: 13 июл 2004, 18:40
Сообщения: 1755
Откуда: РФ
AntiRSI2 писал(а):
Или просто сделать условие, а затем считывать по одному символу, и если это не 0 или 1, или 3 ...9, то запоминать полученное число и переходить дальше?!

Берешь один символ и смотришь входит ли он в множество чисел от 0 до 9
Код:
if str[i] in [0..9] then
 цифра
else
 буква

что то типа такого. Потом второй знак, если число то плюсуешь первый символ и второй как строки, а потом когда встретил знак (+,-,*,/) то пробуешь полученную до этого строку переводить в число, если без ошибки то заносишь куда нибудь в массив и дальше по уравнению.
Кстати делать все надо в рекурсии (хотя можно и без нее), знаешь что то такое?

_________________
Кто владеет информацией, тот владеет миром (Уинстон Черчилль)
Жизнь - это то, что с вами случается как раз тогда, когда у вас совсем другие планы. (Джон Леннон)


Вернуться к началу
 Профиль  
Ответить с цитатой  
 Заголовок сообщения:
СообщениеДобавлено: 24 мар 2009, 16:47 
Не в сети
Житель форума
Аватара пользователя

Зарегистрирован: 11 янв 2008, 21:06
Сообщения: 620
Откуда: 44°42 с. ш. 42°59 в. д.
Цитата:
Кстати делать все надо в рекурсии (хотя можно и без нее), знаешь что то такое?

Посмотрел в википэдии - "В программировании рекурсия — вызов функции (процедуры) из неё же самой, непосредственно (простая рекурсия) или через другие функции (сложная рекурсия), например, функция A вызывает функцию B, а функция B — функцию A."
Ток не пойму, а для чего она в моем случае?!

_________________
Изображение

Изображение


Вернуться к началу
 Профиль  
Ответить с цитатой  
 Заголовок сообщения:
СообщениеДобавлено: 24 мар 2009, 21:34 
Не в сети
Admin
Аватара пользователя

Зарегистрирован: 13 июл 2004, 18:40
Сообщения: 1755
Откуда: РФ
Функция определения что за символ как минимум, передаем начало строки возвращаем тип полученного значение (переменная, коэффициенты) и выход из нее как только начальный символ больше либо равен длинне уравнения.
Это универсально, не заморачивайся делай в цикле.

_________________
Кто владеет информацией, тот владеет миром (Уинстон Черчилль)
Жизнь - это то, что с вами случается как раз тогда, когда у вас совсем другие планы. (Джон Леннон)


Вернуться к началу
 Профиль  
Ответить с цитатой  
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 9 ] 

Часовой пояс: UTC + 3 часа [ Летнее время ]


Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 1


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  
cron
Создано на основе phpBB® Forum Software © phpBB Group
Русская поддержка phpBB

При копировании материалов ссылка на сайт обязательна.

Сайт предназначен для аудитории 18+
Яндекс.Метрика
Best-Hoster.ru