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
Sommaire
- 1 Présentation du programme
- 2 Menu de sélection
- 3 Sous programme 1 : Convertir un nombre d’entités en mole
- 4 Sous programme 2 : Donner la composition finale d’une réaction
- 5 Sous programme 3 : Registre des significations des lettres et symboles avec leur unité
- 6 Bonus
- 7 Télécharger le programme
- 8 Articles similaires
Présentation du programme
Ce programme propose trois aides en physique-chimie :
1 – Convertir un nombre d’entités en mole
2 – Donner la composition finale d’une réaction
3 – Registre des significations des lettres et symboles avec leur unité
def menu(): print("\n--------MENU PRINCIPAL--------\n") print("1 - Convertir un nombre \n d'entites en mole") print("2 - Donner la composition \nfinale d'une reaction") print("3 - Registre des significatons \ndes lettres et symboles avec \n leur unite") choix=int(input("Choix =\t")) print() if choix==1: f1() elif choix==2: f2() elif choix==3: f3() else: print("Choix non valide\n") menu() def f1(): n = int(input("Donner le nombre d'entites a\n convertir:\t ")) na = 6.02214076 * 10 ** 23 r = n / na print("\n La quantite de matiere\n correspondante est\n %.3e"%r, "moles" ) input () menu () def compo_finale(a,b,c,d,nx,ny): x=min(nx/a,ny/b) return nx-a*x,ny-b*x,c*x,d*x def f2(): A = int(input("Veuillez renseigner\n le coefficient A:\t")) B = int(input("\nVeuillez renseigner\n le coefficient B:\t")) C = int(input("\nVeuillez renseigner\n le coefficient C:\t")) D = int(input("\nVeuillez renseigner\n le coefficient D:\t")) n_x = int(input("\nVeuillez renseigner\n la quantite de matiere\n de A:\t")) n_y = int(input("\nVeuillez renseigner\n la quantite de matiere\n de B:\t")) nfA,nfB,nfC,nfD = compo_finale(A,B,C,D,n_x,n_y) print("Il reste %.3e"%nfA, "\nmoles de A\n") print("Il reste %.3e"%nfB, "\nmoles de B\n") print("Il reste %.3e"%nfC, "\nmoles de C\n") print("Il reste %.3e"%nfD, "\nmoles de D\n") input() menu() def f3(): print ("m : masse de l'échantillon\n ou masse d'un corps (g)") print ("\nM : masse molaire de\n l'echantillon (g.mol-1)") print ("\nn : quantite de matiere (mol)") print ("\nV : volume d un corps\n (L ou m3)") print ("\nrho : masse volumique de la\n solution (g.L-1 ou kg.m-3)") print ("\nd : densite (sans unite)") print ("\nn : quantite de matiere (mol)") print ("\nCM: concentration molaire\n (mol.L-1)") print ("\nU : tension (V, volts)") print ("\nI : intensite du courant\n (A, amperes)") print ("\nR : resistance (Omega, ohms)") print ("\nT : temperature en kelvin (K)") input() menu () menu()
Les deux premiers sous-programmes calculent automatiquement vos résultats avec les données que vous aurez préalablement rentrées et le dernier sera juste là en tant qu’aide ou rappel.
Menu de sélection
def menu(): print("\n--------MENU PRINCIPAL--------\n") print("1 - Convertir un nombre \n d'entites en mole") print("2 - Donner la composition \nfinale d'une reaction") print("3 - Registre des significatons \ndes lettres et symboles avec \n leur unite") choix=int(input("Choix =\t")) print() if choix==1: f1() elif choix==2: f2() elif choix==3: f3() else: print("Choix non valide\n") menu()
Le choix de l’aide se fait par un menu où il suffit de rentrer le nombre désiré (en l’occurrence 1, 2 ou 3). Si un autre nombre que ceux proposés est rentré, “Choix non valide” s’affichera et vous serez automatiquement redirigé vers le menu.
Sous programme 1 : Convertir un nombre d’entités en mole
def f1(): n = int(input("Donner le nombre d'entites a\n convertir:\t ")) na = 6.02214076 * 10 ** 23 r = n / na print("\n La quantite de matiere\n correspondante est\n %.3e"%r, "moles" ) input () menu ()
Ce programme sert comme son nom l’indique à obtenir une quantité d’atome en mole. Pour ce faire on demande simplement à l’utilisateur d’entrer un nombre d’atome que le programme divise par le nombre d’Avogadro.
Sous programme 2 : Donner la composition finale d’une réaction
def compo_finale(a,b,c,d,nx,ny): x=min(nx/a,ny/b) return nx-a*x,ny-b*x,c*x,d*x def f2(): A = int(input("Veuillez renseigner\n le coefficient A:\t")) B = int(input("\nVeuillez renseigner\n le coefficient B:\t")) C = int(input("\nVeuillez renseigner\n le coefficient C:\t")) D = int(input("\nVeuillez renseigner\n le coefficient D:\t")) n_x = int(input("\nVeuillez renseigner\n la quantite de matiere\n de A:\t")) n_y = int(input("\nVeuillez renseigner\n la quantite de matiere\n de B:\t")) nfA,nfB,nfC,nfD = compo_finale(A,B,C,D,n_x,n_y) print("Il reste %.3e"%nfA, "\nmoles de A\n") print("Il reste %.3e"%nfB, "\nmoles de B\n") print("Il reste %.3e"%nfC, "\nmoles de C\n") print("Il reste %.3e"%nfD, "\nmoles de D\n") input() menu()
Ce sous programme en renseignant les coefficients directeurs de A, B, C et D ainsi que la quantité de matière de A et B permet de calculer la composition finale d’une réaction.
Sous programme 3 : Registre des significations des lettres et symboles avec leur unité
def f3(): print ("m : masse de l'échantillon\n ou masse d'un corps (g)") print ("\nM : masse molaire de\n l'echantillon (g.mol-1)") print ("\nn : quantite de matiere (mol)") print ("\nV : volume d un corps\n (L ou m3)") print ("\nrho : masse volumique de la\n solution (g.L-1 ou kg.m-3)") print ("\nd : densite (sans unite)") print ("\nn : quantite de matiere (mol)") print ("\nCM: concentration molaire\n (mol.L-1)") print ("\nU : tension (V, volts)") print ("\nI : intensite du courant\n (A, amperes)") print ("\nR : resistance (Omega, ohms)") print ("\nT : temperature en kelvin (K)") input() menu () menu()
Le choix 3 est présent en tant qu’aide afin de savoir à quoi correspond chaque lettre ou symbole ainsi que l’unité qui l’accompagne.
Bonus
%.3e »%
Ce morceau de programme permet de présenter le résultat sous forme d’écriture scientifique avec trois chiffres après la virgule.
Télécharger le programme
Lien vers le script sur le Workshop Numworks : https://workshop.numworks.com/python/p3r50nne/pc1g
Cet article a été écrit par des élèves du lycée Louis Pasteur.
Ils étudiaient alors la spécialité NSI, en classe de 1ère.
Promotion 2020 – 2021