{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "![En tête general](https://raw.githubusercontent.com/PythonLycee/PyLyc/master/img/En_tete_general.png)\n", "\n", "\n", "© Copyright Franck CHEVRIER 2019-2021 https://www.python-lycee.com.
\n", "Les activités partagées sur Capytale sont sous licence Creative Commons.\n", "\n", " Pour exécuter une saisie Python, sélectionner la cellule et valider avec SHIFT+Entrée.\n" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "# Avancement d'une réaction chimique (corrigé) " ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "\n", "\n", "Dans cette activité, on s'intéresse à la réaction d'équation:\n", "\n", "$ \\mathrm{I}_2 + 2\\mathrm{S}_2\\mathrm{O}_3^{2-} \\longrightarrow 2\\mathrm{I}^- + \\mathrm{S}_4\\mathrm{O}_6^{2-}$ \n", "(toutes les espèces sont en milieu aqueux)\n", "\n", "Dans le système chimique étudié, seul le diiode $ \\mathrm{I}_2$ est une espèce colorée (en jaune-orangé).\n", "\n", "\n", "L'animation ci-dessous permet de simuler le mélange d'une solution de volume $\\mathrm{V}_1$ et de concentration $\\mathrm{C}_1$ en diiode $\\mathrm{I}_2$, et d'une solution de volume $\\mathrm{V}_2$ et de concentration $\\mathrm{C}_2$ en ions thiosulfate $\\mathrm{S}_2\\mathrm{O}_3^{2-}$.\n", "\n", "On souhaite déterminer les quantités et concentrations des réactifs et produits à l'état final. \n", "\n", "\n", "Pour faire apparaître et activer l'animation, sélectionner la cellule ci-dessous et valider avec SHIFT+Entrée.\n", "\n", "\n", "Vous pouvez ensuite utiliser les menus cinématiques :\n", "\n", "\n", "![Menus_animation](https://raw.githubusercontent.com/PythonLycee/PyLyc/master/img/menus_animation_GeoGebra.png)\n", "\n" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "#Sélectionner cette zone puis SHIFT+ENTREE\n", "from IPython.display import HTML ; HTML(\"\"\"\"\"\")" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Pour les questions __1.__ à __3.__, on supposera que :\n", "\n", "$\\mathrm{V}_1=150$ $\\mathrm{mL}$\n", "\n", "$\\mathrm{C}_1=8\\times 10^{-3}$ $\\mathrm{mol}\\cdot\\mathrm{L}^{-1} $\n", "\n", "$\\mathrm{V}_2=140$ $\\mathrm{mL}$\n", "\n", "$\\mathrm{C}_2=5\\times 10^{-3}$ $\\mathrm{mol}\\cdot\\mathrm{L}^{-1} $\n", "\n", "\n", "\n", "\n", "__1. Observer l'animation pour ces valeurs, et répondre qualitativement aux questions suivantes :__\n", "\n", "\n", "\n", " \n", " \n", " Le mélange final ayant une coloration jaune-orangée, on en déduit qu'il y a présence de diiode $\\mathrm{I}_2$, et il n'y a donc plus d'ions thiosulfate $\\mathrm{S}_2\\mathrm{O}_3^{2-}$, qui est le limitant. Par conséquent, le mélange final contient les espèces chimiques $\\mathrm{I}_2$, $\\mathrm{I}^-$ et $\\mathrm{S}_4\\mathrm{O}_6^{2-}$. \n" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "__2. On donne la fonction Python q ci-dessous, qui reçoit en arguments deux variables correspondant à un volume (en $\\mathrm{mL}$) et une concentration (en $\\mathrm{mol} \\cdot \\mathrm{L}^{-1}$).__ \n", "\n", "__a. Exécuter les deux cellules suivantes. Que représente la valeur qui a été stockée dans la variable n1 ? On précisera en particulier son unité.__\n", "\n", "La variable n1 contient la quantité du réactif $\\mathrm{I}_2$, exprimée en $\\mathrm{mmol}$." ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "def q(Volume,Concentration):\n", " return Volume*Concentration" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "V1 = 150 ; C1 = 8*10**-3\n", "\n", "n1 = q(V1,C1)\n", "\n", "n1" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "__b. Effectuer les saisies Python permettant de stocker dans une variable n2 la quantité d'ions $\\mathrm{S}_2\\mathrm{O}_3^{2-}$ du Bécher 2, exprimée en $\\mathrm{mmol}$. Afficher cette valeur.__" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "# Effectuer les saisies pour créer n2\n", "\n", "V2 = 140 ; C2 = 5*10**-3\n", "\n", "n2 = q(V2,C2)\n", "\n", "n2" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "__3. On considère la fonction Python Avancement ci-dessous.__" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "def Avancement(n1,n2):\n", " \n", " n3 = 0\n", " n4 = 0\n", " \n", " while n1>0 and n2>0:\n", " n1 = n1 - 0.01 \n", " n2 = n2 - 0.02\n", " n3 = n3 + 0.02\n", " n4 = n4 + 0.01\n", " \n", " return n1,n2,n3,n4 \n", " " ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "__a. On suppose que les valeurs respectives de n1 et n2 sont initialement 1.2 et 0.7 au déclenchement de la boucle while. Recopier et compléter le tableau suivant, pour prévoir les premières valeurs prises par les variables n1, n2, n3 et n4 (remplir uniquement 4 lignes).__ \n", "\n", "(tableau corrigé) \n", "\n", "| n1>0 and n2>0 ? | $ \\;\\; $n1 $ \\;\\; $ | $ \\;\\; $n2 $ \\;\\; $ | $ \\;\\; $n3 $ \\;\\; $ | $ \\;\\; $n4 $ \\;\\; $ |\n", "| :------------------- | ------------------: | ------------------: | ------------------: | ------------------: |\n", "| $ \\;\\; $ /// $ \\;\\; $| $ \\;\\; $1.2$ \\;\\; $ | $ \\;\\; $0.7$ \\;\\; $ | $ \\;\\; $ 0 $ \\;\\; $ | $ \\;\\; $ 0 $ \\;\\; $ | \n", "| $ \\;\\; $ True$ \\;\\; $| $ \\;\\; $1.19$ \\;\\; $ | $ \\;\\; $0.68$ \\;\\; $ | $ \\;\\; $0.02$ \\;\\; $ | $ \\;\\; $0.01$ \\;\\; $ |\n", "| $ \\;\\; $ True$ \\;\\; $| $ \\;\\; $1.18$ \\;\\; $ | $ \\;\\; $0.66$ \\;\\; $ | $ \\;\\; $0.04$ \\;\\; $ | $ \\;\\; $0.02$ \\;\\; $ |\n", "| $ \\;\\; $ True$ \\;\\; $| $ \\;\\; $1.17$ \\;\\; $ | $ \\;\\; $0.64$ \\;\\; $ | $ \\;\\; $0.06$ \\;\\; $ | $ \\;\\; $0.03$ \\;\\; $ | " ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "__b. A l'aide du tableau complété précédemment, prévoir les valeurs finales des variables n1, n2, n3 et n4, en justifiant brièvement.__ \n", "\n", "On peut prévoir les valeurs en fin de boucle : \n", "\n", "\n", "| n1>0 and n2>0 ? | $ \\;\\; $n1 $ \\;\\; $ | $ \\;\\; $n2 $ \\;\\; $ | $ \\;\\; $n3 $ \\;\\; $ | $ \\;\\; $n4 $ \\;\\; $ |\n", "| :------------------- | ------------------: | ------------------: | ------------------: | ------------------: |\n", "| $ \\;\\; $ ... $ \\;\\; $| $ \\;\\; $...$ \\;\\; $ | $ \\;\\; $...$ \\;\\; $ | $ \\;\\; $...$ \\;\\; $ | $ \\;\\; $...$ \\;\\; $ | \n", "| $ \\;\\; $ True$ \\;\\; $| $ \\;\\; $0.87$ \\;\\; $ | $ \\;\\; $0.04$ \\;\\; $ | $ \\;\\; $0.66$ \\;\\; $ | $ \\;\\; $0.33$ \\;\\; $ |\n", "| $ \\;\\; $ True$ \\;\\; $| $ \\;\\; $0.86$ \\;\\; $ | $ \\;\\; $0.02$ \\;\\; $ | $ \\;\\; $0.68$ \\;\\; $ | $ \\;\\; $0.34$ \\;\\; $ |\n", "| $ \\;\\; $ True$ \\;\\; $| $ \\;\\; $0.85$ \\;\\; $ | $ \\;\\; $0$ \\;\\; $ | $ \\;\\; $0.70$ \\;\\; $ | $ \\;\\; $0.35$ \\;\\; $ |\n", "| $ \\;\\; $ False$ \\;\\; $| | \n", "\n", "(ces valeurs sont théoriques et ne correspondent pas exactement aux valeurs obtenues par Python en raison des erreurs et arrondis sur les flottants)\n" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "__c. Exécuter l'appel à la fonction Avancement ci-dessous. Vérifier la cohérence avec la réponse à la question 3.b.__\n", "\n", "NB: On arrondira les valeurs renvoyées par la fonction Python." ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "# Exécuter l'appel à la fonction\n", "Avancement(n1,n2)\n" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "__d. Donner une interprétation concrète des valeurs renvoyées par la fonction Avancement de la question 3.c., dans le cadre de l'énoncé : Préciser ce que représentent ces valeurs et vérifier la cohérence avec vos réponses à la question 1.__\n", "\n", "Les valeurs renvoyées par la fonction Avancement correspondent respectivement aux quantités de $\\mathrm{I}_2$, de $\\mathrm{S}_2\\mathrm{O}_3^{2-}$, de $\\mathrm{I}^-$ et de $\\mathrm{S}_4\\mathrm{O}_6^{2-}$ (exprimées en $\\mathrm{mmol}$).\n", "\n", "\n" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "__e. Calculer les concentrations des réactifs et des produits à l'état final. On pourra utiliser des saisies Python pour les calculs.__\n", "\n", "Les concentrations finales en $\\mathrm{I}_2$, en $\\mathrm{S}_2\\mathrm{O}_3^{2-}$, en $\\mathrm{I}^-$ et en $\\mathrm{S}_4\\mathrm{O}_6^{2-}$ sont respectivement environ : \n", "\n", "\n", "\n", "$\\mathrm{C}_1=2,9\\times 10^{-3}$ $\\mathrm{mol}\\cdot\\mathrm{L}^{-1} $\n", "\n", "$\\mathrm{C}_2=0$ $\\mathrm{mol}\\cdot\\mathrm{L}^{-1} $\n", "\n", "$\\mathrm{C}_3=2,4\\times 10^{-3}$ $\\mathrm{mol}\\cdot\\mathrm{L}^{-1} $\n", "\n", "$\\mathrm{C}_4=1,2\\times 10^{-3}$ $\\mathrm{mol}\\cdot\\mathrm{L}^{-1} $\n", "\n", "" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "# Effectuer dans cette cellule et les suivantes les saisies nécessaires\n", "\n", "# Calcul du volume final (en mL)\n", "Vfinal = V1+V2\n", "\n", "Vfinal\n" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "# Calcul des quantités finales (en mmol)\n", "n1,n2,n3,n4 = Avancement(n1,n2)\n", "\n", "n1,n2,n3,n4" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "# Calcul des concentrations en mol par Litre\n", "C1 = n1/Vfinal ; C2 = n2/Vfinal ; C3 = n3/Vfinal ; C4 = n4/Vfinal" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "C1, C2, C3, C4" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "__4. Dans cette question, on reprend le protocole précédent avec:__\n", "\n", "$\\mathrm{V}_1=80$ $\\mathrm{mL}$\n", "\n", "$\\mathrm{C}_1=4\\times 10^{-3}$ $\\mathrm{mol}\\cdot\\mathrm{L}^{-1} $\n", "\n", "$\\mathrm{V}_2=130$ $\\mathrm{mL}$\n", "\n", "$\\mathrm{C}_2=8\\times 10^{-3}$ $\\mathrm{mol}\\cdot\\mathrm{L}^{-1} $\n", "\n", "__a. Effectuer une observation à l'aide de l'animation : Quel semble être le réactif limitant de cette transformation ?__\n", "\n", " Le mélange final ne présente pas de coloration jaune-orangée, on en déduit qu'il n'y a plus de diiode $\\mathrm{I}_2$, qui est donc le limitant. Par conséquent, le mélange final contient les espèces chimiques $\\mathrm{S}_2\\mathrm{O}_3^{2-}$, $\\mathrm{I}^-$ et $\\mathrm{S}_4\\mathrm{O}_6^{2-}$. \n", "\n", "__b. A l'aide de saisies Python, déterminer les concentrations des réactifs et produits à l'état final.__\n", "\n", "Les concentrations finales en $\\mathrm{I}_2$, en $\\mathrm{S}_2\\mathrm{O}_3^{2-}$, en $\\mathrm{I}^-$ et en $\\mathrm{S}_4\\mathrm{O}_6^{2-}$ sont respectivement environ : \n", "\n", "\n", "\n", "$\\mathrm{C}_1=0$ $\\mathrm{mol}\\cdot\\mathrm{L}^{-1} $\n", "\n", "$\\mathrm{C}_2=1,4\\times 10^{-3}$ $\\mathrm{mol}\\cdot\\mathrm{L}^{-1} $\n", "\n", "$\\mathrm{C}_3=2,2\\times 10^{-3}$ $\\mathrm{mol}\\cdot\\mathrm{L}^{-1} $\n", "\n", "$\\mathrm{C}_4=1,1\\times 10^{-3}$ $\\mathrm{mol}\\cdot\\mathrm{L}^{-1} $\n", "\n", "\n" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "#Effectuer dans cette cellule et les suivantes les saisies nécessaires\n", "\n", "# Conditions initiales en volumes et concentrations\n", "V1 = 80 ; C1 = 4*10**-3 ; V2 = 130 ; C2 = 8*10**-3\n", "\n", "# Calcul des quantités initiales\n", "n1 = q(V1,C1) ; n2 = q(V2,C2)\n", "\n", "# Calcul des quantités finales(en mmol)\n", "n1,n2,n3,n4 = Avancement(n1,n2)\n", "\n", "n1,n2,n3,n4" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "# Calcul des concentrations finales (en mol L-1)\n", "C1 = n1/Vfinal ; C2 = n2/Vfinal ; C3 = n3/Vfinal ; C4 = n4/Vfinal\n", "\n", "C1, C2, C3, C4" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [] }, { "cell_type": "markdown", "metadata": {}, "source": [ "© Copyright Franck CHEVRIER 2019-2021 https://www.python-lycee.com.
\n", "Les activités partagées sur Capytale sont sous licence Creative Commons.\n" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "*Remerciements particuliers à Nicolas EHRSAM pour son aide précieuse.*" ] } ], "metadata": { "celltoolbar": "Raw Cell Format", "kernelspec": { "display_name": "Python 3", "language": "python", "name": "python3" }, "language_info": { "codemirror_mode": { "name": "ipython", "version": 3 }, "file_extension": ".py", "mimetype": "text/x-python", "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", "version": "3.7.10" } }, "nbformat": 4, "nbformat_minor": 2 }