Inscription / Connexion Nouveau Sujet
Niveau terminale
Partager :

Dosage par titrage. Python

Posté par
Karue
31-10-22 à 17:00

Bonjour,
Je ne comprends pas comment on peut coder cela, j'espère que vous pourrez m'aider.
Pour visualiser l'évolution des quantités de matière des espèces chimiques impliquées dans le titrage de l'exercice 44,en fonction du volume V de solution titrage versé, on utilise un programme Python fourni don't les parties du Code à compléter sont surlignés en jaune. (Espèces impliquées: Fe2+, SO4^2-, Na+, HO-, Fe(OH) 2)
Fe2+ + 2HO- --->Fe(OH)2.
1) a- Justifier que l'on puisse tracer les évolutions des quantités de matière de chaque espèces comme des fonctions affinés.

L'évolution des quantités de matière peut-être représenter par la formule n(espèce) -(coefficient stoechiométrique×avancement) donc sous la forme ax+b.

b) Ve=(2×C1×V1) /C
             =(2×0.1×20) /0.25=16mL
c)Compléter le programme pour qu'il fournisse les listes n(hydroxyde) , n(fer) et n(produit), contenant chacun trois valeurs de quantités de matière pour V=0mL, V=Ve, V=Vmax=25mL
Je met ce que j'ai trouvé mais sa ne marche pas.
n(hydroxyde) =(C×V) -(2×x) en faisant varier les valeurs de V
n(fer) =(C1×V) -x en faisant varier les valeurs de V
n(produit) =x

d) Exécuter le programme et imprimer le graphique

2) Compléter le programme afin de visualiser aussi les quantités de matière des ions spectateurs

n(Na+) =C×V en faisant varier la valeur de V
n(SO4^2-) =C1×V1

J'espère que vous pourrez m'aider.
Merci d'avance.

Dosage par titrage. Python

Posté par
vanoise
re : Dosage par titrage. Python 31-10-22 à 18:08

Bonjour
Je pense qu'il faut utiliser les trois tableaux d'avancement dont nous avons déjà parlé puis envisager les trois cas dans le programme.
A priori on te demande juste de compléter un programme. Peux-tu scanner et poster ici l'intégralité de ce qui est fourni ?

Posté par
Karue
re : Dosage par titrage. Python 01-11-22 à 11:41

Bonjour,
Il s'agit de l'intégralité du programme fourni dans le Manuel et j'ai recopié l'intégralité de la consigne.
Mais au cas où j'ai mal compris la demande, je vais envoyé le fichier de code.

Dosage par titrage. Python

Posté par
Karue
re : Dosage par titrage. Python 01-11-22 à 11:42

Bonjour,
Enfin il s'agit plutôt de la fin du codage.

Posté par
vanoise
re : Dosage par titrage. Python 01-11-22 à 11:51

Je pense qu'il faut juste recopier les expressions littérales des grandeurs surlignées mais, pour en être certain,il faudrait l'intégralité du programme. Tu en a fourni deux extraits, le second correspondant à la fin du programme.

Posté par
Karue
re : Dosage par titrage. Python 01-11-22 à 12:02

Je n'avais pas mis le début car il me semblait inutile.

Dosage par titrage. Python

Posté par
Karue
re : Dosage par titrage. Python 01-11-22 à 12:23

J'ai mis les expressions littérales mais on m'affiche.

Dosage par titrage. Python

Posté par
vanoise
re : Dosage par titrage. Python 01-11-22 à 15:11

Connaître la librairie téléchargée, ici pylab est important.
Peux-tu fournir un scan complet du programme tel que tu l'as complété ?

Posté par
Karue
re : Dosage par titrage. Python 01-11-22 à 16:43

Je ne peux pas faire de scan pour l'instant mais je vais recopier exactement comme je l'ai écris.

n(hydroxyde)=(C×V)-(2x)
J'ai aussi essayé (C×V)-(2×C×V)

Aucun de fonctionne
n(Fer) =(C1×V)-x et (C1×V)-(C×V)

n(produit)=x  et C×V

Posté par
vanoise
re : Dosage par titrage. Python 01-11-22 à 17:33

Je laisse le programme Python de côté pour l'instant. Histoire de savoir si tu as bien compris la chimie, pourrais-tu compléter le tableau suivant en écrivant les formules permettant de trouver les différentes quantités de matières ?

Volume versénfernhydroxydenproduit
V=0
V=Ve
V=Vmax

La syntaxe du programme est toujours délicate. Il suffit de remplacer un point par une virgule et tout peut se bloquer ! Si tu veux que je t'aide pour le programme Python, il faut absolument que tu fournisses l'intégralité du programme tel que tu l'as complété. Si tu as des connaissances en info, tu peux enregistrer le fichier au format texte puis le convertir au format pdf et le poster sur le forum. Sinon, tu peux faire des copies d'écran et les poster au format image. Sinon, les scanner par morceaux mais il faut la totalité du fichier.

Posté par
Karue
re : Dosage par titrage. Python 01-11-22 à 18:05

nfer=(C×V)-x
nhydroxyde=(C1×V)-2x
nproduit=x

Posté par
Karue
re : Dosage par titrage. Python 01-11-22 à 18:07

En revanche je ne peux pas fournir une image du programme car le site limite à 2MO la taille de l'image ce qui est très peu. Les images que j'ai postées au dessus, j'ai été obligé de les rogner énormément.

Posté par
Karue
re : Dosage par titrage. Python 01-11-22 à 18:09

Pour les formules, il faut comprendre V comme étant égale à V=0, V=Ve et V=Vmax.
Je n'ai pas eu la foi d'écrire 3× pratiquement la même formule.

Posté par
Karue
re : Dosage par titrage. Python 01-11-22 à 18:11

En revanche, je peux vous dire comment accéder au fichier:

-aller sur le site hatier-clic
-appuyer sur"entré un code"
-taper"pct107b"

Posté par
vanoise
re : Dosage par titrage. Python 01-11-22 à 18:29

Tu n'y es pas du tout en ce qui concerne les quantités de matières. Je t'avais aidé dans un sujet précédent sur les tableaux d'avancement dans le premier cas. As-tu bien compris les deux autres ? Il n'est pas trop tard pour y revenir...
Ici, pour V=0, pas d'ajout d'ions hydroxyde, les quantités d'ions hydroxyde et de précipité sont donc nulles. La quantité d'ions fer est la quantité introduite.
Pour V=Ve : les deux réactifs sont introduits dans les proportions stœchiométriques.  les quantités d'ions hydroxyde et d'ions fer sont donc nulles. La quantité de précipité vaut ?
Pour V=Vmax, il n'y a pas d'ions fer ; la quantité de précipité n'a pas changé depuis l'équivalence. La quantité d'ions hydroxyde est la quantité introduite entre V=Ve et V=Vmax....

Posté par
vanoise
re : Dosage par titrage. Python 01-11-22 à 19:07

Grâce au lien que tu as fourni, j'ai téléchargé le programme Python sans problème. Je te le renverrai complété lorsque tu auras terminé la partie chimie, c'est à dire lorsque tu auras complété convenablement le tableau du  message du  01-11-22 à 17:33.

Posté par
Karue
re : Dosage par titrage. Python 01-11-22 à 20:38

Pour V=0:
nfer=(C1×V1)-x=0.10×20×10^-3-0=
2, 0×10^-3
nhydroxyde=(C×V) -2x=0.25×0-2×0=0
nproduit=x=0

Pour V=Ve:
nfer=(C1×V1)-x=(0.10×20×10^-3)-2×10-3=0
nhydroxyde=(C×V)-2x=(0.25×16×10^-3)-2×2×10^-3=0
nproduit=x=2, 0×10^-3

Pour V=Vmax:
nfer=(C1×V1)-x=(0.10×20×10^-3)-2×10^-3=0
nhydroxyde=(C×V)-2x=
(0.25×25×10^-3)-(2×2×10^-3)=2.25×10^-3
nproduit=x=2, 0×10^-3

C'est ce que j'ai trouvé et je pense que c'est bon alors je ne comprend pas pourquoi vous avez dit au dessus que je m'étais trompé, cu qui est probable mais si ce n'est pas cela, je ne vois pas ce que cela pourrais être.

Posté par
vanoise
re : Dosage par titrage. Python 01-11-22 à 21:13

Je pense qu'il est préférable de laisser les valeurs littérales, l'ordinateur faisant ensuite les calculs. Imagine que tu cherches à étudier la situation avec des concentrations différentes. Avec ta méthode, il faudrait tout modifier. Avec ce que je te propose, il suffirait de modifier les valeurs de c et de c1 en début de programme. J'en ai profité pour corriger une petite erreur : les volumes étant mesurés en mL et les concentrations en mol/L, les quantités sont en millimoles, pas en moles.
Tu as commis une erreur pour la quantité d'ions hydroxyde en V=Vmax. Parler d'avancement n'a plus de sens puisque la réaction n'a plus lieu après l'équivalence par manque d'ions fer. La quantité restante d'ions hydroxyde est donc la quantité de ces ions ajoutés après l'équivalence.

Dosage par titrage. Python

pdf
PDF - 15 Ko

Posté par
Karue
re : Dosage par titrage. Python 01-11-22 à 22:03

Mais donc vous avez mis quoi pour les lignes
nfer, etc, pour que cela donne ce graphique ?

Posté par
Karue
re : Dosage par titrage. Python 01-11-22 à 22:08

De plus, je ne comprend pas tellement le fait que vous disiez qu'il fait modifier les valeurs de c et c1.
Dans la consigne il est dit qu'il faut compléter le programme et non le modifier, même si cela est plus simple.

Posté par
vanoise
re : Dosage par titrage. Python 01-11-22 à 23:16

Tu n'as pas compris mon message précédent. Il n'est pas question de modifier le programme et je ne l'ai pas fait. J'ai juste expliqué que laisser un maximum de raisonnement littéral rend le programme plus facilement modifiable mais cela n'est pas demandé ici. Il vaut tout de même mieux acquérir de bonnes habitudes !

Citation :
Mais donc vous avez mis quoi pour les lignes
nfer, etc, pour que cela donne ce graphique ?

Tu n'as pas réussi à ouvrir le fichier pdf fourni dans mon précédent message ?

Posté par
Karue
re : Dosage par titrage. Python 02-11-22 à 11:25

Si excusez moi, je pensais simplement qu'il s'agissait du pdf du graphique et j'attendais votre réponse pour l'ouvrir.

Posté par
Karue
re : Dosage par titrage. Python 02-11-22 à 11:30

Merci beaucoup, donc il vaut mieux mettre des valeurs quand c'est égale à 0 et mettre la formule lorsqu'il est différent de 0.

Posté par
vanoise
re : Dosage par titrage. Python 02-11-22 à 11:52

C'est bien cela !



Mentions légales - Retrouvez cette page sur l'île de la physique - chimie
© digiSchool 2024

Vous devez être membre accéder à ce service...

Pas encore inscrit ?

1 compte par personne, multi-compte interdit !

Ou identifiez-vous :


Rester sur la page

Inscription gratuite

Fiches en rapport

parmi 237 fiches de physique

Désolé, votre version d'Internet Explorer est plus que périmée ! Merci de le mettre à jour ou de télécharger Firefox ou Google Chrome pour utiliser le site. Votre ordinateur vous remerciera !