Rechercher
 
 

Résultats par :
 


Rechercher Recherche avancée

Connexion

Récupérer mon mot de passe

Chatbox externe


Derniers sujets
» [JEU] Mon voisin du dessous
Mar 10 Oct 2017 - 19:42 par Wistaro

» Lancement du TI-Concours 2017 !
Sam 20 Mai 2017 - 0:27 par Paulo1026

» Chaînes Youtube des membres
Ven 19 Mai 2017 - 22:41 par Wistaro

» cacul du taux d'intêret
Ven 24 Mar 2017 - 21:50 par m@thieu41

» [Projet] Un mario by tout82
Dim 29 Jan 2017 - 14:09 par Wistaro

» Cherche documentation assembleur TI82stat
Mer 25 Jan 2017 - 12:29 par Ti64CLi++

» Probleme Ti-82 Stats fr
Jeu 12 Jan 2017 - 13:56 par Ti64CLi++

» ROM 82 stats.fr
Jeu 15 Déc 2016 - 10:24 par Ti64CLi++

» flappy bird
Jeu 15 Déc 2016 - 10:23 par Ti64CLi++

Partenaires
TI-Planet Espace-TI : Forum

Faire un don à Tout-82...
Où va cet argent ?
Membres donateurs:- Persalteas (10€)
- Wistaro (5€)
- jo2geek (22€)

Les posteurs les plus actifs du mois
Wistaro
 


Équilibrage de réactions chimiques

Voir le sujet précédent Voir le sujet suivant Aller en bas

Équilibrage de réactions chimiques

Message par Ruadh le Ven 6 Nov 2015 - 16:10

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

Taille : 400 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)

Ruadh
Nouveau Venu
Nouveau Venu

Messages : 5
Points Concours : 0
Productivité : 0
Date d'inscription : 01/06/2015
Calculatrice(s) :
  • TI-82 Stats.fr

. : TI-82 Stats.fr

Voir le profil de l'utilisateur

Revenir en haut Aller en bas

Voir le sujet précédent Voir le sujet suivant Revenir en haut

- Sujets similaires

 
Permission de ce forum:
Vous ne pouvez pas répondre aux sujets dans ce forum