Programme avancement⚓︎
Code python
print("")
print("*********************************")
print("* Étude quantitative *")
print("* d'une transformation chimique *")
print("*********************************")
print("")
############################
### À modifier : données ###
############################
### Listes des réactifs et de leurs nombres stoechiométriques
nom_reac=["MnO4-","Fe2+","H+"]
coef_reac=[1,5,8]
### Listes des produits et de leurs nombres stoechiométriques
nom_prod=["Mn2+","Fe3+","H2O"]
coef_prod=[1,5,4]
### Quantités de matière initiales des réactifs et produits, en moles
### Écrire "nc" (non connu) si l'espèce est le solvant ou est en excès
n_reac=[0.1,0.1,"nc"]
n_prod=[0,0,"nc"]
### Rappel des valeurs par défaut
#nom_reac=["MnO4-","Fe2+","H+"]
#coef_reac=[1,5,8]
#nom_prod=["Mn2+","Fe3+","H2O"]
#coef_prod=[1,5,4]
#n_reac=[0.1,0.1,"nc"]
#n_prod=[0,0,"nc"]
### Affichage de l'équation de la réaction
print("Équation de la réaction :")
equation=""
for i in range(len(nom_reac)):
equation=equation+str(coef_reac[i])+" "+nom_reac[i]
if i<len(nom_reac)-1:
equation=equation+" + "
else:
equation=equation+" ---> "
for i in range(len(nom_prod)):
equation=equation+str(coef_prod[i])+" "+nom_prod[i]
if i<len(nom_prod)-1:
equation=equation+" + "
print(equation)
print("")
### Création d'une grandeur vide pour xmax
xmax=None
### Fonction : état du système pour un avancement x
def etat_systeme(x):
print("Réactifs :")
for i in range(len(nom_reac)):
if n_reac[i]=="nc":
print(" ",nom_reac[i],"est en excès")
else:
n_reac[i]=round(n_reac[i]-x*coef_reac[i],3)
print(" ",nom_reac[i],":",n_reac[i]," mol")
print("Produits :")
for i in range(len(nom_prod)):
if n_prod[i]!="nc":
n_prod[i]=round(n_prod[i]+x*coef_prod[i],3)
print(" ",nom_prod[i],":",n_prod[i]," mol")
### Affichage de l'état initial
print("Quantités de matière à l'état initial")
etat_systeme(0)
print("")
#################################################
############ À modifier : question 3 ############
### Fonction qui calcule l'avancement maximal ###
#################################################
rapport=[]
for i in range(len(nom_reac)):
if n_reac[i]!="nc":
rapport.append(#ajouter le calcul)
xmax=min(rapport)
#############################################
###### À modifier : question 1 puis 3 #######
### Valeur de l'avancement final en moles ###
#############################################
xf=
### Affichage de l'état pour l'avancement xf
if xf==xmax:
print("Quantités de matière pour l'avancement maximal xmax =",xmax,"mol")
else:
print("Quantités de matière pour l'avancement xf =",xf,"mol")
etat_systeme(xf)
#######################################
####### À modifier : question 5 #######
### Test du mélange stœchiométrique ###
#######################################
print("")
Demi-équation redox⚓︎
Étape 1⚓︎
Écrire l'oxydant et le réducteur de chaque côté du signe "="
Exemple du couple \(Cr_2O_7^{2-}/Cr^{3+}\)⚓︎
\(Cr_2O_7^{2-} = Cr^{3+}\)
Étape 2⚓︎
Assurer la conservation de l’élément commun aux deux espèces.
Exemple⚓︎
\(Cr_2\)\(O_7^{2-} =\) \(2Cr\)\(^{3+}\) Il y a \(2 Cr\) de chaque côté.
Étape 3 : Ajout d'oxygène⚓︎
Assurer la conservation de l’élément \(O\) à l’aide de molécules d’eau \(H_2O\).
Exemple⚓︎
\(Cr_2\)\(O_7\)\(^{2-} = 2Cr^{3+}+\) \(7\)\(H_2\)\(O\) Il y a \(7O\) de chaque côté.
Étape 4 : Ajout d'hydrogène⚓︎
Assurer la conservation de l’élément \(H\) à l’aide de protons \(H^+\).
Exemple⚓︎
\(Cr_2O_7^{2-} +\) \(14H^+\) \(= 2Cr^{3+}+\)\(7H_2\)\(O\) Il y a \(14 H\) de chaque côté.
Étape 5 : Ajout d'électrons⚓︎
Assurer la conservation de la charge à l’aide d’électrons \(e−\).
Exemple⚓︎
\(Cr_2O_7^{2-} + 14H^+ +\) \(6e-\) \(= 2Cr^{3+}+ 7H_2O\) La charge est nulle de part et d'autre du signe "=".
Entraînements complémentaires⚓︎
52p55⚓︎
a. \(2 Fe^{3+} + 3 Zn \rightarrow 2 Fe + 3 Zn^{2+}\)
b. Tableau d'avancement : c. Pour un mélange stœchiométrique, les deux réactifs sont entièrement consommés, soit \(n_2 – 3x_{max} = 0\) et \(n_1 – 2x_{max} = 0\) donc \(x_{max} = {n_2 \over 3} = 1,0 × 10^{−2} mol\) et \(n1 = 2x_{max} = 2,0 × 10^{−2} mol\). On a enfin : \(n_1 = {c_1 \over V_1}\) donc \(V_1 = {n_1 \over C_1}= 0,20 L\).
d. D’après la dernière ligne du tableau d’avancement, dans l’état final, le système comporte \(2x_{max}= 2,0 × 10^{−2} mol\) de fer et \(3x_max = 3,0 × 10^{−2} mol\) d’ions zinc. Cela signifie \(c = {3x_{max} \over V_1}= 0,15 mol·L^{–1}\).
60p56⚓︎
a. \(ClO^–(aq) + Cl^–(aq) + 2 H^+(aq) \rightarrow Cl_2(g) + H_2O (ℓ)\).
b. Tableau d'avancement :
c. Soit M la masse molaire du dichlore et soit m la masse de dichlore dégagé : \(n = {m \over M} = {5,5 \over 71,0} = 7,7 × 10^{−2} mol\).
d. D’après le tableau d’avancement, \(x_max = n = 7,7 × 10^{−2} mol\). \(ClO^–\) étant par hypothèse le réactif limitant, \(n_1 – x_{max} = 0\) soit \(n_1 = x_{max} = 7,7 × 10^{−2} mol\).
e. D’après le tableau d’avancement, l’avancement maximal est alors égal à \(n_1' = 7,5 × 10^{–2} mol\). On forme donc \(n_1'= 7,5 × 10^{–2} mol\) de dichlore soit une masse \(m' = {n_1' \over M} = 5,3 g\). L’eau de Javel n’a donc que 5,3 % de chlore actif, ce qui n’est pas conforme aux indications du fabricant.