CANBULA Bilim Bilişim Günlüğü

13Ara/110

Fortran ile bir dosyanın tamamını okutmak

Fortran ile programlar yazarken bir dosyadan veri okutmak çok sık yaptığımız bir iştir. Eğer dosyadaki satır sayısı biliniyorsa basit bir döngüyle kolayca okuma yapılabilir veya dosyanın ilk satırına o dosyadaki satır sayısını yazarak aynı işi dolaylı yoldan yapabilirsiniz. Ancak genel ve geçerli bir çözüm olarak dosyada kaç satır varsa otomatik olarak hepsini okuyacak bir kod yazmak en doğrusu olacaktır. Bu işlemler aşağıda vereceğim kodlar yardımıyla basitçe yapılabilir.

Selec All Code:
1
2
3
4
5
6
7
8
9
10
11
12
13
program dosyaoku
  implicit none
  real :: veri1,veri2
  integer :: okumabitti
  open(10,file="veridosyam.dat")
  do
    read(10,*,iostat=okumabitti) veri1,veri2
    if(okumabitti.ne.0) exit
    ! okunan veriler ile istediğini işlemi yapabilirsiniz
    write(*,*) veri1,veri2
  end do
  close(10)
end program dosyaoku

bu küçük programın ne yaptığını kısaca özetleyelim, bu örnekteki veridosyam.dat dosyası 2 sütun reel sayıdan oluşuyor o yüzden iki tane real değişken tanımladım..ayrıca dosyadaki satırların bittiğini gösterecek bir gösterge olması için okuma işleminin istatistiğinin geçirileceği bir tamsayı değişkeni tanımladım. Kodlarda gördüğünüz gibi indissiz bir do döngüsü kullanıyorum ve okuma yaparken iostat=okumabitti ifadesi ile okuma işleminin istatistiğini okumabitti değişkenine geçiriyorum. Burada okumabitti değişkeninin değeri 0 olduğu sürece hiç bir sorun yok demektir ancak eğer değer sıfır oluyorsa okuma yapılamadı demektir ve dolayısıyla bu koşul sağlandığında do döngüsünden çıkarak dosyayı kapatıyorum. Ben burada sadece verilerin dosyadan okunup ekrana yazılmasını sağladım siz okuttuğunuz verilerle istediğiniz işlemi yapabilirsiniz.

Bu yazıyı beğendiniz mi?

RSS Kaynağımıza abone olun!

Yorumlar (0) Geri izlemeler (0)

Yorum yapılmadı.


Leave a comment

(required)

Geri izleme yok.