İdeal ve Gerçek Gazlarda Basınç Hesabı (if Fonksiyonu)

SORU (Amaç : if - else, round, pow )

Gazlar düşük basınç ve sıcaklıklarda ideal davranış gösterirler. Yüksek basınç ve düşük sıcaklıklarda ise gerçek gaz davranışı gösterirler.
İdeal gaz davranışı gösterirken gazların basıncı

P=nRT/V
eşitliğinden hesaplanır.
Gerçek gaz davranışı gösterirken ise basınçları van der Walls denklemi olan
P=nRT/(V-nb) - n2a/V2
eşitliğinden hesaplanır.
CO2 gazının 273 K altında ve gazın basıncı ideal gaz denklemine göre 5 atm. üzerine çıktığında gerçek gaz davranışı gösterdiğini düşünerek uygun bir program yazınız.
Eşitliklerdeki P; basınç, n; mol sayısı; R; değeri 0.082 atm. L. mol-1 K1 olan gaz sabiti, T; mutlak sıcaklık, V; gazın hacmi, a; CO2 e özgü bir sabit ve değeri 3.640 L2 atm. mol-2, b; CO2 e özgü bir sabit ve değeri 4.267x10-2 L. mol-1 dir.

PROGRAM
T: K
n: mol
V: L.
ALGORİTMA
  • (1) T değişkenini gir.
  • (1) n değişkenini gir.
  • (1) V değişkenini gir.
  • (2) T değişkenini $T değişkenine aktar.
  • (2) n değişkenini $n değişkenine aktar.
  • (2) V değişkenini $V değişkenine aktar.
  • (3) (T > 0 ve n > 0 ve V > 0 ) doğru değilse programı bitir. Doğruysa;
    • (4) Basıncı hesapla ve $P değişkenine aktar.
      • $n*0.082*$T/$V hesapla ve SONUÇ bul.
      • round(SONUÇ, 2) ile sonucu noktadan sonra iki basamak yuvarla. ve yeni SONUCU bul.
      • Sonucu P ye aktar.
    • (5) ($T > 273 ve $P < 5 ) doğru ise
    • (6) $P değerini ve açıklamaları yazdırıp programı sonlandır.
    • (7) ($T > 273 ve $P < 5 ) doğru değilse gerçek gaz denklemine göre basıncı hesapla.
    • (8) $P değerini ve açıklamaları yazdırıp programı sonlandır.
PROGRAM KODU <?php $T=$_POST[T]; $n=$_POST[n]; $V=$_POST[V]; echo "<form name='IdealGercekGaz' action=$_SERVER[PHP_SELF] method='post'> <table> <tr> <td>T</td> <td>:</td> <td><input type='text' name='T' value='$T' size='5' /> K</td> </tr> <tr> <td>n</td> <td>:</td> <td><input type='text' name='n' value='$n' size='5' /> mol</td> </tr> <tr> <td>V</td> <td>:</td> <td><input type='text' name='V' value='$V' size='5' /> L.</td> </tr> <tr> <td colspan='3' align='right'><input type='submit' name='Hesapla' ></td> </tr> </table> "; if ($T>0 && $n>0 && $V>0 ) { $P=round($n*0.082*$T/$V,2); if ($T>273 && $P<5) { echo "P=($n mol)(0.082 atm. L. mol<sup>-1</sup> K<sup>-1</sup>)($T K)/($V L) = $P atm.<br/>" ; echo "CO<sub>2</sub> gazının ideal davranış gösterdiği varsayılarak hesaplanmıştır."; } else { echo " P = [($n mol)(0.082 atm. L. mol<sup>-1</sup> K<sup>-1</sup>)($T K)/[(($V L) - ($n mol)(4.267x10<sup>-2</sup>))]] - ($n mol)<sup>2</sup>(3.640 L<sup>2</sup> atm. mol<sup>-2</sup>)/($V L.)<sup>2</sup><br/> "; echo "P = ".round($n*0.082*$T/($V-$n*4.267e-2)-pow($n,2)*3.64/pow($V,2),2)." atm.<br/>"; echo "CO<sub>2</sub> gazının gerçek gaz davranışı gösterdiği varsayılarak hesaplanmıştır."; } } ?>