Algorithmique et langage Java

Résolution d'un problème par une méthode numérique

Le problème à résoudre est la détermination de la valeur du pH d'une solution d'acide quelconque.

En appliquant les conditions de conservation de la quantité de matière, neutralité électrique de la solution, constante d'acidité, on peut établir que dans une solution d'acide faible de constante d'acidité Ka et de concentration apportée C, le pH vérifie l'égalité :

10−3pH + Ka×10 −2pH − 10pH×(10−14 + Ka×C) − 10−14×Ka = 0

Cette égalité est vérifiée pour toutes les valeurs de concentrations apportées inférieures à 0,1 mol.L-1 et quelle que soit la valeur de Ka dans l'intervalle [10-14,1].

En résolvant cette équation, l'inconnue étant le pH, on pourra déterminer la valeur pHsol du pH de la solution .


 

Principe de la résolution

On peut tenter une résolution par dichotomie.

On sait qu'une solution existe (parce que la situation physique existe!) et qu'elle doit être comprise entre 0 et 14 puisque ce sont les limites de valeurs de pH pour une solution aqueuse (on pourrait même admettre qu'elle doit être comprise entre 0 et 7 puisqu'il s'agit d'une solution d'acide.)

On va admettre que 10−3pH + Ka×10 −2pH − 10pH×(10−14 + Ka×C) − 10−14×Ka est une fonction décroissante du pH sur l'intervalle [0;14]. Par conséquent sa valeur est positive pour pH< pHsol et négative pour pH > pHsol.

On doit se donner un intervalle de tolérance pour le résultat : on arrêtera la recherche quand on aura encadré le résultat entre deux valeurs espacées de moins de 10-6 unités pH, par exemple.

Pour effectuer le calcul 10x sous Java on fait appel à la méthode Math.pow de la classe Math : Math.pow(10,x) retourne 10x (au format double )


 

 
Licence Creative Commons
licence Creative Commons Attribution - Pas d’Utilisation Commerciale - Partage dans les Mêmes Conditions 3.0 non transposé
Auteur : Nathalie Bonnin
Professeur de Physique, Chimie, Informatique au lycée La Martinière Monplaisir (Lyon 8ème)
Contact :
nathalie.bonnin (chez) scientillula.net
Licence Creative Commons
La totalité du contenu du site Scientillula.net appartient à Nathalie Bonnin et est mise à disposition selon les termes de la licence Creative Commons Attribution - Pas d’Utilisation Commerciale - Partage dans les Mêmes Conditions 3.0 non transposé