30

Format Deyimleri (Örnekler) Kontrol Komutları Bildiri Komutları Fonksiyonlar ve Alt Programlar

  • Upload
    eamon

  • View
    89

  • Download
    2

Embed Size (px)

DESCRIPTION

Format Deyimleri (Örnekler) Kontrol Komutları Bildiri Komutları Fonksiyonlar ve Alt Programlar. Format Deyimleri Örnekleri;. I tipi (Tamsayılar için kullanılır ve (Iw) olarak gösterilir,. F Tipi (Gerçel Sayılar için kullanılır Fw.d şeklinde gösterilir). - PowerPoint PPT Presentation

Citation preview

Page 1: Format Deyimleri (Örnekler) Kontrol Komutları Bildiri Komutları Fonksiyonlar ve Alt Programlar
Page 2: Format Deyimleri (Örnekler) Kontrol Komutları Bildiri Komutları Fonksiyonlar ve Alt Programlar

Format Deyimleri Örnekleri;I tipi (Tamsayılar için kullanılır ve (Iw) olarak gösterilir,

Bellek Değeri Format Tanımı Çıkış Alanı

+23 I4 bb23

-371 I5 b-371

+12345 I5 12345

-12345 I5 ******

0 I3 bb0

Page 3: Format Deyimleri (Örnekler) Kontrol Komutları Bildiri Komutları Fonksiyonlar ve Alt Programlar

F Tipi (Gerçel Sayılar için kullanılır Fw.d şeklinde gösterilir)

Bellek Değeri Format Tanımı Çıkış Alanı

+12.3456 F7.3 b12.124

+25.6789 F10.3 bbbb25.679

-0.0123 F6.3 -0.012

00 F6.2 bb0.00

-135.642 F6.2 ******

+35.12 F4.2 ****

w;toplam karakter sayısını, d ondalık hanerlerin sayısıdır. Sayılar tanımlanan alan içinde sağdan hizalanırlar, pozitif sayılar için w >= d+1 negatif sayılar için w >= d+2 olmalıdır. Girişte sayılar noktasız yazılmış ise, sağdan itibaren d ondalık kısmı , w-d tamsayı kısmı olarak bilgisayara aktarılır. Ondalıklı sayılar çıkışta her zaman noktalı, d ondalık haneli ve sağa yanaşık yazılır. Sayının bellek değerinde ondalık hane sayısı d’den büyükse küçük haneler kesilir ve son hane yuvarlatılır, d’den küçükse eksik haneler sıfır ile doldurulur. Ondalıklı kısım tanımlanmış alana yazılamıyorsa alan * işareti ile doldurulur.

Page 4: Format Deyimleri (Örnekler) Kontrol Komutları Bildiri Komutları Fonksiyonlar ve Alt Programlar

E Tipi (Üslü Gerçel Sayılar için kullanılır Ew.d şeklinde gösterilir)

Bellek Değeri Format Tanımı Çıkış Alanı

+13.5628 E11.5 b.13563Eb02

-13.5628 E11.5 -.13562Eb02

+0.005246 E8.3 .525E-02

Page 5: Format Deyimleri (Örnekler) Kontrol Komutları Bildiri Komutları Fonksiyonlar ve Alt Programlar

Kontrol Deyimleri;Program akışını göstermek için kullanılan

deyimlerdir. Bilgisayar, Fortran deyimlerini normal olarak kaynak programda yazıldığı sırada gerçekleştirir. Ancak çözümü istenilen bazı problemler, programda zaman zaman atlama, geriye dönme, bazı işlemleri tekrarlama, aritmetik veya mantıksal bir karşılaştırmanın sonucuna göre dallanma gerektirebilirler. Bu kontrol komutları şunlardır;

Page 6: Format Deyimleri (Örnekler) Kontrol Komutları Bildiri Komutları Fonksiyonlar ve Alt Programlar

Koşulsuz GO TOHesaplanmış (Computed) GO TOAtanmış (Assign’a bağlı) GO TO Aritmetik IFMantıksal IFDOCONTINUERETURNCALLPAUSESTOPEND

Page 7: Format Deyimleri (Örnekler) Kontrol Komutları Bildiri Komutları Fonksiyonlar ve Alt Programlar

Koşulsuz GO TO DeyimiBu deyim program içince herhangi bir koşula bağlı

kalmaksızın istenilen komuta geçilmeyi sağlar;Genel Gösterimi; GO TO N (N aynı program içerisinde

bulunan herhangi bir deyim numarasıdır)Programın uygulanışında bir şartsız GO TO deyimine

gelinmiş ise bir sonraki deyim yerine N numaralı deyimdeki işlem gerçekleştirilir. N numaralı deyim şartsız GO TO deyiminden önce veya sonra tanımlanmış olabilir.

Örnek: GO TO 33 ..........

23 X= (A** +B**)............

33 Y=A/5.............

Page 8: Format Deyimleri (Örnekler) Kontrol Komutları Bildiri Komutları Fonksiyonlar ve Alt Programlar

Hesaplanmış GO TO DeyimiKoşulsuz GO TO komutu ile bir tek deyime atlama

olanagımız vardır , ancak, belirli koşulların gerçekleşmesi durumuna bağlı olarak birden fazla deyimden herhangi birine yönelmemiz gerekebilir, bu durumda Hesaplanmış GO TO deyimi kullanılır.Genel Formatı: GO TO (N1,N2,N3,.......NI), KBurada N1,N2,N3,... NI, aynı program içerisindeki deyim numaraları, ve K bir tam sayı değişkenidir. (1<= K <=I)

K tam sayı değişkenin aldığı değer NJ ise kontrol NJ numaralı deyime geçer. N1,N2,N3,...NI numaralı deyimlerin aynı program içerisinde bulunması zorunludur.

Page 9: Format Deyimleri (Örnekler) Kontrol Komutları Bildiri Komutları Fonksiyonlar ve Alt Programlar

Örnek : .....

K= 4GO TO (11,25,33,34,50),K

11 .............

25 ...............

33 ..............

34 ................

50 ........Deyiminin uygulanması sonucu 34 numaralı deyime atlanacaktırEğer K değişkenin değeri 1 den küçük veya listede yer alan deyim

numaralarından büyük ise hiç bir komuta yönelinmez kontrol bir sonraki deyime geçer.

Page 10: Format Deyimleri (Örnekler) Kontrol Komutları Bildiri Komutları Fonksiyonlar ve Alt Programlar

Atanmış (Assign’a bağlı) GO TO

Atanmış GO TO deyimi ile yine bir çok deyimden herhangi birine yönlenme olanağı sağlanır. Genel gösterimi

GO TO K, (N1,N2,N3,...NI)

ASSIGN deyimi tamsayı bir değişkene sayı ataması yapar. Genel Formatı ASSIGN d TO i şeklindedir. Burada d Assign deyimini içende bulunduran programda gerçekleştirilecek olan bir deyim numarası veya format numarası, i ise bir tam sayı değişkeninin adıdır.

Page 11: Format Deyimleri (Örnekler) Kontrol Komutları Bildiri Komutları Fonksiyonlar ve Alt Programlar

ASSIGN deyimi ile K değişkenine atanan değer ne ise, o numaralı deyimdeki işlem yapılır.

.................ASSIGN 10 TO K

..............GO TO K, (5,10,15,34)...............

5 X=Y................

10 X=Z................

15 X=W................

** ASSIGN deyimi ve Atanmış GO TO deyimi arasında K tamsayı değişkeninin değeri değiştirilemez...

Page 12: Format Deyimleri (Örnekler) Kontrol Komutları Bildiri Komutları Fonksiyonlar ve Alt Programlar

Aritmetik IF DeyimiBir aritmetik ifadenin değerinin Sıfır, Negatif veya

Pozitif olması durumunda herhangi 3 deyim numarasından birine yönlenmeyi sağlamak için kullanılır.

Genel Gösterimi; IF (aritmetik ifade) N1,N2,N3

N1,N2 ve N3 aynı program içerisinde bulunan deyim numaralarıdır.

Aritmetik ifade değeri Negatif ise N1, Sıfır ise N2, Pozitif ise N3 numarali deyime gidilir...N1, N2, N3 deyim numaralarından herhangi ikisi aynı olabilir

Page 13: Format Deyimleri (Örnekler) Kontrol Komutları Bildiri Komutları Fonksiyonlar ve Alt Programlar

........IF (X-Y) 1, 2, 3 ........

1 ........2 ........3 ........

IF (X – D*10) 23,56,3223 ......56 .....32 .....

IF (X) 5,5,145 .........14 .......

Page 14: Format Deyimleri (Örnekler) Kontrol Komutları Bildiri Komutları Fonksiyonlar ve Alt Programlar

LOGICAL (Mantıksal) IFMantıksal bir ifadenin doğru veya oluşuna göre başka bir deyime

yönlenmeyi veya yönlenmemeyi sağlar.Mantıksal ifadelerin sonuçları .TRUE. (doğru) veya .FALSE.

(yanlış) olabileceğinden bu deyim yardımı ile ancak iki yönlü bir yönlenme yapılabilir.

Genel Gösterimi: IF (mantıksal ifade) FK şeklindedir, burada FK uygulanabilir bir Fortran Deyimidir.

IF deyimindeki FK bir DO deyimi veya bir başka IF deyimi olamaz.

Mantıksal ifadenin sonucu .TRUE. ise FK deyimi uygulanır aksi durumda yani mantıksal ifadenin sonucu .FALSE. ise FK komutu atlanır ve bir sonraki deyim uygulanır.

Page 15: Format Deyimleri (Örnekler) Kontrol Komutları Bildiri Komutları Fonksiyonlar ve Alt Programlar

.........

IF (X.EQ.Y) A=4.2

.........

.........

IF (X.LE.Y) GO TO 5

..........

5 A=A+3

Page 16: Format Deyimleri (Örnekler) Kontrol Komutları Bildiri Komutları Fonksiyonlar ve Alt Programlar

IF-THEN-ELSE-END IF (Block IF)Blok IF deyimi END IF deyimi ile birlikte kullanılan

bir deyimdir gerektiğinde ELSE IF ve ELSE deyimleri ilede kullanılabilir.

Genel Gösterimi IF (m) THENBurada m herhangi bir mantıksal (logical) ifadedir.

Blok IF deyimi, deyimden sonraki ilk deyim ile başlar son ELSE IF, ELSE veya END IF deyiminden önceki deyimde biter. Bir IF bloğunun içinden bir başka IF bloğuna atlanamaz. Eğer m nin değeri doğru ise IF blokundaki ilk deyimden başlayarak sırayla deyimler uygulanır, Eğer m nin değeri yanlış ise bir sonraki ELSE IF, ELSE veya END IF deyimlerine geçilir, asla bir DO döngüsü ile kesilemez. END IF deyimi de IF Bloğunu bitirmek için kullanılır.....

Page 17: Format Deyimleri (Örnekler) Kontrol Komutları Bildiri Komutları Fonksiyonlar ve Alt Programlar

Örnek (1)IF (A.GT.B) THEN..........END IF

Örnek (2)INTEGER :: SAYIREAD(*,*) SAYIIF (MOD(SAYI ,2) .EQ.0) THEN

WRITE (*,*) SAYI, “ Sayisi Cift Sayidir”ELSE WRITE (*,*) SAYI , “ Sayisi Tek Sayidir”END IF

Page 18: Format Deyimleri (Örnekler) Kontrol Komutları Bildiri Komutları Fonksiyonlar ve Alt Programlar

DO DeyimiProgramımızın belirli bir kısmını, istenilen sayıda

tekrarlamak ve bir döngü (çevrim) oluşturmamız gerektiğinde DO deyimi kullanılır. Çoğunlukla indisli değişkenler le olan işlemlerde büyük kolaylık sağlar,

DO Genel Gösterimi;

DO K I=N1,N2,N3 şeklindedir.

Burada K bir deyim numarasını, I bir tam sayı değişkeni ve N1,N2,N3 ise tamsayı veya gerçelsayı değişkenleri gösterir.

Page 19: Format Deyimleri (Örnekler) Kontrol Komutları Bildiri Komutları Fonksiyonlar ve Alt Programlar

DO K I=N1,N2,N3

I: DO Döngüsünün kontrol değişkenidir.N1 : Kontrol değişkeninin ilk pozitif tamsayı değeridir,N2 : Kontrol değişkeninin son tam sayı değeridir,N3 : Kontrol değişkeninin her adımdaki artış miktarını gösterir. (Eğer

artış değer 1 ise kullanılmayabilir.)DO 10 I =1,20,2

10 PRINT *, I,I**2END DODeğişken ilk önce N1 değerini alır, ilk döngü yapılır, ikinci

döngü için değişken N3 kadar artırılır ve yeni değer N2 ile karşılaştırılır eğer yeni değer N2 den büyükse işlem sona erer ve bir sonraki komuta geçilir, eğer değişkenin değeri N2 den küçük ise işlemler devam eder.

Page 20: Format Deyimleri (Örnekler) Kontrol Komutları Bildiri Komutları Fonksiyonlar ve Alt Programlar

DO Deyimi Kullanılırken Uyulması Gereken Kurallar1. N1, N2’den büyük olsa bile döngü bir kez I=N1

için uygulanır2. Kontrol Değişkeni (I) DO deyimi içinde

değiştirilemez ancak indis olarak kullanılabilinir.

........ M = 2DO 5, I = M,5 M = I + 1 X = A(I)*B(M) 5 CONTINUE ........ ............

Page 21: Format Deyimleri (Örnekler) Kontrol Komutları Bildiri Komutları Fonksiyonlar ve Alt Programlar

3. DO döngüsü içinde bir başka DO döngüsü kullanılabilir, Bu durumda önce içerideki DO döngüsü tamamlanır, sonra dışarıdaki döngü gerçekleştirilir. İçteki döngü ile dıştaki döngünün bitiş deyimleri aynı olabilir. Etki alanları birbirini kesen DO döngüleri kullanılmaz.

DO 10 I = 1,N DO 100 K = 1,N,2 DO 15 J = 1,M DO 105 L = 1,M,3 ....... ...... ........... ......... ....... ...... ........... .......... 15 CONTINUE100 CONTINUE 10 CONTINUE 105 CONTINUE

Page 22: Format Deyimleri (Örnekler) Kontrol Komutları Bildiri Komutları Fonksiyonlar ve Alt Programlar

4. DO döngüsü bittikten sonra kontrol değişkeni başka bir amaçla tekrar kullanılabilir.

5. N1,N2 ve N3 değişkenleri tamsayı değişkeni olabilir ancak herhangi bir aritmetik ifade olamaz, Tamsayı değişkeni olmaları durumunda DO döngüsünden önce tanımlanmış olmaları gerekir ve değerleri döngü içerisinde değiştirilemez

6. DO döngüsü içinde herhangi bir fortran deyimi kullanılabilir.Fakat döngünün son deyimi koşulsuz veya assign'e bağlı GO TO, blok IF, ELSE IF, ELSE, END IF,STOP,RETURN ,END ,aritmetik IF,lojik IF veya bir başka DO deyimi olamaz.Bundan kaçınmak için genelde DO döngüsünün son deyimi olarak CONTINUE deyimi kullanılır.

Page 23: Format Deyimleri (Örnekler) Kontrol Komutları Bildiri Komutları Fonksiyonlar ve Alt Programlar

CONTINUE Deyimi

Continue deyimi, Fortran Programlarında her zaman gerekli değildir. Genellikle DO döngülerinin son komutu olarak görülü, programın çalşmasında etkili br rolü yoktur.

Genel Gösterimi

M CONTINUE şeklindedir

Burada M; DO döngüsünün son deyim numarasıdır. Kontrol bu deyime geldiğinde hiç bir işlem yapılmaksızın DO döngünün başına gidilir.

Page 24: Format Deyimleri (Örnekler) Kontrol Komutları Bildiri Komutları Fonksiyonlar ve Alt Programlar

DO 30 J=2,N

B(J) = NM(J-1) + NM(J+1)

INC = INC+1

IF (NPAR(J).LT.MAX) GO TO 30

K=J-1

30 CONTINUE

Page 25: Format Deyimleri (Örnekler) Kontrol Komutları Bildiri Komutları Fonksiyonlar ve Alt Programlar

RETURN DeyimiBu deyim ile alt programdan

(SUBROUTİNE) ana programa dönüş sağlanır.

Genel Gösterimi;

RETURN şeklindedir.

Her alt programda mutlaka bir RETURN deyimi olmalıdır. (Bir alt programda birden fazla RETURN deyimi bulunabilir.)

Page 26: Format Deyimleri (Örnekler) Kontrol Komutları Bildiri Komutları Fonksiyonlar ve Alt Programlar

CALL DeyimiBu deyim SUBROUTINE dediğimiz alt

programları çağırmak için kullanılır.

Genel Gösterimi;

CALL a

CALL a(A1,A2,.....AN) dir...

Burada a SUBROUTINE alt programının adını, A1,A2,...AN ise gerçek parametreleri (argümanları) gösterir.

Page 27: Format Deyimleri (Örnekler) Kontrol Komutları Bildiri Komutları Fonksiyonlar ve Alt Programlar

Argümanlar ana program ile alt program arasında bilgi akışını sağlayan parametreler olup, basit veya indisli bir değişken, bir sabit veya bir ifade olabilir.

CALL ORTALAMA (X,Y,Z)

CALL GUNORT ((A(I+3,2),B)

Page 28: Format Deyimleri (Örnekler) Kontrol Komutları Bildiri Komutları Fonksiyonlar ve Alt Programlar

PAUSE DeyimiProgramı geçici olarak durdurmak için kullanılır.

Geçici olarak durdurarak ara sonuçları görülebilir, yanlışlar incelenebilir.

Genel Gösterimi;1)PAUSE2)PAUSE K3)PAUSE “Mesaj” Şeklindedir.

K, en çok 6 rakamlı bir tam sayı sabiti, Mesaj da herhangi bir alfabetik ifadeyi gösterir.

Bir programın değişik yerlerinde birden falz PAUSE deyimi kullanılabilir.

PAUSE 987456PAUSE “Hata Var!!!!!!” gibi

Page 29: Format Deyimleri (Örnekler) Kontrol Komutları Bildiri Komutları Fonksiyonlar ve Alt Programlar

STOP KomutuBir programın uygulamasını tamamen durduran bir deyimdir.

Her FORTRAN Programında mutlaka bir STOP deyimi olmalıdır. Aynı program içerisinde birden fazla STOP deyimi kullanılabilir.

Genel Gösterimi: 1) STOP2) STOP K3) STOP “Mesaj”

M; en fazla 6 rakamlı bir tamsayı sabitini, “Mesaj”;herhangi bir alfabetik ifadeyi gösterir.

STOP deyimi programın uygulanacak son deyimidir. END deyiminden önce kullanılır.

Eğer STOP M komutu kullanılmış ise gecici olarak M saniye kadar durduktan sonra bir sonraki komuttan başlayarak uygulamaya devam eder.

Page 30: Format Deyimleri (Örnekler) Kontrol Komutları Bildiri Komutları Fonksiyonlar ve Alt Programlar

END Deyimi

Bu komut kaynak programın en son komutudur. Derleyiciye programın bittiğini bildirir. Her Programda mutlaka bir END deyimi olmalıdır ve programın en sonunda olmalıdır.