Форум по Delphi программированию

Delphi Sources



Вернуться   Форум по Delphi программированию > Разное > Ваши программы
Ник
Пароль
Регистрация <<         Правила форума         >> FAQ Пользователи Календарь Поиск Сообщения за сегодня Все разделы прочитаны

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
  #1  
Старый 19.03.2008, 17:00
Аватар для Romanzes
Romanzes Romanzes вне форума
Прохожий
 
Регистрация: 17.05.2007
Адрес: Ростовская обл.
Сообщения: 11
Репутация: 10
По умолчанию Химическая программа

Привет всем!
Представляю вам программу, которая расставляет коэффициенты в химических уравнениях.
Пример:
Вы вводите
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  
Старый 21.03.2008, 20:13
Adler Adler вне форума
Прохожий
 
Регистрация: 20.01.2008
Сообщения: 34
Репутация: 10
По умолчанию

Romanzes
В принципе прога работает. Но стоит сделать, что бы она выявляла пойдет ли реакция или нет. Если пойдет, то проводила реакцию сама. И писать результат лучше не в Edit, а в ListBox. Вот тогда будет круто)
Ответить с цитированием
  #3  
Старый 22.03.2008, 14:46
Аватар для Romanzes
Romanzes Romanzes вне форума
Прохожий
 
Регистрация: 17.05.2007
Адрес: Ростовская обл.
Сообщения: 11
Репутация: 10
По умолчанию

Цитата:
Сообщение от Adler
Romanzes
В принципе прога работает. Но стоит сделать, что бы она выявляла пойдет ли реакция или нет. Если пойдет, то проводила реакцию сама. И писать результат лучше не в Edit, а в ListBox. Вот тогда будет круто)
Я собираюсь сделать это в следующей версии
Ответить с цитированием
  #4  
Старый 05.05.2008, 22:34
V@DKA V@DKA вне форума
Прохожий
 
Регистрация: 05.05.2008
Сообщения: 2
Репутация: 10
По умолчанию

Тоже писал подобную прогу.Не знаю, какие алгоритмы использованы в этой программе, но судя по всему, коэффициенты в реакции выставляются исключительно методом подбора, так что скорость уравнивания многокомпонентных реакций оставляет желать лучшего. Например, такую вот "реакцию" 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  
Старый 05.05.2008, 23:07
V@DKA V@DKA вне форума
Прохожий
 
Регистрация: 05.05.2008
Сообщения: 2
Репутация: 10
По умолчанию

а вот насчет того чтобы сказать пойдет-не пойдет ракция и какие продукты будут, все намного сложнее. Всего в шаблоны по типам в-в типа кислота+основание=соль+вода не уместишь, куча реакций не следует правилам, а создавать целую базу данных для всех в-в не представляется возможным.

Последний раз редактировалось V@DKA, 05.05.2008 в 23:12.
Ответить с цитированием
  #6  
Старый 05.06.2008, 19:27
Аватар для Romanzes
Romanzes Romanzes вне форума
Прохожий
 
Регистрация: 17.05.2007
Адрес: Ростовская обл.
Сообщения: 11
Репутация: 10
По умолчанию

V@DKA, а ты не мог бы выложить свою прогу? (хорошо бы и исходник )
Ответить с цитированием
  #7  
Старый 05.06.2008, 20:13
lmikle lmikle вне форума
Модератор
 
Регистрация: 17.04.2008
Сообщения: 8,015
Версия Delphi: 7, XE3, 10.2
Репутация: 49089
По умолчанию

Цитата:
Сообщение от V@DKA
а вот насчет того чтобы сказать пойдет-не пойдет ракция и какие продукты будут, все намного сложнее. Всего в шаблоны по типам в-в типа кислота+основание=соль+вода не уместишь, куча реакций не следует правилам, а создавать целую базу данных для всех в-в не представляется возможным.

Я думаю, что это в принципе возможно, но решается немного по другому.
Ну и база набирается "всем миром". Фактически, это переход к экспертной системе с базой знаний, где для вычисления "пойдет - не пойдет" используются продукционные правила, в которые, кстати, можно доп. условием вписывать катализаторы.

Так что дерзай
Ответить с цитированием
  #8  
Старый 05.11.2008, 21:28
sidmal sidmal вне форума
Прохожий
 
Регистрация: 05.11.2008
Сообщения: 1
Репутация: 10
По умолчанию

Народ, привет всем!

Если не жалко не мог бы кто-нибудь дать исходник подобной программы!
Просто курсовик горит, очень надо!
Ответить с цитированием
Ответ


Delphi Sources

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB-коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход


Часовой пояс GMT +3, время: 16:33.


 

Сайт

Форум

FAQ

RSS лента

Прочее

 

Copyright © Форум "Delphi Sources" by BrokenByte Software, 2004-2023

ВКонтакте   Facebook   Twitter