Méli mélo de formule de Physique-Chimie

Projets

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

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é

aperçu du menu
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

aperçu du menu
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

aperçu choix 1
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

aperçu choix 2 (1/2)
aperçu choix 2 (2/2)
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é

aperçu choix 3
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