|
|
Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
|
Опции темы | Поиск в этой теме | Опции просмотра |
#1
|
||||
|
||||
Химическая программа
Привет всем!
Представляю вам программу, которая расставляет коэффициенты в химических уравнениях. Пример: Вы вводите Ba(OH)2+H3PO4=Ba3(PO4)2+H2O Прога пишет 3Ba(OH)2+2H3PO4=Ba3(PO4)2+6H2O Пожалуйста, скажите свое мнение о программе, мне оно очень важно! http://ifolder.ru/5796181 Последний раз редактировалось Romanzes, 21.03.2008 в 15:42. |
#2
|
|||
|
|||
Romanzes
В принципе прога работает. Но стоит сделать, что бы она выявляла пойдет ли реакция или нет. Если пойдет, то проводила реакцию сама. И писать результат лучше не в Edit, а в ListBox. Вот тогда будет круто) |
#3
|
||||
|
||||
Цитата:
|
#4
|
|||
|
|||
Тоже писал подобную прогу.Не знаю, какие алгоритмы использованы в этой программе, но судя по всему, коэффициенты в реакции выставляются исключительно методом подбора, так что скорость уравнивания многокомпонентных реакций оставляет желать лучшего. Например, такую вот "реакцию" 4Ge+9Os+6He+7Be+2Li+3O3=
3GeO2+Li(Be6He)+OsO3+LiBeHe5Os8 у меня на компе с 512 Mb ОЗУ и 1.09 ГГц коэффициенты подбирались больше 4 мин! Конечно в реале до таких извращений, как правило не доходит, но вдруг у пользователя комп еще намного слабее? Для ускорения работы можно было бы поставить условие, что при подборе кол-во одинаковых элементов справа(слева) не менее, чем слева(справа) то есть если с одной стороны реакции изначально коэффициент при элементе 2 и болеее, то подбор идет не с 1, а с 2 и более. Сложнее будет если элементы встречаются с обоих сторон несколько раз, но с этим тоже что-то можно сделать. Кроме того, если встречаются с обоих сторон одинаковые группы (NO3,CNS и т.д), считать их можно как 1 элемент а не поотдельности, если эти группы не разрушаются. А вообще лучше всего уравнивать электронным баллансом если в реакции изменяются степени окисления, если после балланса уравнение не сходится или балланс неприменим, уже уравнивать подбором. Также если это ОВР можно было бы расписать балланс. PS: Встречаюся такие ОВР, которые можно уравнять исключительно баллансом, подбор в них сходится будет, но не факт что он верный. Последний раз редактировалось V@DKA, 05.05.2008 в 22:39. |
#5
|
|||
|
|||
а вот насчет того чтобы сказать пойдет-не пойдет ракция и какие продукты будут, все намного сложнее. Всего в шаблоны по типам в-в типа кислота+основание=соль+вода не уместишь, куча реакций не следует правилам, а создавать целую базу данных для всех в-в не представляется возможным.
Последний раз редактировалось V@DKA, 05.05.2008 в 23:12. |
#6
|
||||
|
||||
V@DKA, а ты не мог бы выложить свою прогу? (хорошо бы и исходник )
|
#7
|
|||
|
|||
Цитата:
Я думаю, что это в принципе возможно, но решается немного по другому. Ну и база набирается "всем миром". Фактически, это переход к экспертной системе с базой знаний, где для вычисления "пойдет - не пойдет" используются продукционные правила, в которые, кстати, можно доп. условием вписывать катализаторы. Так что дерзай |
#8
|
|||
|
|||
Народ, привет всем!
Если не жалко не мог бы кто-нибудь дать исходник подобной программы! Просто курсовик горит, очень надо! |