Fortran Programlamaya Giriş (Fortran90/95)

previous next

FORTRAN da KOMUT ve İŞLEM HİYERARŞİSİ

Fortran90/95 de kullanılan karakter kümesi :

Sembol sayısı

Tip

Değerler

26

Büyük harf

A-Z

26

Küçük harf

a-z

10

Rakamlar

0-9

1

Alt çizgi

_

5

Aritmetik semboller

+ - * / **

17

Değişik semboller

( ) . = , ' $ :
! " % & ; < > ? boşluk

Bir Fortran programıüç ana kısımdan oluşur:
1. Tanımlama kısmı:kullanılacak sabitler veya değişkenler vs. tanımlanır.
2. Çalışma kısmı:yapılacak işlemler vs. kullanılır.
3. Sonlandırma kısmı:çıktı işlemleri yapılır (STOP, END).
Bazı bilgisayarlardaki gerçel sayıların duyarlığı ve limitleri. 

Bilgisayar

Toplam bit
sayısı

Taban bit
sayısı

Noktadan sonraki
kısmın bit sayısı

Üstel kısmın
bit sayısı

üstel kısmın
sınırları

VAX

32
64

24
56

7
15

8
8

10-38 ile 1038
10-38 ile 1038 

IBM PC

32
64

24
53

7
15

8
11

10-38 ile 1038
10-308 ile 10308 

Sun Sparc

32
64

24
53

7
15

8
11

10-38 ile 1038
10-308 ile 10308 

Cray

64

49

14

15

10-2465 ile 102465

Fortran programlama dilinde komut ve işlemler önceliklerine göre yapılır. 
Bu komut ve işlem önceliği sırası aşağıdaki listelerde verilmektedir: 
Komut sıralaması:
-----------------
 1. PROGRAM
 2. PARAMETER
 3. IMPLICIT
 4. EXPLICIT
 5. DIMENSION
 6. COMMON
 7. DATA
 8. Satır fonksiyonları
 9. Programın gövdesi
10. END
11. SUBROUTINE ve FUNCTION alt programları

İşlem sıralaması:
-----------------
1. Parantez içeren işlemler en içteki parantezlerden dışarıya doğru yapılır,
2. Üstel işlemler sağdan sola doğru yapılır,
3. Çarpma ve bölme soldan sağa doğru yapılır,
4. Toplama ve çıkarma soldan sağa doğru yapılır, 
5. Koşul işlemcileri (==, /=, >, >=, <, <=) soldan sağa doğru yapılır,
6. Bütün .NOT. işlemleri yapılır
7. Bütün .AND. işlemleri soldan sağa doğru yapılır,
8. Bütün .OR. işlemleri soldan sağa doğru yapılır,
9. Bütün .EQV. ve .NEQV. işlemleri soldan sağa doğru yapılır,

Fortran programlama dili hazır çeşitli iç komutlarına/fonksiyonlara sahiptir. Örnek olarak SIN(X), COS(X) vb verilebilir.

Koşullu Mantıksal İşlemciler.

Yeni

Eski

Anlamı

= =

.EQ.

Eşit

/=

.NE.

Eşit değil

>

.GT.

Büyük

>=

.GE.

Büyük eşit

<

.LT.

Küçük

<=

.LE.

Küçük eşit

Karakterlerin birbirine eklenmesi // işlemcisi ile yapılır. 
'Adı'//' Soyadı' ekleme işleminden sonra 'Adı Soyadı' şeklini alır.

Intrinsic Fonksiyonlardan bazıları.

Fonksiyon adı ve argumanı

Fonksiyon değeri

Arguman tipi

Sonuç tipi

Açıklama

SQRT(X)

 

gerçel

gerçel

X>=0 

 ABS(X)

 |X|

 gerçel/tamsayı

 gerçel/tamsayı

 X in mutlak değeri

 ACHAR(I)

 

 tamsayı

 CHAR(I)

 I konumundaki karakter

 SIN(X)

 sin(x)

 gerçel

 gerçel

 x (radyan) in sinüs değeri

 COS(X)

 cos(x)

 gerçel

 gerçel

 x (radyan) in kosünüs değeri

 TAN(X)

 tan(x)

 gerçel

 gerçel

 x (radyan) in tanjant değeri

 EXP(X)

 ex

 gerçel

 gerçel

 x in exponansiyeli

 LOG(X)

 loge(x)

 gerçel

 gerçel

 x in doğal logaritması

 LOG10(X)

 log10(x)

 gerçel

 gerçel

 x in 10 tabanına göre logaritması

 IACHAR(C)

 

 CHAR(I)

 tamsayı

 ASCII numarası

 INT(X)

 

 gerçel

 tamsayı

 gerçel sayının tam kısmı

 NINT(X)

 

 gerçel

 tamsayı

 x e en yakın tamsayı değeri

 REAL(I)

 

 tamsayı

 gerçel

 gerçel sayıya çevirme

 MOD(A,B)

 

 gerçel/tamsayı

 gerçel/tamsayı

 a nın b ye bölümünden kalan

 MAX(A,B)

 

 gerçel/tamsayı

 gerçel/tamsayı

 a ve b nin maksimum değeri

 MIN(A,B)

 

 gerçel/tamsayı

gerçel/tamsayı

 a ve b nin en küçük değeri

 ASIN(X)

 sin-1(x)

 gerçel

 gerçel

 sinüs ün tersi

 ACOS(X)

 cos-1(x)

 gerçel

 gerçel

 kosünüsün tersi

 ATAN(X)

 tan-1(x)

gerçel

gerçel

 tanjantın tersi

Programlama öğütleri-1 

 1. Fortran programlarınızı serbest formatta yazınız,

 2. Anlaşılır (türkçe karakter içermeyen) değişkenler kullanınız. 
    Örneğin adi, soyadi, pi, toplam vs.

 3. Daima IMPLICIT NONE ifadesini kullanınız.
    Bu ifade derleme aşamasında hata noktasını yakalamanızı sağlar,

 4. Her programınız için veri sözlüğü oluşturun.
    Yani programda kullandığınız değişkenleri açıkça deklare ediniz 
    ve tanımlayınız. Fiziksel niceliklere uygun değişkenlerle verilerinizi
    isimlendiriniz (yol, enerji, is, saat, zaman vs).

 5. Sabitleri program içinde değişik olarak yazmamaya dikkat edin. 
    Örneğin p sabiti için programın bir yerinde 3.14 
    başka bir yerinde 3.141593 gibi bir değer kullanmayınız.

 6. Sabitler için kullanabileceğiniz en fazla duyarlı hane sayısını kullanınız.
    Örneğin p için 3.14 yerine 3.141593

 7. Programınızda gerçel dünyadaki değişkenler tamsayı kullanmanızı gerektiyorsa
    tamsayı, gerçel sayı kullanmanızı gerektiriyorsa gerçel sayı kullanınız.
    Örneğin zaman veya yol için gerçel sayı değişkenleri, sayaç için tamsayı değişkenleri
    kullanınız.

 8. Tamsayı ve gerçel sayılarla ilgili işlemler yapacaksanız tamsayıları gerçel sayıya veya
    gerçel sayıları tamsayıya çevirerek yapınız. 
	   Bunu REAL, INT ve NINT fonksiyonları ile yapınız.          

 9. Formülün okunmasını kolaylaştıracaksa fazla parantez kullanınız.

10. Klavyeden girilecek verilerin ne olduğunu kullanıcıya ekrandan yansıtınız.

11. Değişkenlere, onları kullanmadan önce mutlaka başlangıç atamalarını yapınız. 
    Atama işlemlerini READ veya deklarasyon satırlarında yapınız.

12. İşlem çıktılarında fiziksel birim gerekiyorsa kullanınız. Bu program çıktılarının 
    kolay değerlendirilmesini sağlar.
13. Programınızın dökümanı şu özellikleri içermelidir:
- AD : programın içerildiği dosya adı
- PROGRAMCI : Programı yazan kişi
- TARİH : programın yazıldığı tarih
- SÜRÜM : Programın sürüm numarası
- AMAÇ : Proplemin tanımı
- GİRDİ : Giriş verileri ve formatları
- ÇIKTI : Çıkış verileri ve formatları
- PARAMETRE : Parametre isimleri, anlamları, ve fonksiyonları
- STRATEJİ : Programın probleme yaklaşımı
- ALTPROGRAM: Altprogramların listesi ve tanımları
- SINIRLARI ve KISITLAMALARI : Programın yapabilecekleri ve yapamayacakları
- HATA KONTROLÜ : Oluşabilecek hataların listesi açıklamaları
- DEĞİŞKEN ve SABİTLER : Değişkenlerin ve sabitlerin listesi ve kullanım amaçları

©Copyright Mehmet Kabak 2003. Bütün hakları sakladır.
previous next

Hosted by www.Geocities.ws

1