Poster un nouveau sujet Poster une réponse
Équilibrage de réactions chimiques
Auteur Message
Ruadh



Autorisation : Membre
Nb de messages : 30
Inscrit le : Ven 06 Nov 2015, 14:08
Posté le : Ven 06 Nov 2015, 14:42   Citer 

Bonjour !
Voici un programme qui permet d'équilibrer les réactions chimiques.

Taille : 389 octets


Code
:Input "EQ:",Chaîne1
:EffVar[A]1->J
:1.1->E
:1->A
:{0->L1
:Rép->L2
:"#->Chaîne3     //# est une espace
:For(I,longueur(Chaîne1),1,-1
:sous-Chaîne(Chaîne1,I,1->Chaîne2
:If carChaîne("0123456789",Chaîne2
:Then
:expr(Chaîne2
:Rép+(9Rép+E)non(partDéc(E->E
:Else
:J->dim(L2
:carChaîne("-e.",Chaîne2
:If Rép
:Then
:L2(J)+ApartEnt(E)(1-2non(Rép=3->L2(J
:Else
:carChaîne("+=",Chaîne2
:If non(Rép
:Then
:If non(carChaîne(Chaîne3,Chaîne2
:Chaîne3+Chaîne2->Chaîne3
:longueur(Chaîne3)-non(max(abs(L2
:{Rép,J->dim([A]
:carChaîne(Chaîne3,Chaîne2)-1
:ApartEnt(E)+[A](Rép,J->[A](Rép,J
:Else
:If Rép=2
:-1->A
:J+1->J
:End
:End
:1.1->E
:End
:End
:If max(abs(L2
:Then
:For(I,1,dim(L2
:L2(I->[A](longueur(Chaîne3),I
:End
:End
:Gauss-Jordan([A]->[A]
:For(I,2,J
:-[A](J-I+1,J->L1(I
:End
:0=/=max(abs(L1->L1(1     // =/= est le signe [différent]
:While max(abs(partDéc(arrondi(RépL1,9
:Rép+1
:End
:RépL1



Ce programme affiche les nombres stœchiométriques de chaque espèce de la réaction que vous entrez.
Quelques règles pour qu'il fonctionne :
- Une lettre par atome, deux lettres sont considérés comme deux atomes différents (il faut écrire F à la place de Fe par exemple).
- Les charges positives et négatives sont traitées comme des éléments (Fe2+ s'écrira donc F+2).
- Les parenthèses ne sont pas prises en charge, (OH)2 devra donc être écrit O2H2 ou OHOH.

* J'ai choisi "." pour la charge positive et "-" (le moins situé sous le 3) pour la charge négative, vous pouvez les remplacer par ce que vous voulez, à part un chiffre, "=", "+" et "e". "e" (exponentielle) représente un électron.

Un exemple pour montrer le fonctionnement du programme :
Équation : O2 + H+ + Fe = Fe2+ + H2O
Dans la calculatrice : O2+H.+F=F.2+H20
Résultat : {1, 4, 2, 2, 2

Un autre programme qui équilibre les réactions chimiques : http://tout82.free.fr/forum/sujet.php?sujet=2435 (de linkakro)

 Adresse email Haut de page Bas de page 
 
Poster un nouveau sujet Poster une réponse





  Powered by Fire-Soft-Board v1.0.10 © 2004 - 2024 Groupe FSB
Page générée en 9 requêtes
BlackOne par Grimmlink