Temel Yönleriyle Fortran 90 / 95 / 2003 | |||||||||
* Fortran'a Giriş
* fortran.gantep.edu.tr
|
Bölüm 23: Katar - Sayı Dönüşümleri
GirişBazen sayısal bir verinin katara veya tersi olan katar verisinin sayısal bir veriye dönüştürülmesi gerekebilir. Bu iş, Fortran'da formatlı giriş/çıkış işlemine benzer bir mekanizma ile kotarılır ve genllikle READ ve WRITE deyimlerinin UNIT parametresinin esnekliğinden faydalanılır. 23.1 Katar - Sayı DönüşümleriKatar tipindeki bir veri aşağıdaki işlemle tamsayıya dönüştürülebilir.INTEGER :: Int ! bir tamsayı CHARACTER(8) :: Str = "12345" ! bir katar ! katar tamsayıya çevrilyor... READ(UNIT=Str, FMT='(I5)') Int PRINT *,Str PRINT *,Int PRINT *,2*IntYukarıdaki program parçası çalıştırıldığında çıktı şöyle olur. 12345 12345 24690Benzer mantıkla bir katar bir gerçel sayıya çevrilebilir. REAL :: R ! bir gerçel sayı CHARACTER(8) :: Str = "123.45" ! bir katar ! katar gerçel sayıya çevrilyor... READ(UNIT=Str, FMT='(F10.3)') R PRINT *,Str PRINT *,RTersi olan dönüştürme işlemi yapılabilir. Aşağıdaki program parçasının INTEGER :: I = 123456 REAL :: R = 123.456 CHARACTER(10) :: A,B WRITE(UNIT=A, FMT='(I10)') I ! tamsayı katara çevriliyor... WRITE(UNIT=B, FMT='(F10.2)') R ! gerçel sayı katara çevriliyor... PRINT *,"Tamsayı I = ",I PRINT *,"Katar A = ",A PRINT *,"Gerçel R = ",R PRINT *,"Katar B = ",Bçıktısı Tamsayı I = 123456 Katar A = 123456 Gerçel R = 123.4560 Katar B = 123.46 23.2 Katar -> Sayı Dönüşümü için FonksiyonlarSon olarak katar --> sayısal veri dönüşümleri şu aşağıdaki iki fonksiyonla yapılabilir.! Bu fonksiyon bir katarı tamsayıya dönüştürür INTEGER FUNCTION KtrTam(Katar) CHARACTER (*), INTENT(IN) :: Katar READ(UNIT=Katar, FMT='(I10)') KtrTam END FUNCTION KtrTam ! Bu fonksiyon bir katarı gerçel sayıya dönüştürür REAL FUNCTION KtrGer(Katar) CHARACTER (*), INTENT(IN) :: Katar READ(UNIT=Katar,FMT='(F10.5)') KtrGer END FUNCTION KtrGer |