Введение
Все, кто когда-нибудь изучал химию, знают, что это наука сложная и в многих моментах не совсем понятная. Например, у учеников средних и старших классов часто возникают проблемы с решением химических задач и уравнений. Поэтому они часто ищут ответ на задание с помощью химических калькуляторов. Но большинство программ этого класса нельзя назвать калькулятором — они не считают, а только проверяют результат в базе данных. Этот способ имеет очень большой недостаток — программа не выдаст результат, если уравнения реакции не будет в базе. Поэтому есть необходимость использовать алгоритм, который даст возможность находить коэффициенты программно. И такой алгоритм существует.
Алгоритм расстановки коэффициентов
Возьмём для примера уравнение KMnO4+K2SO3+H2SO4->K2SO4+MnSO4+H2O
Сначала нужно построить для него матрицу. Молекулы используются в качестве столбца, атомы — в качестве строки. В ячейку записывается количество атомов в молекуле. Сначала разбираем левую часть. Должно получиться так:
KMnO4 | K2SO3 | H2SO4 | |
Mn | 1 | 0 | 0 |
K | 1 | 2 | 0 |
O | 4 | 3 | 4 |
S | 0 | 1 | 1 |
H | 0 | 0 | 1 |
Затем таким же образом обрабатываем правую часть уравнения, но с одним отличием — ставить нужно отрицательное число. После этого матрица должна обрести такой вид:
KMnO4 | K2SO3 | H2SO4 | K2SO4 | MnSO4 | H2O | |
Mn | 1 | 0 | 0 | 0 | -1 | 0 |
K | 1 | 2 | 0 | -2 | 0 | 0 |
O | 4 | 3 | 4 | -4 | -4 | -1 |
S | 0 | 1 | 1 | -1 | -1 | 0 |
H | 0 | 0 | 1 | 0 | 0 | -2 |
Эту матрицу уже можно решать. Но ответ, который мы получим, может быть правильным с точки зрения математики, а не химии. Поэтому к матрице нужно добавить ещё одну строку, в которой будет записана информация об электронном балансе. В данном примере должно быть так:
K+1Mn+7O4-2+K2+1S+4O3-2+H2+1S+6O4-2->K2+2S+6O4-2+Mn+2S+6O4-2+H2+1O-2
Mn+7+ 5e -> Mn+2
S+4 — 2e -> S+6
Как видим, Mn с первой молекулы получил 5е, а S со второй отдал 2е. Добавляем в матрицу ещё одну строку
KMnO4 | K2SO3 | H2SO4 | K2SO4 | MnSO4 | H2O | |
Mn | 1 | 0 | 0 | 0 | -1 | 0 |
K | 1 | 2 | 0 | -2 | 0 | 0 |
O | 4 | 3 | 4 | -4 | -4 | -1 |
S | 0 | 1 | 1 | -1 | -1 | 0 |
H | 0 | 0 | 1 | 0 | 0 | -2 |
5 | -2 | 0 | 0 | 0 | 0 |
Теперь уже можно решать матрицу. Самый удобный и быстродействующий способ — метод Гаусса. Полученные данные подставляем в уравнение. Должно получиться так:
2KMnO4+5K2SO3+3H2SO4=6K2SO4+2MnSO4+3H2O
Выводы
Таким образом, коэффициенты для химического уравнения можно получить, не прибегая к созданию базы данных, а просто сделав весьма простые вычисления. Нужно также уточнить, что расчёт производится крайне быстро (задержка менее 1 мс), что даёт возможность использовать этот алгоритм не только на ПК, но и на мобильных телефонах.
Автор: Sungmaster