Şimdi Ara

fortran 77

Daha Fazla
Bu Konudaki Kullanıcılar: Daha Az
2 Misafir - 2 Masaüstü
5 sn
11
Cevap
0
Favori
2.156
Tıklama
Daha Fazla
İstatistik
  • Konu İstatistikleri Yükleniyor
0 oy
Öne Çıkar
Sayfa: 1
Giriş
Mesaj
  • Arkadaşlar, cok acil Fortran 77 de yazilmis, dosyadan sayıları okuyup, her 100 datada bir ortalama alıp, bu ortalamaları başka bir dosyaya yazacak bir fortran programı gerekiyor. Dizi kullanılarak yazılıcakmış. Yardımcı olabilecek birileri olursa cok sevinirim.



  • sen yapabildiğin yere kadar yap takıldığın yerde yardımcı olan bulunur.
  • PROGRAM ORTALAMA
    IMPLICIT NONE
    REAL (A,B,TA,TB,ORTA,ORTB)
    open (1, file='input.xvg')
    open (2, file='ortalama.txt')
    do while (.not. eof(1))
    TA=0.0
    TB=0.0
    do i = 1,100
    read(1,*) A,B
    TA=TA+A
    TB=TB+B
    end do
    ortA=TA/100
    ortB=TB/100
    write(2,*) ortA,ortB
    end do
    end



    bişeyler yaptım ama hata veriyor program hatam nerde görebilen varmı??????



    < Bu mesaj bu kişi tarafından değiştirildi caglarr1905 -- 9 Aralık 2010; 15:01:41 >
  • 1'den 100'e kadar olan döngün var.
    Eğer, bu arada 1.dosyada başka kayıt kalmazsa sorun olur
    çünkü EOF koşulu gerçekleşmiştir.
    Dosya-sonu denetimini (EOF), 1..100 döngüsünün içine almalısın.
  • do i = 1,100 ün hemen arkasına mı eklenmeli?
    baska bisey eklemem gerekiyor mu ?
  • Dün gece forumda bir sorun vardı sanırım gönderemedim.

    2. dosya yeni oluşturulacaksa (varolan bir dosya değilse) "status" sözcüğü içermeli.
    Program bitmeden önce de dosyaları close ile kapatmalısın.

    Fortran yazmayalı yıllar oldu.
    Biraz google ile fortran77'ye bakındım. Umarım aşağıdaki kodlar doğrudur.
     
    PROGRAM ORTALAMA
    IMPLICIT NONE
    REAL (A,B,TA,TB,ORTA,ORTB)
    open (1, file='input.xvg')
    open (2, file='ortalama.txt', status='NEW')

    20 TA=0.0
    TB=0.0
    J=0
    do i = 1,100
    read(1,*) A,B
    if EOF(1) goto 60
    J=J+1
    TA=TA+A
    TB=TB+B
    end do

    ortA=TA/100
    ortB=TB/100
    write(2,*) ortA,ortB
    goto 20
    60
    if (J.EQ.0) goto 80
    ortA=TA/J
    ortB=TB/J
    write(2,*) ortA,ortB
    80
    close(1)
    close(2)
    end


    Program, diskten 100'lük (çiftler halinde) sayılar okur.
    Bunların ortalamasını alıp, bir çift olarak 2.dosyaya yazar.
    Eğer 1.dosyada 100'ün katlarında veri yoksa, örn. 120 tane varsa,
    kalan 20 için de ortalama hesabı yapılmalı.
    Kalan veri sayısı için J değişkeni kullandım.




  • cok tesekkürler, bu programın üzerinde bi kac degisiklik yaparak calistirdim.. saolun
  • bir sorum daha olucak, windows force 3 compiler dan f77 compiler a nasıl gecebilirim ??
  • Fortran77, bir dil standardıdır. Bu standarda uygun birçok derleyici var (C ve Pascal'da olduğu gibi).
    Bende fortran derleyicisi yok. İnternetten bulabildiğim birkaç kaynaktan
    anladığım kadarıyla Force 3 Beta kullanıyorsun.
    Bu bir arayüz (ide) ve arka planda da fortran77 derleyicisi var.
    Yazdığın program dosyasını (.f uzantılı) bir başka F77 derleyicisi ile çalıştırabilmen lazım (windows için).
    Gerekiyorsa, diğer derleyici .f uzantısı kabul etmiyorsa, dosyanın uzantısını değiştirirsin.

    Bu arada, hala fortran için çalışmalar yapılması ilginç geldi.
    (özellikle ilk standart fortran'ın 1960'larda ortaya çıktığı düşünülünce.)
    Demek ki "modası geçti" deyip bir kenara atmıyorlar
  • quote:

    Orijinalden alıntı: caglarr1905

    bir sorum daha olucak, windows force 3 compiler dan f77 compiler a nasıl gecebilirim ??


    http://gcc.gnu.org/fortran/ fortran derleyici.
  • Arkadaslar cok acil fortran force 2.0 da yazilacakbu sorunun cvbi lazimsoru : 0aninda 2 bakteri var bu bakteriler her 5 dk da bir ikiye bolunup cogaliyo 60.dk kac tane bakteri olacagini hesaplayan bir fortran programi yaziniz. Soru bu cvbini bilen varsa acil yardim ederse sevinirim yoksa okulum bir yil uzayacak

    < Bu ileti mobil sürüm kullanılarak atıldı >
  • 
Sayfa: 1
- x
Bildirim
mesajınız kopyalandı (ctrl+v) yapıştırmak istediğiniz yere yapıştırabilirsiniz.