Temel Yönleriyle Fortran 90 / 95 / 2003

  Temel Konular
* Önsöz

* Fortran'a Giriş
* Fortran'nın Temelleri
* Basit ve Formatlı Okuma/Yazma
* Temel Kütüphane Fonksiyonları
* Karşılaştırma Deyimleri
* Döngüler
* Alt Programlar I
* Alt Programlar II
* Diziler
* Dinamik Diziler
* Gösterici (Pointer) Kavramı
* Katarlar (Stringler)
* Yapısal Veri Tipleri
* Dosya Yönetimi
* Modül Kavramı
* Sayısal Tipler (KINDs)
* Bit Düzeyinde Çalışmak
* Kütüphane Fonksiyonları Listesi

* Yararlanılan Kaynaklar

  İleri Uygulamalar
* - - -
* Karmaşık Sayılar
* Tarih-Saat Fonksiyonları
* Rastgele Sayılar
* Katar - Sayı Dönüşümleri
* Komut Satırı İşlemleri
* Co-Array Fortran
* Derleme Seçenekleri
* Fortran ve C

  Seçilmiş Örnekler
* Sayılar Kuramı
* Analiz
* Lineer Cebir

  Fortran 90/95 Derleyicileri
* Salford (silversoft FTN95)
* G95
* GFORTRAN

  Dış Bağlantılar
* programlama.com
* Fortran (wikipedia)

* fortran.gantep.edu.tr
* g95.org
* Hot scripts

  İletişim
* E-posta

 

Bölüm 4: Temel Kütüphane Fonksiyonları

##################-- (%90)


Giriş

Bu kısımda sık kullanılan kütüphane fonksiyonlarına değinilecektir.

4.1   Fonksiyonların Listesi

Tablo 4.1'de bundan sonraki kısımlarda kullanılacak bazı kütüphane fonksiyonları listelenmiştir. Kütüphane fonksiyonlarının tam listesini Bölüm xx'de bulabilirsiniz.

Tablo 4.1: Temel Kütüphane Fonksiyonları
Fonksiyon Açıklama Argüman tipi Geri dönüş tipi Örnek Sonuç
ABS(x) x in mutlak değeri INTEGER veya REAL Argümanla aynı ABS(-1.55) 1.55
SQRT(x) x in karekökü REAL REAL SQRT(2.77) 1.664332
INT(x) x in tam kısmı REAL INTEGER INT(4.69) 4
NINT(x) x e en yakın tamsayı REAL INTEGER NINT(4.69) 5
FLOOR(x) x i aşağı yuvarlar REAL INTEGER FLOOR(4.69) 4
CEILING(x) x i yukarı yuvarlar REAL INTEGER CEILING(4.69) 5
REAL(x) x i gerçel sayıya çevirir INTEGER REAL REAL(4) 4.0
EXP(x) ex değerini hesaplar REAL REAL EXP(-1.4) 0.2465970
LOG(x) loge(x) = lnx değerini hesaplar REAL REAL LOG(3.5) 1.252763
LOG10(x) log10(x) = logx değerini hesaplar REAL REAL LOG10(x) 0.5440680
COS(x) x in kosinüsü REAL REAL COS(0.5) 0.8775826
SIN(x) x in sinüsü REAL REAL SIN(0.5) 0.4794255
TAN(x) x tanjantı REAL REAL TAN(0.5) 0.5463025
ACOS(x) Kosinüsü x olan açı REAL REAL ACOS(1.0) 0.0
ASIN(x) Sinüsü x olan açı REAL REAL ASIN(1.0) 1.5707964
ATAN(x) Tanjantı x olan açı REAL REAL ATAN(1.0) 0.7853982
MOD(X, Y) X (mod Y) değerini hesaplar INTEGER INTEGER MOD(15, 4) 3
MAX(x1, x2 [, ...]) Argümanların enbüyüğü INTEGER veya REAL Argümanla aynı MAX(3,5,7,12,4) 12
MAX(x1, x2 [, ...]) Argümanların enbüyüğü INTEGER veya REAL Argümanla aynı MIN(0.0,-4.2,1.0) -4.2

Bu kütüphane fonksiyonları kullanılırken aşağıdaki durumlara dikkat edilmelidir.

  • Argüman tipi REAL olan fonksiyonlara geçirilecek değişken veya sabit mutlaka REAL olmalıdır
    y = SQRT(4.0) ile y değişkenine 2.0 değeri atanır, fakat 4 bir tamsayı sabiti olduğu için y = SQRT(4) ataması geçersizdir. Bunu yerine y = SQRT(REAL(4)) ataması kullanılabilir.

  • Trigonometrik fonsiyonlara geçirilen açı (arguman) radyan olarak kabul eder.
    y = SIN(1.5) ile 1.5 radyanın sinüsü y değişkenine atanır. Derece cinsinden bir açının sinüsü hesaplanmak istendiğinde, 2*Pi radyan = 360 derece (Pi = 3.141592...) eşitliği kullanılabilir. Buna göre, 10 derecenin sinüsü şöyle hesaplanır: y = SIN(10.0*Pi/180.0).

  • MOD(x, y) fonksiyonu x/y'den kalanı hesaplar.
    Örneğin: z = MOD(20,4) ile z değişkenine 0 atanırken, z = MOD(13,2) ile 1 değeri atanır.
    Bu fonksiyon aslında x - INT(x/y)*y işlemini yapar. Şöyleki
    MOD(13,2) = 13 - INT(13/2)*2 = 13 - 12 = 1

  • MAX() ve MIN() fonksiyonları

4.2   Örnekler

Program 4.1: Trigonometrik kütüphane fonksiyonları
01: 
02: 
03: 
04: 
05: 
06: 
07: 
08: 
09: 
10: 
11: 
12: 
13: 
14: 
15: 
16: 
17: 
18: 
19: 
20: 
21: 
22: 
PROGRAM Trigonometrik
!--------------------------------------------------------
! 04prg01.f95
! Trigonometrik kütüphane fonksiyonları
!--------------------------------------------------------
REAL :: Aci, Pi

    PRINT *,"Derece cinsinden bir açı girin:"
    READ *,Aci

    ! Pi sayısı
    Pi = 4.0 * ATAN(1.0)

    ! derece -> radyan dönüşümü
    Aci = Aci * Pi /180.0

    PRINT *," Pi: ",Pi
    PRINT *,"SIN: ",SIN(Aci)
    PRINT *,"COS: ",COS(Aci)
    PRINT *,"TAN: ",TAN(Aci)

END PROGRAM 

ÇIKTI

 Derece cinsinden bir açı girin:
30
  Pi:  3.1415927
 SIN:  0.5
 COS:  0.8660254
 TAN:  0.57735026

Program 4.2: Üstel ve logaritmik fonksiyonlar
01: 
02: 
03: 
04: 
05: 
06: 
07: 
08: 
09: 
10: 
11: 
12: 
13: 
14: 
15: 
16: 
17: 
18: 
19: 
20: 
PROGRAM Logaritmik
!--------------------------------------------------------
! 04prg02.f95
! Üstel ve logaritmik fonksiyonlar
!--------------------------------------------------------
REAL :: X, Log7

    PRINT *,"Positif bir x değeri girin :"
    READ *,X

    ! log7(x) değeri nin hesabı

    Log7 = LOG(x) / LOG(7.0)

    PRINT *,"  EXP(x) = ",EXP(x)
    PRINT *,"  LOG(x) = ",LOG(x)
    PRINT *,"LOG10(x) = ",LOG10(x)
    PRINT *," LOG7(x) = ",Log7

END PROGRAM 

ÇIKTI

 Positif bir x değeri girin :
2.0
   EXP(x) =  7.389056
   LOG(x) =  0.6931472
 LOG10(x) =  0.30103
  LOG7(x) =  0.3562072



Powered by PHP