Tableau d’avancement pour un élève en physique-chimie


Accueil > Projets > Tableau d’avancement pour un élève en physique-chimie

Par Besse L., Tanguy C., Tirrier A. en novembre 2019

Ce projet a été réalisé par des élèves en spécialité NSI du Lycée Louis Pasteur. Ils sont également les auteurs de ce compte rendu. Pour en savoir plus : Les projets en spécialité NSI

Introduction

Le tableau d’avancement est un outil utilisé principalement en physique chimie, il permet d’établir un bilan de matière à l’état initial, pendant la réaction et à l’état final. Il est ensuit utilisé pour connaitre les quantités de matières finales.

Tableau d’avancement exemple

Présentation du projet

Le programme python créé ici permet de calculer les quantités de matières finales lors d’une réaction chimique produite afin d’aider un élève de physique chimie à calculer le tableau d’avancement de cette réaction.
Le programme est un programme simple basé sur une boucle while, étudiée en classe de première de NSI. La boucle permet ici de soustraire une valeur calculée par le programme à une valeur donnée initialement par l’utilisateur jusqu’au nombre minimum de zéro.

L’utilisateur du programme se doit de rentrer en premier les informations dont le programme se base ensuite, telles les coefficients stœchiométriques et les quantités de matières initiales. Le pas d’avancement n’est pas obligatoire, c’est pour cela qu’il a été décidé de le rajouter dans la 2ème étape du projet. C’est lors de la dernière étape que le programme a été peaufiné.

Etape 1 :

  1. print("Donner les valeurs des coefficients stœchiométriques")
  2. a=int(input("Valeur a="))
  3. b=int(input("Valeur b="))
  4. c=int(input("Valeur c="))
  5. d=int(input("Valeur d="))
  6. print("Donner les valeurs des quantités")
  7. na=float(input("Quantité de a"))
  8. nb=float(input("Quantité de b"))

Télécharger

Etape 2 :

  1. print("Donner les valeurs des coefficients stœchiométriques ")
  2. a=int(input("Valeur a="))
  3. b=int(input("Valeur b="))
  4. c=int(input("Valeur c="))
  5. d=int(input("Valeur d="))
  6. pas=float(input("Donner le pas d'avancement="))
  7. print("Donner les valeurs des quantités")
  8. na=float(input("Quantité de a"))
  9. nb=float(input("Quantité de b"))

Télécharger

Etape 3 :

  1. print("Quelles sont les valeurs des coefficients stochiométriques ?")
  2. a=int(input("Donnez la valeur de a="))
  3. b=int(input("Donnez la valeur de b="))
  4. c=int(input("Donnez la valeur de c="))
  5. d=int(input("Donnez la valeur de d="))
  6. pas=float(input("Donner le pas d'avancement="))
  7. print("Donner les valeurs des quantités na et nb")
  8. nai=float(input("La quantité de a est:"))
  9. nbi=float(input("La quantité de b est:"))

Télécharger

C’est aussi lors de l’étape 2 que la boucle while a été mise en place :

  1. while na>0.0 and nb>0.0:
  2.     na=nai-a*x
  3.     nb=nbi-b*x
  4.     nc=nci+c*x
  5.     nd=ndi+d*x
  6.     print("na=",na,"\tnb=",nb,"\tnc=",nc,"\tnd=",nd)
  7.     x=x+pas
  8. print("Xmax est",x)

Télécharger

Quelques difficultés ont été rencontrées avec le « x » car il fallait le définir avant la boucle, l’insérer ainsi dans le programme ne fonctionnait pas.
La boucle while est composée de formules qui permettent de calculer les proportions restantes des réactifs et des produits jusqu’au moment où soit « a » soit « b » est égal à zéro.

L’étape 3 a permis de rajouter les dernières lignes du programme qui commentent et nous dis lequel des réactifs est limitant dans le cas où soit « a » soit « b » est atteint zéro, ou dans le cas où les deux réactifs ont atteint en même temps le palier de zéro, c’est-à-dire que le mélange a été introduit dans les proportions stœchiométriques.

  1. if na==0 and nb==0:
  2.     print("Le mélange a été introduit dans des proportions stœchiométriques.")
  3. elif na==0:
  4.     print("Le réactif limitant est na.")
  5. elif nb==0:
  6.     print("Le réactif limitant est nb.")

Télécharger

programme_du_tableau_d_avancement.py.zip (ZIP - 540 octets)
programme_du_tableau_d_avancement.py.zip

Mots-clés