Pour aller plus loin. Écrire un programme Python qui simule un titrage…
Exercice supplémentaire · niveau 3 (difficile) · chimie (première), chapitre 5 — Titrages colorimétriques · Précision et simulation
Énoncé
Pour aller plus loin. Écrire un programme Python qui simule un titrage : pour une liste de volumes versés, il calcule les quantités de titré restant et de titrant accumulé, puis détermine comme le premier volume où le titré s'annule.
Corrigé
def simulation(n0_titre, CT, a, b, volumes_mL):
# renvoie, pour chaque volume verse, (titre restant, titrant accumule)
etats = []
for V in volumes_mL:
n_versee = CT * V * 1e-3
x = min(n0_titre / a, n_versee / b) # avancement : le limitant decide
etats.append((n0_titre - a * x, n_versee - b * x))
return etats
n0 = 7.5e-4 # mol de diiode dans l'erlenmeyer
vols = [i * 1.0 for i in range(21)]
etats = simulation(n0, 0.10, 1, 2, vols)
VE = min(V for V, (t, _) in zip(vols, etats) if t < 1e-12)
print(VE) # 15.0 mL
La ligne décisive est x = min(...) : elle rejoue, à chaque goutte, la détermination du réactif limitant du chapitre 4. Avant l'équivalence le second terme l'emporte (titrant limitant), après c'est le premier (titré épuisé) — le min bascule exactement à .
Contrôle : le programme retrouve mL, la valeur du premier exercice de TD. ✓
Les autres exercices de ce chapitre Le cours du chapitre
Un blocage sur cet exercice ? Le tuteur d'Adloun guide par questions, sans donner la réponse.