Équilibre d'équation chimique
- Par Benoît
- Publié le 15 novembre 2016
- Licence CC BY-SA 4.0
Description de l'équilibrage chimique
Faire un équilibrage chimique est une notion essentielle en physique-chimie. Cela permet de modéliser la transformation de molécules et d'atomes lors d'une réaction chimique.
C'est un des exercices courant demandé aux élèves en cours, mais nous, malin, ou fainéant comme nous sommes, nous allons la programmer !
Entrée
Nous allons prendre en entrée une réaction chimique avec les valeurs. Pour que
ce soit facilement lisible dans chaque langage, nous allons normer l'entrée. Un
élément chimique commence toujours pas une majuscule et les lettres suivantes
sont en minuscules (par exemple Co pour le Cobalt et ne pas le confondre avec
CO le monoxyde de carbone, C pour le carbone et O pour l'oxygène). Les
molécules sont séparées par un +
, une flèche en ASCII ->
permet de
délimiter les deux parties de l'équation. Par exemple :
Al + Fe2O4 -> Fe + Al2O3
Sortie
La sortie du programme est l'équation d'entrée avec les valeurs ajoutées. Le nombre d'éléments doit être le même de chaque coté de la flèche, par exemple :
8Al + 3Fe2O4 -> 6Fe + 4Al2O3
Si le nombre de molécule est de un, alors inutile de l'afficher. Le nombre d'éléments doit toujours être positif et la somme doit être la plus petite possible. Par exemple le cas suivant est faux :
800Al + 300Fe2O3 -> 600Fe + 400Al2O3
Si aucune solution n'est possible, alors afficher un message :
Impossible !
Par exemple pour une réaction telle que :
Pb -> Au
(ou alors c'est que vous maitrisez l'alchimie et il faut m'apprendre !)
Essayez aussi de rendre la sortie lisible en ajoutant des espaces si vous le pouvez, entre les différentes molécules.
Entrée de test
C5H12 + O2 -> CO2 + H2O
Zn + HCl -> ZnCl2 + H2
K4[Fe(SCN)6] + K2Cr2O7 + H2SO4 -> Fe2(SO4)3 + Cr2(SO4)3 + CO2 + H2O + K2SO4 + KNO3
Sortie attendue
C5H12 + 8O2 -> 5CO2 + 6H2O
Zn + 2HCl -> ZnCl2 + H2
6K4[Fe(SCN)6] + 97K2Cr2O7 + 355H2SO4 -> 3Fe2(SO4)3 + 97Cr2(SO4)3 + 36CO2 + 355H2O + 91K2SO4 + 36KNO3
Je laisse un exemple de Wikipédia sur une des méthodes utilisable.