Outils pour utilisateurs

Outils du site


teaching:progappchim:gaz_parfait_2011

Loi des gaz parfaits

#!/usr/bin/env python
# -*- coding: utf-8 -*-
# Programme de calculs sur la loi des gaz parfaits
# GD, Ba2 chimie 2010-2011
from Tkinter import *                                                   #permet l'apparition de l'interface graphique   

def isolerP ():                                                         #définition de la fonction "isoler P"
    fen2.title("Calcul de la pression par la loi des gaz parfaits")     #donne un titre à la fenêtre 2
    fen2.geometry('400x100')                                            #réglage de la dimension de la fenêtre 2
    txt1 = Label(fen2, text= "Entrez ici le nombre de mole(mol):")      #apparition d'un texte dans la fenêtre 2
    txt2 = Label(fen2, text= "Entrez ici la Température (K):")          #"                 "                    "
    txt3 = Label(fen2, text = "Entrez ici le Volume (m^3) :")           #"                 "                    "
    txt1.grid(row=1, sticky=W)                                          #position du texte 1 dans la fenêtre 2 (ligne 1 et décalé tout à gauche)
    txt2.grid(row=2, sticky=W)                                          #position du texte 2 dans la fenêtre 2 (ligne 2 et décalé tout à gauche)                               
    txt3.grid(row=3, sticky=W)                                          #position du texte 3 dans la fenêtre 2 (ligne 3 et décalé tout à gauche)
    n.grid(row=1, column=3)                                             #position du cadre de la valeur à entrer (ligne 1 et colonne 3)
    T.grid(row=2, column=3)                                             #"                 "                    "(ligne 2 et colonne 3)
    V.grid(row=3, column=3)                                             #"                 "                    "(ligne 3 et colonne 3)
    button = Button(fen2, text='calculer', command=calculerP, bg="gold")#apparition du bouton "calculer" qui renvoie à la définition "calculerP" couleur or sur la fenêtre 2
    button.grid(row=5, column=2)                                        #position du bouton "calculer" (ligne 5 et colonne 2)                                                                        #codage pour calculer la variable P

def calculerP():                                                        #définition de la fonction "calculer P"
    fen3.title("Résultat")                                              #donne un titre à la fenêtre 3
    fen3.geometry('180x30')                                             #réglage de la dimension de la fenêtre 3
    reponse= ((float(n.get())*8.314*float (T.get()))/float(V.get()))    #formule calculant la variable à isoler => float permet le calcul d'un nombre à virgule flottante
    if reponse<0:                                                       #condition dans le cas où la réponse est négative
        c=Label(fen3, text="erreur", fg="red")                          #apparition du texte "erreur" en rouge dans la fenêtre 3
        c.grid(row=0, column=1)                                         #position du texte "erreur" (ligne 0 et colonne 1)
    else:                                                               #condition dans le cas où la réponse est positive
        a=Label(fen3,text=reponse)                                      #apparition de la réponse du calcul dans la fenêtre 3           
        a.grid(row=0,column=1)                                          #position de la réponse (ligne 0 et colonne 1)
        b=Label(fen3,text="Pa")                                         #apparition de l'unité de la variable à isoler (Pa) 
        b.grid(row=0,column=2)                                          #position de l'unité (juste à côté de la réponse)
    
def isolerV():
    fen2.title("Calcul du volume par la loi des gaz parfaits")
    fen2.geometry('400x100')
    txt1 = Label(fen2, text= "Entrez ici le nombre de mole (mol):")
    txt2 = Label(fen2, text= "Entrez ici la Température (K):")
    txt3 = Label(fen2, text = "Entrez ici la Pression (Pa) :")
    txt1.grid(row=1, sticky=W)
    txt2.grid(row=2, sticky=W)
    txt3.grid(row=3, sticky=W)
    n.grid(row=1, column=3)
    T.grid(row=2, column=3)
    P.grid(row=3, column=3)
    button = Button(fen2, text='calculer', command=calculerV, bg="gold")
    button.grid(row=5, column=2)

def calculerV():
    fen3.title("Résultat")
    fen3.geometry('180x30')
    reponse= ((float(n.get())*8.314*float(T.get()))/float(P.get()))
    if reponse<0:
        c=Label(fen3, text="erreur", fg="red")
        c.grid(row=0, column=1)
    else:
        a=Label(fen3, text=reponse)
        a.grid(row=0,column=1)
        b=Label(fen3,text="m^3")
        b.grid(row=0,column=2)

def isolern():
    fen2.title("Calcul du nombre de mole par la loi des gaz parfaits")
    fen2.geometry('400x100')
    txt1 = Label(fen2, text= "Entrez ici la Pression (Pa):")
    txt2 = Label(fen2, text= "Entrez ici le Volume (m^3):")
    txt3 = Label(fen2, text = "Entrez ici la Température (K) :")
    txt1.grid(row=1, sticky=W)
    txt2.grid(row=2, sticky=W)
    txt3.grid(row=3, sticky=W)
    P.grid(row=1, column=3)
    V.grid(row=2, column=3)
    T.grid(row=3, column=3)
    button = Button(fen2, text='calculer', command=calculern, bg="gold")
    button.grid(row=5, column=2)

def calculern():
    fen3.title("Résultat")
    fen3.geometry('180x30')
    reponse= ((float(P.get())*float(V.get()))/(float(T.get())*8.314))
    if reponse<0:
        c=Label(fen3, text="erreur", fg="red")
        c.grid(row=0, column=1)
    else:
        a=Label(fen3, text=reponse)
        a.grid(row=0,column=1)
        b=Label(fen3,text="mol")
        b.grid(row=0,column=2)

def isolerT():
    fen2.title("Calcul de la Température par la loi des gaz parfaits")
    fen2.geometry('400x100')
    txt1 = Label(fen2, text= "Entrez ici la Pression (Pa):")
    txt2 = Label(fen2, text= "Entrez ici le Volume (m^3):")
    txt3 = Label(fen2, text = "Entrez ici le nombre de mole (mol) :")
    txt1.grid(row=1, sticky=W)
    txt2.grid(row=2, sticky=W)
    txt3.grid(row=3, sticky=W)
    P.grid(row=1, column=3)
    V.grid(row=2, column=3)
    n.grid(row=3, column=3)
    button = Button(fen2, text='calculer', command=calculerT, bg="gold")
    button.grid(row=5, column=2)

def calculerT():
    fen3.title("Résultat")
    fen3.geometry('180x30')
    reponse= ((float(P.get())*float(V.get()))/(float(n.get())*8.314))
    if reponse<0:
        c=Label(fen3, text="erreur",fg="red")
        c.grid(row=0, column=1)
    else:
        a=Label(fen3,text=reponse)
        a.grid(row=0,column=1)
        b=Label(fen3,text="K")
        b.grid(row=0,column=2)

fen1=Tk()                                                            #création de l'interface graphique "fenêtre 1"
fen2=Toplevel(fen1)                                                  #création de l'interface graphique "fenêtre 2"
fen3=Toplevel(fen2)                                                  #création de l'interface graphique "fenêtre 3"
n = Entry(fen2)                                                      #permet de définir la variable "n"
T = Entry(fen2)                                                      #"             "               "T"
V = Entry(fen2)                                                      #"             "               "V"
P = Entry(fen2)                                                      #"             "               "P"
fen1.title("Equation d'état des gaz parfaits")                       #titre de la fenêtre 1
Label(fen1, text="Veuillez choisir une inconnue à isoler").grid()    #texte apparaissant sur la fenêtre 1
Button(fen1, text='Isoler P', command= isolerP, bg="yellow").grid()  #création du bouton qui renvoie à la définition "isoler P"
Button(fen1, text='Isoler V', command= isolerV, bg="green").grid()   #"                      "                       "isoler V"
Button(fen1, text='Isoler n', command= isolern, bg="blue").grid()    #"                      "                       "isoler n"
Button(fen1, text='Isoler T', command= isolerT, bg="red").grid()     #"                      "                       "isoler T"
fen1.mainloop()                                                      #permet le démarrage du programme.

Ce site web utilise des cookies pour analyser le trafic de visites. En restant sur ce site, vous acceptez le stockage de cookies sur votre ordinateur. En savoir plus
teaching/progappchim/gaz_parfait_2011.txt · Dernière modification: 2014/02/11 09:05 par villersd