Adloun

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.