Basınç - Hacim Değişimi
SORU
İdeal davranış gösteren gazların basıncı, P;
P=nRT/V
eşitliğinden hesaplanabilir. Mol sayısı ve sıcaklık sabitken değişen hacimle basıncın nasıl değişeceğini gösteren bir betik hazırlayınız.
Not :
Mol sayısı değiştirilebilir olmalıdır.
Sıcaklık değiştirilebilir olmalıdır.
Sıcaklık
o
C olarak girilmelidir.
İlk hacim girilmelidir.
Hacim değişimleri girilmelidir.
Kaç farklı hacim için basıncın hesaplanacağı seçimli olmalıdır.
P=0 veya negatif değerler için hesaplamalar göz ardı edilmelidir.
Hesaplamalar 3 basamak hassas yapılmalıdır.
YANIT
Algoritma :
Sayfa ilk çağrıldığından değişkenlerin değeri bulunmayacağından 0/0 belirsizlik durumları için hesaplama yapılmasın
Hesaplama için mol sayısını girin.
Hesaplama için
o
C olarak sıcaklığı girin.
İlk hacim değerini girin.
Hacim değişimlerini girin.
Kaç hesaplama yapılacağını seçin.
273+t hesapla ve T ye aktar
T>0, n>0 ve V>0 ise n*0.082*T/V hesapla ve P ye aktar
P>0 ise sonucu yazdır.
Hesaplama sayısını kontrol et hesaplama sayısına ulaşılmadı ise ulaşıldı ise programı sonlandır.
V değerini Vartis kadar arttır.
T>0, n>0 ve V>0 ise n*0.082*T/V hesapla ve P ye aktar
P>0 ise sonucu yazdır.
10. adıma git.
PROGRAM KODU
<?php $n=$_POST[n]; $t=$_POST[t]; $Vilk=$_POST[Vilk]; $DV=$_POST[DV]; $ArttirAzalt=$_POST[ArttirAzalt]; if ($ArttirAzalt=='azalt') {$DV=-$DV;} $DS=$_POST[DS]; echo "<form name='PV' action=$_SERVER[PHP_SELF] method='post'> <table align='left'> <tr> <td>n</td> <td>:</td> <td><input type='text' name='n' value='$n' size='1' maxlength='2' /> mol</td> </tr> <tr> <td>t</td> <td>:</td> <td><input type='text' name='t' value='$t' size='2' maxlength='4' /> <sup>o</sup>C</td> </tr> <tr> <td>V</td> <td>:</td> <td><input type='text' name='Vilk' value='$Vilk' size='2' maxlength='4' /> L.</td> </tr> <tr> <td><font face='symbol'>D</font>V</td> <td>:</td> <td> <input type='text' name='DV' value='".abs($DV)."' size='1' maxlength='2' /> L. kadar <select name='ArttirAzalt'> <option value='arttir'>arttır</option> <option value='azalt'>azalt</option> </select> </td></tr> <tr> <td>Döngü Sayısı</td> <td>:</td> <td> <select name='DS' /> <option value='10'>10</option> <option value='20'>20</option> <option value='50'>50</option> <option value='100'>100</option> <option value='500'>500</option> </select> </tr> <tr> <td colspan='3' align='right'> <input type='submit' name='Hesapla' > </td> </tr> </table> "; $V=round($Vilk,3); $n=round($n,3); $T=round(273+t,3); if ($n>0 && $V>0 && $T>0 ) { $P=round($n*0.082*$T/$V,3); echo "<table border='1' align='center'><tr><th>V / L.</th><th>P / atm.</th></tr>"; echo "<tr><th>$V</th><th>$P</th></tr>"; } for($i=1;$i<$DS;$i++) { $V=$V+$DV; $P=round($n*0.082*$T/$V,3); if ($P>0 && $V>0 ){ echo "<tr><th>$V</th><th>$P</th></tr>";} } if ($i==$DS){ echo " <tr> <td colspan='2'> Not : Sıcaklık : $t <sup>o</sup>C, n = $n dir. </td> </tr> </table>"; } ?>
ÇALIŞAN PROGRAM
n
:
mol
t
:
o
C
V
:
L.
D
V
:
L. kadar
arttır
azalt
Döngü Sayısı
:
10
20
50
100
500