İFADELER
Aşağıda, Fortran da kullanılan atama işlemleri verilmektedir:
Atama İfadesi
Tanım :
| Atama işleminde eşitliğin sol tarafında kalan değer değişken olmalıdır. Eşitliğin sağ tarafındaki değer ise bir sabit, sayı, değişken, fonksiyon veya ifade olabilir. Sağ taraftaki değerin işareti sol taraftaki değişkende de saklanır. |
degisken = ifadeÖrnekler :
pi = 3.141593 uzaklik = 0.5 * ivme * zaman ** 2 kenar = hipotenus * cos(teta)Karakterler
CHARACTER(len=<>uzunluk>) :: degisken adi[, degisken adi] CHARACTER(<>uzunluk>) :: degisken adi[, degisken adi] CHARACTER :: degisken adi[, degisken adi] CHARACTER*<>uzunluk> :: degisken adi CHARACTER degisken adi*<>len>Örnekler :
CHARACTER(len=10) :: ilk, son, orta CHARACTER(10) :: ilk = 'Benim adım' CHARACTER :: orta_baslangic Örnek: ------- PROGRAM Bolum7_A01 ! ! bu program bir isim girilmesini ve ! ekrana yazdirilmasini saglar ! IMPLICIT NONE CHARACTER (20) :: Ad ! PRINT *,' Adinizi giriniz.' PRINT *,' 20 karaktere kadar' READ *,Ad PRINT *,Ad ! END PROGRAM Bolum7_A01END PROGRAM İfadesi
END PROGRAM [ad] Örnek: ------- PROGRAM Toplam_ve_Ortalama ! ! Bu program klavyeden uc sayinin ! okunmasindan sonra ortalamasini alir ! IMPLICIT NONE REAL :: N1,N2,N3, Ortalama = 0.0, Toplam = 0.0 INTEGER :: N = 3 PRINT *,' Uc sayi giriniz.' PRINT *,' Sayilar birbirinden bosluk veya virgul ile ayrilmalidir' READ *,N1,N2,N3 Toplam = N1+N2+N3 Ortalama = Toplam/N PRINT *,'Sayilarin toplami ',Toplam PRINT *,'Sayilarin ortalamasi ',Ortalama END PROGRAM Toplam_ve_OrtalamaIMPLICIT NONE İfadesi
IMPLICIT NONE
Örnek:
-------
PROGRAM Zaman
IMPLICIT NONE
REAL :: I_dakika, Uzaklik, G_sure
INTEGER :: Dakika, Saniye
REAL , PARAMETER :: I_Yil = 9.46E12
! I_Yil : isigin 1 yilda Km olarak aldigi yol
! I_dakika: isigin 1 dakikada Km olarak aldigi yol
! Uzaklik : Gunesten dunyaya olan uzaklik
! G_sure : 1 dakikada alinan yol icin gecen sure
! Dakika : Gecen surenin dakikasinin tam kismi
! Saniye : Gecen surenin saniyesinin tam kismi
!
I_dakika = I_Yil/(365.25*24.0*60.0)
Uzaklik = 150.0*10**6
G_sure = Uzaklik / I_dakika
Dakika = G_sure
Saniye = (G_sure - Dakika)*60
Print *,' Isik gunesten dunyaya ' , Dakika,' dakika'
Print *,' ' , Saniye,' Saniye'
Print *,' sonunda ulasir'
END PROGRAM Zaman
INTEGER İfadesi INTEGER :: degisken adi[, degisken adi, vs.] INTEGER :: i, j, sayac INTEGER :: gun = 4 Örnek: ------- PROGRAM Bolum8_01 IMPLICIT NONE INTEGER :: i REAL :: r CHARACTER (1) :: c LOGICAL :: l COMPLEX :: cp PRINT *,' Tamsayi ',KIND(i) PRINT *,' Gercel ',KIND(r) PRINT *,' Karakter ',KIND(c) PRINT *,' Mantiksal ',KIND(l) PRINT *,' Karmasik ',KIND(cp) END PROGRAM Bolum8_01LOGICAL İfadesi
LOGICAL :: degisken adi[, degisken adi vs.] LOGICAL :: baslangic, kontrol LOGICAL :: kontrol = .false.PROGRAM İfadesi
PROGRAM program_adi PROGRAM ilk_programimREAD İfadesi
READ (*,*) degisken adi[, degisken adi, vs.] READ (*,*) basinc READ (*,*) uzaklik, zamanREAL İfadesi
REAL :: degisken adi[, degisken adi, vs.] REAL :: degisken adi = deger REAL :: uzaklik, zaman REAL :: uzaklik = 100 Örnek: ------- PROGRAM Karmasik_sayilar IMPLICIT NONE ! ! genlik ve faz girildikten sonra ! sistemin frekans tepkisi hesaplanmaktadir ! REAL :: Omega ,Gercel_kisim , Sanal_kisim , Genlik, Faz COMPLEX:: Frekans_tepkisi ! ! Giris frekansi Omega ! PRINT *, 'Giris frekansi ' READ *, Omega ! Frekans_tepkisi = 1.0 / & CMPLX( - Omega * Omega + 1.0 , 2.0 * Omega) Gercel_kisim = REAL(Frekans_tepkisi) Sanal_kisim = AIMAG(Frekans_tepkisi) ! ! kutupsal koordinatlarin hesaplanmasi (genlik ve faz) ! Genlik = ABS(Frekans_tepkisi) Faz = ATAN2 (Sanal_kisim, Gercel_kisim) ! PRINT *, Omega, ' Frekansinda' PRINT *, ' Tepki = ', Gercel_kisim,' + I ', Sanal_kisim PRINT *, ' kutupsal koordinatlarda ' PRINT *, ' Genlik = ', Genlik PRINT *, ' Faz = ', Faz END PROGRAM Karmasik_sayilarSTOP İfadesi
STOPWRITE İfadesi
WRITE (*,*) ifade[, ifade, vs.] WRITE (*,*) basinc WRITE (*,*) uzaklik, zaman WRITE (*,*) 'SIN(teta) = ', SIN(teta)
Program yazarken,
1. Çözmek istediğiniz problemi iyi tanımlayınız ve anlayınız,Alıştırma 2. Test 2.
2. Programa, girilecek ve programdan elde edilecek sonuçları belirleyiniz,
3. Programı yazmadan önce algoritma veya akış diyagramını çiziniz,
4. Akış diyagramını veya algoritmayı Fortran komutları haline getiriniz,
5. Fortran programınızı test ediniz (alfa, beta testleri-*).