Programme PV = nRT (version complète)




Le premier écran doit permettre le choix du calcul de :

On va utiliser la commande Locate et Getkey.

Le résultat de la commande Getkey doit envoyer vers 4 sous-programmes (Lbl).

Chaque sous-programme doit demander les 3 autres valeurs, et faire le calcul approprié.

Enfin un dernier écran doit donner le résultat ainsi que les valeurs entrées (pour vérification).

Programme PV = nRT

'Nom du programme'
"PV=nRT"
'La valeur 8,314 est affectée à la variable R'
8.314→R
'Indications du choix'
"Calcul de :"
" P : 1"
" V : 2"
" n : 3"
" T : 4"
'Choix avec les conditions imbriquées'
Lbl 5
Getkey→A
If A=72
Then Goto 1
Else If A=62
Then Goto 2
Else If A=52
Then Goto 3
Else If A=73
Then Goto 4
Else Goto 5
IfEnd
IfEnd
IfEnd
IfEnd
'Sous-programme 1 qui calcule P'
Lbl 1
"V"?→V
"n"?→N
"T"?→T
NRTV-1→P
Goto 9
'Sous-programme 2 qui calcule V'
Lbl 2
"P"?→P
"n"?→N
"T"?→T
NRTP-1→V
Goto 9
'Sous-programme 3 qui calcule n'
Lbl 3
"P"?→P
"V"?→V
"T"?→T
PVR-1T-1→N
Goto 9
'Sous-programme 4 qui calcule T'
Lbl 4
"P"?→P
"V"?→V
"n"?→N
PVR-1N-1→T
Goto 9
'Affichage des résultats'
Lbl 9
ClrText
Locate 1,2,"P = "
Locate 1,3,"V = "
Locate 1,4,"n = "
Locate 1,5,"T = "
Locate 1,6,"θ = "
Sci 3
Locate 5,2,P
Norm1
Locate 5,3,V
Locate 5,4,N
Locate 5,5,T
Fix 0
Locate 5,6,T-273
Norm



En regardant la programmation des programmes des bibliothèques de la Graph 65 LIBRARY, j'ai découvert une solution programmable pour remplacer le solveur absent sur les Graph 25. Cette solution présente l'avantage de réduire la taille du programme de 20 à 60 % selon  le type de programme. Voici une variation sur le programme précédent :

Programme avec pseudo solveur

'Nom du programme'
Locate 7,1,"PV = nRT
'La valeur 8,314 est affectée à la variable R'
8.314→R
"Mettre la valeur 'X' pour l'inconnue"
'La valeur de X ne doit pas être nulle a priori'
0.001→X
'Les valeurs sont demandées'
"P="?→P
"V="?→V
"n="?→N
"T="?→T
'Selon la variable affectée à X, le programme effectue un des calculs'
P=X⇒NRTV-1→P
V=X⇒NRTP-1→V
N=X⇒PVR-1T-1→N
T=X⇒PVN-1R-1→T
'Affichage des résultats'
ClrText
Locate 1,2,"P = "
Locate 1,3,"V = "
Locate 1,4,"n = "
Locate 1,5,"T = "
Locate 1,6,"θ = "
Sci 3
Locate 5,2,P
Norm1
Locate 5,3,V
Locate 5,4,N
Locate 5,5,T
Fix 0
Locate 5,6,T-273
Norm


Sans Locate, pour les Graph 25, il faut modifier la fin du programme ('Affichage des valeurs') de la façon suivante...

Version Graph25

'Nom du programme'
Locate 7,1,"PV = nRT"
'La valeur 8,314 est affectée à la variable R'
8.314→R
"Mettre la valeur 'X' pour l'inconnue"
'La valeur de X ne doit pas être nulle a priori'
0.001→X
'Les valeurs sont demandées'
"P="?→P
"V="?→V
"n="?→N
"T="?→T
'Selon la variable affectée à X, le programme effectue un des calculs'
P=X⇒NRTV-1→P
V=X⇒NRTP-1→V
N=X⇒PVR-1T-1→N
T=X⇒PVN-1R-1→T
'Affichage des résultats'
"P = "signe de pause
Sci3
Psigne de pause
"V = "signe de pause
Fix2
Vsigne de pause
"n = "signe de pause
Nsigne de pause
Fix1
"T = "signe de pause
Tsigne de pause
"θ = "signe de pause
Fix1
T-273signe de pause
Norm