teaching:progappchim:gaz_parfait_2011

no way to compare when less than two revisions

Différences

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


teaching:progappchim:gaz_parfait_2011 [2014/02/11 09:05] (Version actuelle) – créée villersd
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
  • de villersd