はじめに
化学を勉強したことがある人なら誰でも、これが複雑な科学であり、多くの場合完全に理解されていないことを知っています。 たとえば、中学生や高校生には、化学的な問題や方程式を解く問題がしばしばあります。 したがって、彼らはしばしば化学計算機の助けを借りてタスクへの答えを探します。 ただし、このクラスのほとんどのプログラムは計算機とは呼ばれません。カウントされず、データベース内の結果のみをチェックします。 この方法には非常に大きな欠点があります-反応方程式がデータベースにない場合、プログラムは結果を生成しません。 したがって、係数をプログラムで見つけることを可能にするアルゴリズムを使用する必要があります。 そして、そのようなアルゴリズムが存在します。
係数アルゴリズム
たとえば、式KMnO 4 + K 2 SO 3 + H 2 SO 4- > K 2 SO 4 + MnSO 4 + H 2 O
まず、マトリックスを作成する必要があります。 分子は列として、原子は行として使用されます。 分子内の原子の数がセルに記録されます。 まず、左側を分解します。 次のようになります。
KMnO 4 | K 2 SO 3 | H 2 SO 4 | |
Mn | 1 | 0 | 0 |
K | 1 | 2 | 0 |
O | 4 | 3 | 4 |
S | 0 | 1 | 1 |
H | 0 | 0 | 1 |
次に、同じように方程式の右辺を処理しますが、1つ違いがあります-負の数を設定する必要があります。 この後、マトリックスは次の形式を見つけるはずです。
KMnO 4 | K 2 SO 3 | H 2 SO 4 | K 2 SO 4 | MnSO 4 | H 2 O | |
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 +1 Mn +7 O 4 -2 + K 2 +1 S +4 O 3 -2 + H 2 +1 S +6 O 4 -2- > K 2 +2 S +6 O 4 -2 + Mn + 2 S +6 O 4 -2 + H 2 +1 O -2
Mn +7 + 5e-> Mn +2
S + 4-2e-> S +6
ご覧のとおり、最初の分子のMnは5個の電子を受け取り、2番目の分子のSは2個の電子を受け取りました。 行列に別の行を追加します
KMnO 4 | K 2 SO 3 | H 2 SO 4 | K 2 SO 4 | MnSO 4 | H 2 O | |
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 |
これで、マトリックスを解くことができます。 最も便利で最速の方法はガウス法です。 得られたデータを方程式に代入します。 次のようになります。
2KMnO 4 + 5K 2 SO 3 + 3H 2 SO 4 = 6K 2 SO 4 + 2MnSO 4 + 3H 2 O
結論
したがって、化学方程式の係数は、データベースを作成することなく、非常に単純な計算を行うだけで取得できます。 また、計算が非常に高速(1 ms未満の遅延)であることを明確にする必要があります。これにより、PCだけでなく携帯電話でもこのアルゴリズムを使用できるようになります。