Outils pour utilisateurs

Outils du site


teaching:progappchim:gaz_parfait_2011

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

teaching:progappchim:gaz_parfait_2011 [2014/02/11 09:05] (Version actuelle)
villersd créée
Ligne 1: Ligne 1:
 +====== Loi des gaz parfaits ======
 +<sxh python; title : gaz_parfait.py>​
 +#​!/​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.
 +</​sxh>​
  
teaching/progappchim/gaz_parfait_2011.txt · Dernière modification: 2014/02/11 09:05 par villersd