Adloun

Modifier la fonction etat final du cours pour qu'elle affiche un…

Exercice de TD · niveau 3 (difficile) · chimie (première), chapitre 4 — Avancement et bilans de matière · Problèmes et outils numériques

Énoncé

Modifier la fonction etat_final du cours pour qu'elle affiche un message d'alerte lorsque le mélange initial est stœchiométrique (à près). La tester sur la synthèse de l'ammoniac stœchiométrique.

Corrigé


def etat_final_v2(n0, coeffs_r, coeffs_p):
    candidats = [n0[i] / coeffs_r[i] for i in range(len(n0))]
    x_max = min(candidats)
    if max(candidats) - x_max < 1e-9:
        print("Mélange stoechiométrique : tous les réactifs s'épuisent.")
    restes   = [n0[i] - coeffs_r[i] * x_max for i in range(len(n0))]
    produits = [c * x_max for c in coeffs_p]
    return x_max, restes, produits

print(etat_final_v2([2.0, 6.0], [1, 3], [2]))
# Mélange stoechiométrique : tous les réactifs s'épuisent.
# (2.0, [0.0, 0.0], [4.0])

Le test « tous les candidats égaux » (max min ) traduit exactement la condition — à epsilon près, réflexe des flottants.

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.