Chapitre 06

Activités Python

Force des acides et des bases

Activité 1

Tracer un diagramme de distribution

Consigne

Ouvrez la page des scripts du chapitre pour consulter le code et télécharger les fichiers .py.

Objectif. Tracer le diagramme de distribution d’un couple acide-base de pKAK_A donné — la capacité numérique associée à ce chapitre.

Pour chaque pH, le rapport des formes vaut F=[A]/[AH]=10pHpKAF = [\text{A}^-]/[\text{AH}] = 10^{\,\text{pH}-\text{p}K_A} (cours, §5). Le pourcentage de forme basique s’en déduit en divisant numérateur et dénominateur par [AH][\text{AH}] : %A=100×[A][AH]+[A]=100×[A]/[AH]1+[A]/[AH]=100×F1+F, \%\text{A}^- = 100\times\frac{[\text{A}^-]}{[\text{AH}] + [\text{A}^-]} = 100\times\frac{[\text{A}^-]/[\text{AH}]}{1 + [\text{A}^-]/[\text{AH}]} = 100\times\frac{F}{1+F}, et le pourcentage de forme acide est son complément à 100100.

Le script scripts/Ch06_distribution.py (à ouvrir et exécuter dans EduPython) doit construire les listes point par point — listes vides, append, boucle for : uniquement les outils de la fiche O5 — puis trace les deux courbes (fiche M2 pour le tracé). Un petit algorithme est à compléter, repéré par # À COMPLÉTER : écrire la boucle qui calcule, pour chaque pH, les deux pourcentages et les ajoute aux trois listes.

À interpréter ensuite, script exécuté. Que valent les deux pourcentages à pH=pKA\text{pH} = \text{p}K_A ? Comment lire graphiquement le pKAK_A ? Que devient le diagramme si l’on remplace le pKAK_A par celui d’un autre couple ?

Script élève

# -*- coding: utf-8 -*-
"""
Chapitre 6 - Force des acides et des bases
------------------------------------------
Diagramme de distribution d'un couple acide-base de pKa donné.

Pour chaque pH, le rapport des formes vaut F = [A-]/[AH] = 10^(pH - pKa) ;
le pourcentage de forme basique est donc  %A- = 100 * F / (1 + F).

A ouvrir et exécuter dans EduPython.
Un petit algorithme est à compléter (repéré par # À COMPLÉTER).
"""

import matplotlib.pyplot as plt   # tracé de graphes (fiche M2)

pKa = 4.8        # pKa du couple étudié (acide éthanoïque / ion éthanoate)

pH_liste = []    # liste des pH (fiche O5 : listes vides + append)
pA = []          # pourcentage de la forme acide AH
pB = []          # pourcentage de la forme basique A-

# À COMPLÉTER : écrire une boucle for i in range(1401). À chaque tour :
# - calculer pH = 0.01 * i, puis F et B avec les relations ci-dessus ;
# - ajouter pH à pH_liste, B à pB et le complément à 100 de B à pA.

plt.plot(pH_liste, pA, label="% AH (forme acide)")
plt.plot(pH_liste, pB, label="% A- (forme basique)")
plt.xlabel("pH")
plt.ylabel("pourcentage de chaque forme")
plt.title("Diagramme de distribution")
plt.grid(True, linestyle=":")
plt.legend()
plt.show()

Activité 2

Déterminer l’état final numériquement

Consigne

Ouvrez la page des scripts du chapitre pour consulter le code et télécharger les fichiers .py.

Le script scripts/Ch06_etat_final.py détermine l’état final d’une solution d’acide éthanoïque (KA=1,7×105K_A = 1{,}7\times 10^{-5}, c=1,0×102mol·L1c = 1{,}0\times 10^{-2}\ \text{mol·L}^{-1}) numériquement : on fait croître la concentration [H3O+][\text{H}_3\text{O}^+] (notée h dans le script) petit à petit, jusqu’à ce que le quotient de réaction atteigne KAK_A.

  1. Compléter la ligne manquante (expression de QrQ_r en fonction de h et c).
  2. Quelles valeurs le script affiche-t-il pour [H3O+][\text{H}_3\text{O}^+] et τ\tau ? Les comparer au résultat de la Méthode B pour le même acide.
  3. Interpréter la valeur de τ\tau. Pourquoi la boucle s’arrête-t-elle à coup sûr ? Quel est le rôle du pas dh ?

Script élève

# -*- coding: utf-8 -*-
"""
Chapitre 6 - Force des acides et des bases
------------------------------------------
État final d'une solution d'acide faible, déterminé numériquement.

On fait croître la concentration h = [H3O+] = [A-] petit à petit :
le quotient de réaction Qr = h^2 / (c - h) croît, et la boucle s'arrête
dès qu'il atteint la constante d'acidité Ka (état d'équilibre).

A ouvrir et exécuter dans EduPython.
UNE ligne est à compléter (repérée par # À COMPLÉTER).
"""

K = 1.7e-5       # constante d'acidité (acide éthanoïque)
c = 1.0e-2       # concentration apportée (mol/L)
dh = c / 100000  # incrément de concentration (mol/L)

h = 0.0          # [H3O+] = [A-] : concentration formée (mol/L)
Qr = 0.0         # quotient de réaction initial

while Qr < K:            # tant que l'équilibre n'est pas atteint
    h = h + dh
    Qr = ...             # À COMPLÉTER : quotient de réaction

tau = h / c              # taux d'avancement final
print(h, tau)            # affiche [H3O+] à l'équilibre et tau

← Retour au portail du chapitre