+ Konu Cevaplama Paneli
Gösterilen sonuçlar: 1 ile 1 ve 1

Konu: Fortran

  1. #1
    Ehil Üye zeet06 - ait Kullanıcı Resmi (Avatar)
    Üyelik tarihi
    Jul 2008
    Mesajlar
    1.023

    Lightbulb Fortran

    Fortran Programlama Dili

    Önsöz


    Fortranın Tarihçesi


    Fortrana Giriş


    Giriş Çıkış Deyimleri


    Kontrol Deyimleri


    Alt Programlar

    Yan Bellek(Kütük) Kullanımı



    Fortran
    Kitap Hakkında


    Bu kitap birden fazla insanın yazdığı dökümanların bir araya getirilmesi ile oluşturulmuş. Yazarlar ve yazdıkları dökümanlar aşağıda gösterilmektedir.
    • Fortranın Tarihçesi-Özlem Mollamehmetoglu, ozlemmolla80@hotmail.com
    • Fortran Diline Giriş-Harun Reşit Tekbaş,harunresit2001@hotmail.com
    • Giriş-Çıkış Deyimleri-Volkan Ertem,ertunch@hotmail.com
    • Kontrol Deyimleri-Oğuz Emeksiz,emeksiz@itu.edu.tr
    • Alt Programlar Bölümü-Kıvanç Türkeeş,turkees@itu.edu.tr
    • Yan Bellek Kullanımı-Kutay Tinç,fremkt@hotmail.com
    • Dosyalama-Özgür Üstüner,ozgurustuner@hotmail.com
    • Giriş-Çıkış Deyimleri-Volkan Ertem,ertunch@hotmail.com
    • Giriş-Çıkış Deyimleri-Volkan Ertem,ertunch@hotmail.com
    Fortranın Tarihçesi
    Programlam Dilleri


    Programlama dilleri iki ana bolumde toplanabilira)Makinaya yonelmis diller ya da makina dilleri,(b)probleme yonelmis diller ve bunlara iliskin programlama sistemleri.

    Makine Dili ile Kodlama

    Problem once,bilgisayarin ozellikleri ve mevcut komutlarla yapabilecegi islemler dizisi biciminde ifade edilir;sonra programci tarafindan bu, bilgisayarin makina dilinde yazilir.Elde edilen makina dilindeki program gerekli veri ile birlikte,bilgisayarca dogrudan dogruya icra edilebilir ve aranan sonuclar bulunur.Ancak makina dili ile programlamada bazi onemli guclukler ortaya cikar.Butun komutlarin makina dili ile kodlanmasi; komutlarin makina tarafindan icra olunacak sirada yazilmasi ve yanlislikla ya da baska bir nedenle bazi komutlar atlanmissa, bundan sonraki butun komutlarin araya eklenenler icin otelenmesi ve adreslemenin yenilenmesi zorunlulugu;butun lojik ve program duzenlemenin programci tarafindan yapilmasi;programcinin kullandigi bilgisayari cok iyi anlamis olma geregi bu gucluklere orneklerdir.

    Programala Sistemleri
    Programala sistemleri genel olarak bir dil ve bir birlestirici ya da derleyici programdan olusur.Programlama dili,programci tarafindan kolayca ogrenilebilecek ve yazilabilcek,bilgi islem sisteminin yapim ozellikleri ve yapilacak islemler arasinda uzlasma saglayabilecek bir bicimde olmalidir.Bu dilin,diger herhangi bir dildeki gibi, dilbilgisi,noktalama ve yazma kurallari olacagi aciktir.
    Bir bilgisayarda programlama sistemlerinin bulunmasi makina dilinde programlamanin gucluklerini onemli olcude azaltir.Birlestirici program ve derleyiciler,programlarin makina dili disinda probleme yonelmis bir dilde hazirlanabilmesi olanagini saglar.Programlama dilinde makina diline ceviriyi,birlestirici ya da derleyici araciligi ile,bilgisayarin kendisi yapar. Programlama sisteminin dili makinaya ya da programa yonelmis olabilir.
    Sembolik Programalama Sistemleri
    Sembolik programlama sistemleri,programciyi makina dili ile kodlamanin gucluklerinden buyuk olcude kurtarir;fakat belli bir bilgisayara gore hazirlandiklarindan ve sistemin programlama dilinin kismen makinaya yonelik olmasindan dolayi makina dili duzeyinde calisan ,ogrenilmeleri oldukca uzun suren sistemlerdir ve her bilgisayar icin farklidir,diger bir deyisle makinaya baglidir;her bilgisayarda ayni dil kullanilamaz.

    Probleme Yonelmis Diller ve Derleyiciler
    FORTRAN,COBOL,ALGOL, vb. bu tur programalama sistemlerine bazi orneklerdir.Bu tur programlama sistemleri ile calismada,temel programin derleyici program araciligi ile bilgisayarca,belli kurallara uyarak makima dili programina cevrilmesine derleme denir.Derleme sirasinda rastlanan dil kurallarina aykiri olan hatalar ozel hata mesajlari ile bilgisayarca programciya bildirilir.

    Probleme yonelmis dillerin en onemlilerinden biri,bilimsel ve muhendislik arastirma ve uygulamalari icin gelistirilen ve en yaygin olarak kullanilan FORTRAN dilidir.FORTRAN adi,formul cevirisi anlamindaki, ingilizce "FORmula TRANslation" kelimelerinin ilk hecelerinden olusur.FORTRAN dili sayisal hesapla ilgili herhangi bir problemin kolaylikla ifade edilebilmesini saglayacak bicimde dusunulmustur.Komutlar ya da deyimler herhangi bir gucluk olmaksizin anlasilabilir ve yorumlanabilir.Bazi deyimler problemin matematiksel bagintilarina cok benzer. FORTRAN programlama sistemi 1954 yilinda J.W Backus tarafindan onerilmis ve ilk kez 1957 yili baslarinda IBM 704 Bilgi Islem Sisteminde kullanilmistir.1960 yilinda BURROUGHS kendi bilgisayarlari icin bir FORTRAN derleyicisi hazirlamistir.Gunumuze kadar cesitli FORTRAN programlama sistemleri gelistirilmis ve kullanilmistir.FORTRANII,FORTRANII-D,FORTRANIV bunlarin en onemlilerine orneklerdir.Genel olarak,bir sonraki islemin bir oncekine gore daha gelismis oldugu ve programlamada daha genis olanaklar sagladigi soylenebilir.

    FORTRANA GİRİŞ

    Program bir komutlar ( deyimler ) dizisidir ve erhangi bir problemin çözümü için kullanılan hesap düzeninitanımıdır . Çözümde bir bilgisayardan yararlanılacaksa , programın bilgisayar özellikerine uygun ibr programlama dili ile yazılması gerekir . Bilgisayar , programdaki komutları aksi belirtilmedikçe , yazıldığı sırada yerine getirir . Gereğinde program bir komutlar kümesinin belli düzende tekrarlanmasını yada duruma göre belirlidallanmaları sağlayacak özel komutlarda içerebilir ; böylece programı kısaltmak mümkün olur . FORTRAN programlama dili oldukça basittir ve normal matematik diline çok yakındır. FPRTRAN sistemi , FORTRAN dili ve FORTRAN derleyicisinden oluşur .
    Sayılar
    Bİlimsel , mühendislik araştırmaları ve uygulamada yapılan hesapların çoğunda değişik büyüklükte sayılarla çalışılır . Güvenilir sonuçlar elde edilmesi için bu hesaplarda mümkün olduğu kadar çok anlamlı rakamı olan sayılarla çalışılması gerekir.
    Sabit kelime uzunluklu ve değişken kelime uzunluklu bilgisayarda bir sayının gösterilmesi için bellekte sabit sayıda pozisyon ayrılır . Bu sabit pozisyon sayısına incelik ( prezisyon ) denir.
    Sayılar ikiye ayrılır : tam sayılar , gerçel sayılar .
    Tam sayılar desimal noktası olmayan sayılardır . Bunlarn büyüklük sınırlarıbilgisayar özelliklerine bağlıdır.
    Gerçel sayılar desimal noktalı ondalık sayılardır . Gerçel sayıların bilgisayar belleğinde saklanmasından önce bilgisayarca sayı düzenlenir . Diğer bir deyişle desimal nokta sayının sıfırdan farklı en önemli rakamın soluna kaydırılır ve gerekli düzeltme 10 un üsleri şeklinde sayının yanına yazılır . Düzenlenmiş sayının kesirli kısmımantis , desimal noktanın kaydırıldığı hane sayısına üs denir . Gerçel sayıların büyüklük sınırları da bilgisayar özelliklerine bağlıdır.
    Fortran Aritmetiği

    Bilgisayarla yapılan hesaplarda işleme giren büyüklüklerin tamsayı yada gerçel sayı olması , işlemlerin yapılışı ve sonuçlar yönünden büyük farklılıklar gösterir .
    Tamsayı aritmetiği , tamsayılarla yapılan işlemler anlamındadır ; her işlemin sonucu da tamsayı olacak biçimde kesilir , yuvarlatma yapılmaz . Kesme işlemi öncelik sırasına göre yapılan bütün işlemler için söz konusudur . Bu nedenle bu tür aritmetik işlemlerin yapılış sırası ve parantezler çok önemlidir . Tamsayılar programlarda eleman numarası , indis, vb. amaçlar için kullanılır . Aritmetik işlemler çoğunlukla gerçel sayılarla yapıldığından tamsayı artimetiğinin bu özelliği bir sakınca değildir.
    Gerçel sayı aritmetiği , gerçel sayılarla yapılan işlemler anlamındadır . Burada kesirler prezisyon hanesi kadar rakamla gösterilir ; diğer hanerler bilgisayar özellikerline göre ya kesilir , ya da yuvarlatılır . Kesme hataları ve diğer sayısal hesap yöntemleri konusudur.

    Fortran Alfabesi
    FORTRAN alfabesi 10 nümerik , 26 alfabetik ve 13 özel karakterden oluşur .
    KARAKTERLER SİMGE / ANLAM
    Nümerik 0 1 2 3 4 5 6 7 8 9
    Alfabetik A B C D E F G H I J K L M N O P R S T U V W Y Z
    Özel boşluk boşluk bırakma
    = yerine koyma
    + artı
    - eksi
    * çarpı
    / bölü
    ( aç parantez
    ) kapa parantez
    . nokta
    , virgül
    ' apatrof
    " tırnak
    & ve işareti

    Fortran deyimleri
    Bir FORTRAN temel programı bir takım deyimlerden oluşur . Deyimle programın hesap düzeni ile ilgili olarak , bilgisayara bilgi verilmesini , işlemlerin yapılmasını ve icrasını , gerekli kararların verilmesini , sonuçların dış ortama alınmasını sağlar
    Deyimerle bağlantı kurabilmek için , deyimler numaralanabilir . İcra sırası yönünden deyim numaralarının sırasının bir önemi yoktur . Deyi numaraları sadece hesap düzeninin gereği olarak bu deyimlerle dallanabilme olanağı sağlar ; iki deyime aynı numara verilemez .
    Fortran İsimleri
    Fortran dilinde dilinde indissiz ve indisli değişkenlere , FORTRAN arşiv fonksiyonların , aritmetik deyim fonksiyonlarına , FUNCTİON altprogramlama isimle verilir
    FORTRAN isimerl birincisi nümerik olmayan 1 - 6 alfabetik ya da nümerik karakterden oluşur ; özelkarakterler kullanılamaz . Aynı isim birkaç elemana verilemez . Komutlar için ayrılan özel kelimeler FORTRAN özel ismi olarak kullanılamaz

    DEYİMLER VE SAYISI GÖREVİ ADLARI
    Aritmetik deyimler yapılacak işlemleri denetler değişken = ifade
    Giriş Çıkış deyimleri Dış ortamla bilgisayararasında bilgi alışverişi sağlar

    READ
    WRITE
    FIND
    FORMAT
    REWİND
    BACKSPACE
    ENDFILE
    REDREAD
    NAMELIST


    Yönetim deyimleri Programdaki deyimlerin icra sırasını yönetir
    Şartsız GO
    Hesaplanmış GO TO
    Atanmış GO TO
    Aritmetik IF
    Mantıksal IF
    DO
    CONTINUE
    pause
    STOP
    END


    Bildiri deyimleri Derleyiciye bilgi verir DIMMENSION
    COMMON
    EQUIVALANCE
    IMPLICIT
    Tip deyimi
    EXTERNAL
    DATA


    Altprogram deyimleri Alt programları tanımlamaya ve kullanmaya yarar

    FUNCTİON
    SUBROUTİNE
    CALL
    RETURN
    ENTRY
    EXTERNAL
    BLOCK DATA


    Giriş Çıkış Deyimleri
    Giriş çıkış deyşmleri bilgisayarlarla dış ortam arasındaki bilgi alışverişini ve çevre bellekte bilgi saklanması yaada çevre bellekten bilgi alınması olnağını sağlar giriş çıkış ünitesini ve ortamını , bilginin giriş ortamında yerleşme ve çıkış ortamında yerleştirilme biçimini , bellekte bilgi alışverişi yapacak data alanlarını belirtir . Giriş çıkş deyimleriile ilgili yardımcı deyiler şunlardır :

    • READ deyimi
    • WRITE deyimi
    • FORMAT deyimi
    • REWİND deyimi
    • BACKSPACE deyimi
    • ENDFILE deyimi
    • REDREAD deyimi
    • NAMELIST deyimi
    Bu deyimler aşağıda sırasıyla incelenecektir
    READ deyimi
    READ deyim dış ortamdan ve çevre belleklerden bilgisayara bilgi aktarılması olnağını sağlar . Bu deyim bilgisayara bağlı giriş ünitesinden bilgi okunması durumunda
    READ ( i, n, l,) liste
    ve doğrudan ( rastgele ) erişimli disk kütüğünden bilgi okunması durumunda ise
    READ ( i = r, n, l) liste
    genel biçiminde yazılır . i, r, n, l, ve liste simgelreinin anlamlarısırası ile şöyledir :
    i giriş çıkış ünitesinumarasını belirten bir tam say sabit , yada kütük belrtici birtamsayı sabit yada tamsatı değişkendir . B3700 sisteminde , i = 1,2...7 değerleri için giriş çıkış ortamı şu üniteleri gösterir

    i ÜNİTE
    1- Magnetik şerit ünitesi 1
    2- Magnetik şerit ünitesi 2
    2- Magnetik şerit ünitesi 2
    2- Magnetik şerit ünitesi 2
    5- Kart okuyucusu
    6- Baskı makinası
    7- Kart delici
    r bir doğrudan erişimli tutanak ( random record ) numarasıdır . Bir işaretsiz tamsayı değişken ya da pozitif tamsayı ifade olabilir " = " yerine " ' " işareti kullanılabilir
    n veri tipini ve dış ortamda yerleşme biçimini belirten iligili FORMAT deyimimin numarasıdır . Gİriş değiişken uzunluklu bir şerit kütüğünden ya da birdisk kütüğünden olursa n yazılmayabilir . bu durumda giriş blgilerinin okunacağı şerit yada disk kütüğü bir formatsız çıkış deyimi ile oluşturulmuş buşşunmalıdır . formatsız READ deyimi , girişin bir sıralı disk kütüğünden olması durumunda
    READ ( i, l) liste
    ve girişin bir doğrudan ( rastgele ) erişimli disk kütüğünden olması durumunda ise
    READ ( i = r, L) liste
    şeklinde yazılır. B3700 sisteminde doğrudan erşimli disk kütüğünden veri okuma durumunda bir FILE kartı kullanılmalıdır . l giriş çıkışsırasında uygunluk hatası ( parity error ), yada kütük sonu ( End-of-Fıle )durumu ile karşılaşırsa yapılacak eylemi ve dallanılacak değimi belirtir ;n1 , n2 deyim numaraları olmak üzere
    ERR = n1
    END = n2
    ERR = n1 , END = n2
    END =n2 , ERR =n1


    biçimlerinde yazılır . Veri okuma sırasında , sistemin bulup düzeltemediği bir uygunluk hatası ortaya çıkarsa kontrol n1 numaralı deyime ; kütük sonu durumu ile karşılaşırsa kontrol n2 numaralı deyime dallanır . Kütük sonu durumu ile , ( a ) 1. kolonda bir geçersiz karakter bulunan bir kart okuma ; ( b ) şerit yada diskte yazılı son kayıttan daha ötesini okuma çabası ; ( c ) diskin yazılı olmıyan alanından bir kayıt okuma sırasında sırasındakarşılaşılır . READ deyiminin yazılışında l kısmı bulunmayabilir . Bu durumda deyim
    READ ( i, n,) liste
    yada
    READ ( i = r, n,) liste

    biçiminde yazılır . Bu deyimlerin icrası uygunluk hatası ve kütün sonu durumları ile karşılaşıldığında icra durur.
    Liste indissiz yada indisli değşken ve dizi isimlerinden oluşur bunlar
    d1, d2, ... , dn
    şeklinde araları virgülle ayrılmış olarak sıra ile yazılır . Listedekideğişkenlere dış ortamdan okunan değerler atanır. Bu nedenle listedeki değişkenlerle dış ortamdan okunan değerler sıra , sayı ve mod bakımından uyuşmalıdır . Listedeki dizi imi indissiz yazılmışsa , bu dizinin tümü kolon düzeninde okunur .
    WRİTE deyimiWRITE deyimi bilgisayar belleğinden dış ortama ve yardımcı bellek ünitelerine bilgi aktarma olanağı sağlar . Bu deyim bilgisaya bağlı bir çıkış aygıtından bilgi alınması durumunda
    WRITE ( i, n, liste )genel biçiminde yazılır . Deyiminyazılışında n bulunöayabilir Formatsız Write deyimi , bir şerit ya da sıralı disk kütüğü çıkışında
    WRITE ( i) liste
    ve doğrudan ( rastgele ) erişimli disk kütüğü çıkışında ise
    WRITE ( i = r) liste biçiminde yazılır . Buradaki i , r , n ve liste simgelerinin anlamlar ve özellikleri READ deyiminde ayrıntıları ile açıklandığı gibidir .
    FORMAT deyimiFormat deyimi bilgisayara bilgi giriş çıkışlarında data özelliklerini , yani verinin ne tipte ve ve ne uzunlukta olduğunu belirtir . Bir yadadaha çok giriş çıkış deyimi ilr ilişkili olan bu deyim
    n FORMAT ( f1 , f1 , ..f1) şeklinde yazılır . Buradan n giriş çıkış deyimlerinde belirtilen deyim numarası ve f1 , f2, .. , fn ise FORMAT deyimin bağlı olduğu giriş çıkış listesindeki değişkenlerin değerlerinin hangi formda dönüştürüleceğini gösteren alan bildirileridirler . Alan bildirileri ve giriş çıkış listesindeki değişkenle sayı , sıra ve mod bakımından uyuşmalıdırlar .
    Format deyimi icra edilemez türde bir deyimdir ; fonksiyonu amaç programda bilgiiletimini istenen düzeydegerçekleştirmekti . Bu nedenle Temel Programın içinde herhangi bir yerdebulunabilir ; yalnız DO çevrimi kapsamının son deyimi olamaz .
    FORMAT deyimindeki alan bildrilerinin gösterdiği karakterlerin toplamı , bir satır için en çok bir kayıt birimi kadar olabilir . Kayıt birimi IBM kartı için 80 , daktilo kağıt şerit için 87 , B9247 baskı makinası için ise 132 karakter olarak sınırlandırılmıştır .
    Çeşitli alan bildirilerinin yazılışları , giriş ve çıkış için kullanıldıklarındda dönğştürme özellikleri ve FORMAT deyimine ilişkin ayrıntılar aşağıda açıklanacaktır .
    I tipi alan bildirisiTamsayı büyüklüklerin giriş çıkışında kullanılır ; W alan uzunluğunu göstermek üzere
    Iwşeklinde yazılır
    GİRİŞ . Veri tamsayı sabit olmalıdır ve sayı ala içinde sağdan hizalanmalıdır . Sayının işateti de w içindedir . Tamsayı büyüklüğü alan uzunluğunu aşmamalıdır .
    ÇIKIŞ . Çıkış listesindeki bu alan bildirisine ilişkin tamsayı değişkeninin değeri , dış ortamda belirtilen kayıt ortamındaki alan içine sağdan hizalanarak yazılır . Artı işareti basılmaz , eksi işareti ise basılır . Tamsayı büyüklüğünün değeri ( işareti ile birlikte ) w den büyük bir sayı ise basılmaz , alan * işareti ile doldurulur .
    F tipi alan bildirisi
    Gerçel sayıların giriş çıkışı için kullanılır . w alan uzunluğu , d sağdan itibaren desimal noktanın yerini göstermek üzere
    Fw.dşeklinde yazılır . w alan uzunluğu seçilirken işaret ve desimal nokta için de birer yer düşünülmelidir ;bu nedenle w >= d + 2 olmalıdır .
    Giriş . veri gerçelsayı olmalı ve sayı alan içinde sağdan hizalanmalıdır . Alan bildirisinde desimalsayını yeri belirtildiğinden , verilerde desimal nokta yazılmayabilir . Verideki desimal noktanın yeri alan bildirisinde gösterilene göre önceliklidir . Buna göre F10.0 alan bildirisi , herhangi bir üssüz gerçel sayının bilgisayara aktarılması olanağını sağlar .
    E tipi alan bildirisi
    Üslü gerçel sayıların giriş çıkışı için kullanılır :
    Ew.dşeklinde yazılır . w alan uzunluğunu , d bu alanda E den itibaren desimal noktanın yerini belirtir
    GİRİŞ . Alan içinde desimal noktanın yeri bildirildiğinden veride desimal nokta yazılmayabilir . Verideki desimal noktanın yeri alan bildirisinde gösterilene göre önceliklidir . Buna göre E10.0 alan bildirisi , herhangi bir üslü gerçel sayının bilgisayara aktarılabilmesi olanağını sağlar . Üslü gösterim durumunda verinin alan içinde sağdan hizalanması gerekir .
    ÇIKIŞ . Dış ortamda w sayıda yer ayrılır ; bunun içinde işaretve desimal nokta için birere yer ve üs için dört yer olmak üzere toplam 6 yer vardır . w - d >= 6 olmalıdır ; bu kurala uyulmazsa çıkış alanı * işaretleri ile doldurulur . Gerçel sqayı prezisyonu f olduğuna göre , dıl ortamda işaret ( pozitif ise basılmaz ) , desimal nokta ve üssü belirtmek için gerekli 6 karakterden başka , f > ( w - 6 ) ise f anlamlı hane , f >= ( w - 6 ) ise ( w - 6 ) anlamlı hane görünecektir . Alan bildirisinde bir n ölçek katsayısı kullanıldığında , bu sayı ile ile üs kısmı arasında bir desimal düzenleme yapma olanağı verir . n <= 0 ise , desimal noktanın solunda n anlamlı basamak konulur , bunu desimal noktanın solundaki ( d - n + 1 ) anlamlı basamak izler . Her iki durumdada üs uygun biçimde ayarlanır .
    D tipi alan bildirisi
    Çift incelikli gerçelsayılarıngirişçıkışında kullanılır :
    Dw.dŞeklinde yazılır . w alan uzunluğunu , d ise desimal noktanın yerini gösterir .
    GİRİŞ . Çift incelikli gerçel sayı üslüyazılmışsa üs D harfi ile gösterilir . Giriş verisinin yazılış biçimine göre Fw.d ya da Ew.d dönüştürmeleri gibi çalışır
    ÇIKIŞ . Çift incelikli sayıların dış ortama aktarılmasında kullanılmasının ve üssünD simgesi ile gösterilmesisin dışında Ew.d dönüştürülmesi gibiçalışır
    L tipi alan bildirisi
    Mantıksal büyüklüklerin giriş çıkışında kullanlır :
    Lwşeklinde yazılır w alan uzunluğunu gösterir
    GİRİŞ . w alan uzunluğu >= 1 olmalıdır ; başta boşluklar olabilir . Giriş alanındaki ilk karakter TRUE ( doğru ) için T ve FALSE ( yanlış ) için F olmalıdır . Bunları izleyen karakter göz önüne alınmaz . Giriş ALanında T ya da F yoksa bu bilgisayar belleğine FALSE olarak aktarılır .
    G tipi alan bildirisi
    Tamsayı , gerçel çift incelikli , kompleks ve mantıksalbüyüklüklerin giriş çıkışında kullanılabilecek bir genel alan bildirisidir :
    GW.dşeklinde yazılır . w alan uzunluğunu d desimal noktanın yerini belirler .
    GİRİŞ . Giriş verisiI ya da L tipinde ise , Gw.dalan bildirisi Iw ya da Lw olarak çalışır .d kısmı göz önüne alınmaz ; F , E ya da D tipinde ise Fw.d , Ew.d ya da Dw.d biçiminde çalışır . Giriş değişkeni kompleks ise gerçek ve sanal kısımlar için iki ayarı G alan bildirisi gereklidir
    ÇIKIŞ . I yada L tipi büyüklerin çıkışında Iw olarak çalışır gerçel sayılar durumunda çıkış biçimi sayıların büyüklüğüne bağlı olarak aşağıdaki gibi çalışır
    Değişkenin büyüklüğü Eşdeğer dönüştürme
    0,1 <= n < 1 F( w -4).d , 4X
    1 <= n < 10 F( w -4).d , 4X
    ... ...
    ... ...
    ... ...
    10( d - 2 ) <= n < 10( d - 1 ) F( w -4).1 , 4X
    10( d - 1 ) <= n < 10( d ) F( w -4).0 , 4X
    diğer Ew.d
    Çıkış değişkeni kompleks türdeise , gerçek ve sanal kısımlar için iki ayrı G alan bildirisi gereklidir.
    Gerçel ve çift incelikli büyüklüklerin çıkışında w alan uzunluğu , üs desimal nokta ve işaret ( negatif ise ) için gerekli yerleri içermelidir . ( w - d ) >= 6 şartı sağlanmazsa , çıkış ortamı * işaretleri ile doldurulur .
    Z tipi alan bildirisi
    Hekzadesimal büyüklüklerin giriş çıkışı için kullanılır :
    Zwşeklinde yazılır . w alan uzunluğunu belirtir GİRİŞ . Veri hekzadesimal sabit olmalıdır . Giriş alanındaki boşluklar sıfır olarak yorumlanır . Veri sağdan hizalanmış olmalıdır . Giriş verisi uzunluğu >w ise fazla haneler kesilerek soldan kesilerek bilgi belleğe aktarılır .
    ÇIKIŞ . Hekzadesimal değer çıkışortamına sağdan hizalanmış yazılır ; kalan yerler varsa boş bırakılır . Değişkenin uzunluğu > w ise fazla haneler soldan kesilerek yazılır
    A tipi alan bildirisi
    Alfanümerik büyüklüklerin giriş .çkışı için kullanılır :
    Awşeklinde yazılır .w alan uzunluğunu gösterir .
    GİRİŞ . Alfanumerik bilgi bellekte karakter formunda saklanır ; bu nedenle hesaplamalarda kullanılamaz . Bilgi giriş alanında sağdan hizalanmış olmalıdır . w < b ise , alfanümerik büyüklük soldan hizalanmış olarak bellekte değişken olarak saklanır ; b - w boş yer kalır .
    ÇIKIŞ . Alfanümerik bilgi çıkış ortamından sağdan hizalanarak yazılır . w > b değişken uzunluğu ( byte cinsinden ) ise , alfanümerik karakter dizisi çıkış ortamına soldan hizalanarak konulur ve sağdan b - w karakter kesilir .
    H tipi çıkış bildirisi
    Bir karakter dizisini giriş çıkışı için kullanılır :
    wHsşeklinde yazılır . w alan uzunluğunu , s karakter kümesini gösterir . Aynı işlem karakter dizisinin alan uzunluğunu belirtmeden 's' "s" şeklinde yazarak da gerçekleştrilebilir .
    GİRİŞ . w sayıda karakter yerine s karakter kümesi geçer ; boşluk karakterleri de bunun içindedir .
    ÇIKIŞ . Bildiriden sonra gelen w sayıda karakter , ya da bir giriş işlemi sonucu onun yerine geçirilmiş karakterler dış ortamda görünür .
    X tipi alan bildirisi
    Giriş çıkışta boşlukları göstermek için kullanılır :
    wXşeklinde yazılır . w alan uzunluğunu gösterir . Girişte w karakterlik yerin atlanmasını , çıkışta ise w sayıda karakterlik boşluk bırakılmasını sağlanır .
    T tipi alan bildirisi
    Giriş çııl listelerindeki verilerin ilk karakterlerinin bulunduğğu yeri belirlemekte kullanılır , n bu yeri göstermek üzere :
    Tnşeklinde yazılır . Baskı makinası ile çıkışta kullanıldığında veri gerçekte ( n - 1 ) karakter konumundan başlar ; çünkü kayıdın ilk karakteri şaryo kontrolü için kullanılır .
    Ölçek katsayısı
    F , E ve D tipi alan bildirileri ile birlikte , giriş çıkışta sayıları düzenlemekte kullanılır . Örneğin F tipi alan bildirisi ile , n ölçek katsayısı olduğuna göre ,
    nPFW.dşeklinde yazılır . Bu yazılım çıkışta kullanılmışsa
    dış ortamdaki sayı = bellekteki değeri X 10n

    olur . Ölçek katsayısı pozitif ya da negatif olabilir . Düşünce geneldir ; giriş ve çıkışta geçerlidir . Ancak çoğunlukla çıkışta kullanılır .
    Ölçek katsayısı E tipi alan bildirisi ile kullanılırsa , girişte herhangi bir etkisi olmaz ; çıkışta mantis^n ile çarpılır , üs n kadar azaltılır
    Alan bildirilerinin ve grupların tekrarı
    Herhangi bir kayıt içindde n sayıda alanı aynı tipte yazmak için ilgilialan bildirisinin önüne n sayısına yazmak gerekir . n işaretsiz bir tamsayıdır . Eğer bir ölçek katsayısıda kullanılıyorsa , bu tekrar sayısınında önünde bulunur .
    Alan bildiri gruplarının tekrarı ise bunu parantezler içine alarak önüne n tekrar sayısı yazmaklar sağlanır. Grup tekrar sayısı belirtilmemişse bu grup giriş çıkış lises bitinceye kadar tekrarlanır . Parantezler içine alarak gruplama dokuz düzeyde olabilir
    alan tekrarı durumunun dışında FORMAT deyimi soldan sağa doğru yorumlanır . Giriş çıkış listesi bitmeden FORMAT deyiminin en sağındaki paranteze gelinmişse , diğer bir deyişle FORMAT deyimi bitmişse , denetim en son rastlana sol paranteze geri döner ; giriş çıkış listesi tamamlanıncaya kadar bu işlem tekrarlanır . Giriş çıkış listesi bitmesine rağmen FORMAT deyiminin en sağ parantezine , sonuna gelinmemiş olsa bile giriş çıkış deyiminin icrası tamamlanmış olur .
    Çok kayıtlı alan bildirileri
    FORMAT deyimi içindeki bir / işareti bir kayıtın bitip ikinci bir kayıta geçildiğini gösterir . Girişte / işaretinsen sonraki karakterler göz önüne alınmaz . Çıkışta ise / işaretine rastlandığında kayıt bitirilir ve kalan çıkışbilgileri bir sonraki kayıta konulur . Girişte kayıt atlamak veçıkışta boş satır bırakmak için ardışık / işaretleri kullanılabilir . Genel olarak n+1 sayıdaki / işareti n sayıda boş satır bırakılmasını sağlar
    İcra zamanında verilen format deyimi
    Herhangi bir formatlı giriş çıkış deyiminde numarası bulunan ilgili format deyimi A tipi alan bildirisi ile yazılır ; böylece alan bildirilerini icra zamanında veri gibi okuma mümkün olur .
    FIND Deyimi
    Bu deyim
    FIND ( F = r )şeklinde yazılır . Okuma zamanından önce bir tutanağın yüklenmesini sağlar . Tutanak tampon bellekte ( buffer ) değilse , Kullanılabilecek bir tampon bellek varsa , tutanağı içeren blokta okuma başlatılır ; yoksa FIND gözönüne alınmaz . Bir READ deyimi icra edildiğinde , okunacak bir tutanak olup olmadığını anlamak için tampon bellek kontrol edilir ; tutanak yoksa tutanağı içeren bloktaki READ başlatılır .
    REWİND deyimi Şerit ya da disk kütüphanelerinde kullanılan bir deyimdir;
    REWINDşeklinde yazılır . Bu deyimin icrası ikütüğünün başlangıç konumuna getirilmesini sağlar . i kütüğünün son referansı bir WRİTE deyimi ise , başlangıç konumuna dönülmeden önce , kütük kapatılır . REWIND deyimi şerit ya da disk kütüklerinden başka yerde tanımsızdır .
    BACKSPACE Deyimi
    i kütüğünden gösterge m kaydında bulunuyorsa BACKSPACE deyiminin icrası kütük göstergesinin bir önceki ( m - 1 ) . kayıda gelmesini sağlar . Bu deyim
    BACKSPACE işeklinde yazılır ; yalnız magnetik şerit . disk yada kağıt şerit giriş kütükleri için tanımlanmıştır . i kütüğü başlangıç konumunda ise , bu deyimin icrasının hiçbir etkisi olmaz .
    ENDFILE Deyimi
    Bu deyim kütüğün kapatılmasını sağlar ve
    ENDFILE i
    genel biçiminde yazılır . Yalnız şerit kütükleri için tanımlanmıştır . Bir i kütüğünde WRITE deyimini izleyen bir ENDFILE deyimi varsa , bir kütük sonu ( END - OF - FILE ) kayıdı yazılır ve şerit bir sonra yazılacak kayıt , kütük sonu kaydını izleyecek biçimde konumlandırılır . i kütüğünde ENDFILE deyimi bir READ deyimini izlaerse , bitiş etiketlerine rastlanmışsa , şerit bir sonraki kütük başlangıcına konumlandırılır ; bitiş etiketine raslanmamışsa geri sarılır .
    Kapatılmış bir kütükte BACKSPACE , ENDFILE , REWIND deyilerinden birinin icrası ile karşılaşırsa , bu deyim göz önüne alınmaz .
    REREAD Deyimi
    Bu deyim herhangi bir kürükte okunan en son kayıda yeniden erişilmesini sağlar ;
    REREAD
    genel biçiminde yazılır . İcra edilecek bir sonraki READ deyimi ile ilişkilidir ; son kayıdın kütükten okunmasını sağlar . REREAD deyiminden önce gelmelidir .
    NAMELIST Deyimi
    NAMELIST deyimi değişken yada diziisimlarikümesinin bir tek isimle belirlenmesini ve giriş çıkışta READ ya da WRTİTE deyimi listesine gerek kalmaksızın giriş çıkış yapılabilmesini sağlar . Bu deyim
    NAMELIST / ad /i1 ,i2..../ ad2/in
    genel şeklinde yazılır . Burada her ad bir isim listeris tanıtıcısı , her i bri değişken ve dizi isimlerinden oluşan bir listedir . Bir değişken ya da dizi ismi , birden çok adi ile ilişkili oalbilir .
    GİRİŞ . NAMELİST deyimini izleyen bir READ deyimiyazarak sağlanır . Veri kütüğünün her kayıtının ilk karakteri göz önüne alınmaz ; ilk kayıtın ikinci karakteri ise & işareti olmalıdır . READ deyimini izleyen tanıtıcı ad , & işaretinden sonra gelir . Veri kütüğünde ikinci bir & işaretine rastlandığında ( bunu bir end deyimi izler ) okuma durur .
    ÇIKIŞ. f yerine daha önce bildirilmiş bir NAMELIST adı bulunan bir formatlı çıkış deyimi icra ederek çıkış yapılır . Çıkışta liste belirtilmez .
    KONTROL DEYiMLERİ
    *CALL DEYIMI• Kontrolu bir subroutine altprogramina aktarir,
    • Gerçek argümanlarin ifadelerini degerlendirir,
    • Gerçek argümanlarla yapay argümanlari belirler.
    Genel formati:
    CALL ad [([arg1[,arg2][,arg3]....])]
    Burada ad,bir subroutine altprograminin veya bir ENTRY(giris) noktasinin adidir.Bu ad,FUNCTION,SUBROUTINE ve ENTRY deyimindeki yapma bir argümanin adi olabilir.arg, subroutine altprogrami tarafindan istenen gerçek bir argümanin adidir.Bu argüman bir degisken,bir sabite,dizi elemani,dizi adi,aritmetik,lojik veya karakter ifade olabilir.Ayrica bir FUNCTION, SUBROUTINE adi olabilir veya CALL deyiminin bulundugu program biriminde bulunan ifa edilebilir bir deyimin deyim numarasinin basina (* ) gelerek bir argüman olusturulabilir. Eger gerçek argüman yoksa parantez kullanilmaz.CALL deyimi kontrolu subroutine altprogramina aktarir ve CALL deyiminde bulunan gerçek argümanlarin degerleri yerine yapay degiskenleri getirir.
    *CONTINUE DEYIMI
    Continue deyimi ifa edilebilir bir kontrol deyimidir,fakat ifanin sirasina etki etmez.Bu deyim DO döngüsünün sonunu belirlemek amaciyla veya programda bir etiket görevi için kullanilir. Genel formati:
    CONTINUE
    Continue deyimi ifanin sirasina etki etmediginden kaynak programin herhangi bir yerinde kullanilabilir. Genellikle DO döngüsünün son deyimi,kosulsuz veya assign'e bagli GO TO,blok IF, ELSE IF, ELSE , END IF, STOP, RETURN , END, aritmetik IF,baska bir DO deyimi veya lojik IF deyimi olamaz.Bundan kaçinmak için CONTINUE deyimi kullanilir.
    Örnek:Asagidaki program parçasindaki ilk CONTINUE deyimi etiket amaciyla ,ikinci CONTINUE deyimi ise DO döngüsünün sonunu belirtmek için kullanilmistir
    IF (A-B)15,20,15
    15 X=A+B**2
    20 CONTINUE
    .
    .
    DO 40 I=1,K
    KN(I)=X+I
    40 CONTINUE
    .
    .
    *DO DEYIMI

    DO deyimi kendisinden sonra gelen ve belirlenen bir deyime kadar olan tüm deyimleri tekrar tekrar ifa edilmesini saglar.Bu deyimler <<DO döngüsü>>olarak adlandirilir. Genel formati:
    Araligin sonu DO degiskeni Baslangiç degeri Son deger Artis
    DO d1[,]i=m1,m2 [,m3]
    Burada d1,DO deyiminin bulundugu programda ve DO deyiminden sonra gelen ifa edilebilen bir deyimin numarasidir.d1'den sonra gelen virgül seçimliktir.i, DO degiskeni olarak adlandirilan bu degisken ,bir tamsayi,gerçel veya çift duyarlikli bir degiskendir(dizi elemani olamaz) m1,m2,m3 bir tamsayi,gerçel veya çift duyarlikli aritmetik ifadedir.m1 ,m2 ve m3 ifadelerinin degerleri ,eger gerekirse ,DO degiskeni i'nin tipine dönüstürülür. m3 seçimliktir ve hiçbir zaman sifir olamaz.Eger m3 belirtilmezse degeri 1 olarak alinir ve m3'den sonra virgül konmaz.
    Asagidaki kurallarin geçerli olmasi halinde DO döngüsü içindeki deyimler ifa edilir
    • m1,m2'den küçük veya esit ve m3 sifirdan büyükse
    • m1,m2'den büyük veya esit ve m3 sifirdan küçükse
    Eger m1,m2 ve m3 arasindaki iliskilerden biri dogruysa ,ilk önce DO döngüsü içindeki ilk deyim ifa edilir.Bu anda i'nin baslangiç degeri m1' dir.Her bir ardisik iterasyonda i'nin degeri m3 kadar artirilir.Iterasyon sayisi MAX(INT((m2-m1+m3)/m3),0) oluncaya kadar döngü devam eder.
    DO 5 IX=1,12,4
    deyimi ile döngü
    m2-m1+m3)/m3=(12-1+4)/4=15/4=3,75
    INT(3,75)=3
    MAX(3,0)=3
    kez tekrarlanir.
    Eger ilk anda i'nin degeri m2'yi geçerse iterasyon durur ve kontrol d1'den sonraki deyime geçer.DO'nun tamamlanmasindan sonra DO degiskeni i'nin son degeri m2'yi geçer.
    Eger (a) ve (b)'deki iliskilerden biri dogru degilse kontrol dogrudan d1'den sonraki deyime geçer.
    DO degiskeni DO döngüsü içinde yeniden tanimlanamaz.Bununla birlikte , m1,m2 veya m3'ün DO döngüsü içindeki degerleri ,iterasyon sayisini degistirmeksizin yeniden tanimlanabilir.
    Dogru DO deyimleri
    DO 50,INT=1,5,2

    DO 60X=BAS,BIT,ART

    DO 3,A=20,3,-3
    DATA deyiminde üstü kapali belirtilen DO:
    Bir data deyimindeki üstü kapali belirtilen DO listesinin genel formati:
    (dliste,i=m1,m2[,m3])
    Burada dliste, dizi eleman adlarinin ve üstü kapali belirtilen DO'larin listesidir.i,bir tamsayi degisken adi olup üstü kapali belirtilen DO degiskeni olarak adlandirilir. m1,m2 ve m3 degerlerinin herbiri bir tamsayi sabite veya bir tamsayi sabitenin adidir.Ayrica tamsayi sabite adlari veya tamsayi sabitelerden olusan bir ifade olabilir. m3 seçimliktir,eger kullanilmazsa 1 olarak kabul edilir ve m3'den önceki virgül kullanilmaz.
    Üstü kapali belirtilen DO döngüsünün tamamlanmasindan sonra DO degiskeni tanimsizdur ve bir DATA deyiminde ,atama deyiminde veya READ deyiminde degeri belirtilinceye kadar kullanilmaz.
    Örnek:15 boyutlu bir matrisin olusturulmasi
    DIMENSION A(15,15)

    DATA ((A(I,J),J=1,15), I=1,15)/225*0./

    DATA (A(I,I),I=1,15)/15*1./
    Bir Giris Çikis deyimindeki üstü kapali belirtilen DO:
    Bir giris çikis deyimindeki listede üstü kapali belirtilen DO döngüsü kullaniliyorsa, bu döngü ile belirlenen degerler bir dis ortamdan bellege veya bellekten bir dis ortama aktarilacaktir.Giris/çikis deyimindeki üstü kapali belirtilen DO deyiminin genel formati:
    (dliste,i=m1,m2[,m3])
    Burada dliste, bir giris/çikis listesidir. i, tamsayi,gerçel veya çift duyarlikli degisken adi olup DO degiskeni olarak adlandirilir. m1,m2 ve m3 tamsayi, gerçel veya çift duyarlikli aritmetik ifadedir. m1,m2 ve m3 ifadelerinin degerleri DO degiskeni i'nin tipine dönüstürülür. m3 seçimliktir ve sifir degerini alamaz,kullanilmazsa 1 olarak kabul edilir ve m3'den önceki virgül de yazilmaz.
    Örnek: Farzedelimki A bir degisken, B,C ve D ise tek boyutlu diziler olsun. B,C ve D'nin 20 elemanli oldugunu kabul edersek,
    READ(UNIT=5)A,B,(C(I),I=1,4),D(4)
    deyimi ile ilk deger A'ya,sonraki 20 deger B'ye ,daha sonraki dört deger C'nin ilk dört degeri olarak C'ye ve son deger de D'nin 4'üncü elemanina okunur veya
    WRITE(UNIT=9)A,B,(C(I),I=1,4),D(4)
    deyimi ile önce A'nin degeri,sonra B'nin 20 degeri,daha sonra C'nin ilk dört degeri ve son olarak da D'nin 4'üncü degeri yazilir.
    Eger gerekiyorsa üstü kapali belirtilen DO'lar bir arada kullanilabilir.Mesela 10*20'lik bir A dizisi ile 10 boyutlu bir B dizisini göz önüne alalim. A'nin herbir satiri okunduktan sonra ,B'nin bir elemanini okutmak istiyorsak,asagidaki deyimi kullanabiliriz:
    READ(UNIT=5) ((A(I,J), J=1,20), B(I), I=1,10)
    Benzer sekilde A'nin herbir satirini yazdiktan sonra B'nin bir elemanini yazdirmak için asagidaki deyimi kullaniriz:
    WRITE(UNIT=9) ((A(I,J), J=1,20), B(I), I=1,10)
    DO DEYIMINE ILISKIN KURALLAR:
    1. DO döngüsü içinde herhangi bir fortran deyimi kullanilabilir.Fakat döngünün son deyimi kosulsuz veya assign'e bagli GO TO, blok IF, ELSE IF, ELSE, END IF, STOP,RETURN ,END ,aritmetik IF,lojik IF veya bir baska DO deyimi olamaz.Bundan kaçinmak için genelde DO döngüsünün son deyimi olarak CONTINUE deyimi kullanilir
    2. Bir DO alani içinde baska DO döngüleri olabilir.Ancak içteki DO alaninin tamami distaki DO alaninin içinde kalmalidir. Içteki DO ile distaki DO alanlarinin bitisi ayni deyime rastlayabilir
    3. DO 10I = 1,N DO 100 K = 1,N,2
    4.
    5. DO 15 J = 1,M DO 105 L = 1,M,3
    6.
    7. ....... ................. .........
    8.
    9. ....... ................. .........
    10.
    11. 15 CONTINUE .......................100 CONTINUE
    12.
    13. 10 CONTINUE ......................105 CONTINUE
    14.
    15. dogru oldugu halde ............... yanlistir.
    16. DO alani içinde DO nun indisleyici parametreleri olan i , m1 , m2 ve m3 ü degistiren, yeniden tanimlayan bir deyim kullanilamaz.Mesela asagidaki program birimindeki M = I + 1 deyimi hatalidir
    17. ........ .........
    18. M = 2
    19.
    20. DO 5. I = M,5
    21.
    22. M = I + 1
    23.
    24. X = A(I)*B(M)
    25.
    26. 5 CONTINUE
    27. ........ ............
    28. DO alani içinden bu alanin disina atlamak mümkündür. Sapma aninda DO degiskeninin degeri son aldigi degerde kalir.Fakat DO alani içine bu alanin disindan girmek mümkün degildir.Çünkü bu durumda DO degiskeninin degeri belirlenemez.
    *END DEYIMI
    Bir programin sonunu tanimlayan END deyimi anaprogramin veya function, subroutine veya blok data altprogramlarinin ifasini durdurur. Genel formati:
    END
    END deyimine numara verilebilir.Bu deyim bir program biriminin son deyimi olup, programdaki herhangi bir deyimden önce gelemez.Eger anaprogramda ise, anaprogramin ifasini durdurur, altprogramda ise RETURN deyimi gibi islem görür
    END deyimi ifa edildigi anda ,altprogramdaki yapma argümanlar ile gerçek argümanlar arasindakibaglanti kesilir.Altprogramdaki tüm birimler asagidakiler hariç olmak üzere tanimsiz olur. -SAVE deyiminde tanimlanan birimler
    • Etiketsiz COMMON'daki birimler,
    • Baslangiçta tanimlanan birimlerden yeniden deger almamis veya tanimsiz olmamis olanlar,
    • Hiç olmazsa baska bir program biriminde de görünen bir altprogramdaki etiketli COMMON bloklar.
    Function altprogramindaki END deyimi:
    Tüm function altprogramlari END deyimi ile bitmelidir.Ayrica bu altprogramlarda RETURN deyimi de bulunabilir.END deyimi fiziksel olarak altprogramin sonunu belirler.
    Subroutine altprogramindaki END deyimi:
    Tüm subroutine altprogramlari END deyimi ile bitmelidir.Ayrica RETURN deyimleri de ulunabilir(altprogramin farkli yerlerinde).END deyimi altprogramin fiziksel olarak bittigini belirler.Eger bir subroutine altprogramin ifasi esnasinda END deyimine ulasilirsa ,bu deyim RETURN deyimi gibi ifa edilir.
    *GO TO DEYIMLERI
    GO TO deyimleri kontrolu programdaki ifa edilebilen bir deyime aktarir.Üç tür GO TO deyimi vardir:
    • Assign'a bagli GO TO deyimi,
    • Hesaplanmis GO TO deyimi,
    • Kosulsuz GO TO deyimi.
    Assign'a bagli GO TO deyimini görmeden , bir atama deyimi olan ASSIGN deyimini inceleyelim
    Assign deyimi: ASSIGN deyimi tamsayi bir degiskene bir sayi atar. Genel formati:
    ASSIGN d TO i
    Burada d, ASSIGN deyimini içinde bulunduran bir program birimindeki ifa edilebilen bir deyimin veya bir FORMAT deyiminin numarasidir. i, 4 bayt uzunlugunda olan bir tamsayi degiskenin (bir dizi elemani olamaz) adidir. Bu degisken deyim numarasi d'ye atanmaktadir. Deyim numarasi ASSIGN deyiminin bulundugu program birimindeki bir deyimin numarasi olmalidir.ASSIGN deyiminin ifasi , bir degiskenin bir deyim numarasi tarafindan tanimlanmasi ile olur.Bu degisken ,Assign'a bagli GO TO deyiminde veya bir giris/çikis deyiminde belirlenen bir format deyiminde verilen deyim numarasi ile tanimlanabilmelidir.Bir deyim numarasi ile tanimlanan bu tamsayi degisken ,ayni veya farkli deyim numaralari ile veya bir tamsayi deger ile yeniden tanimlanabilmelidir. Eger d ifa edilebilen bir deyim numarasi ise i degiskeni Assign'a bagli bir GO TO deyiminde kullanilabilir. Eger d bir FORMAT deyiminin numarasi ise i degiskeni format kontrolu bir, READ, WRITE veya PRINT deyimindeki format tanimlayicisi olarak kullanilmalidir.
    Assign'a bagli GO TO deyimi
    Assign'a bagli GO TO deyimi , i nin o andaki degerine bagli olarak kontrolu d1 , d2 , d3 ,..... ile numaralandirilmis deyime saptirir.Örnegin i nin degeri d2 ise GO TO ... deyimi ile d2 nolu deyime sapilir. Genel formati:
    GO TO i [ [, ](d1 [ , d2][ , d3 ]...) ]
    Burada i , bir ASSIGN deyimi ile bir deyim numarasi atanan 4 bayt uzunlugundaki bir tamsayi degiskendir(bir dizi lemani olamaz). d assign'a bagli GO TO deyimini içinde bulunduran program birimindeki ifa edilebilen bir deyimin numarasidir. ddd( d1 , d2 , ....) ile gösterilen numaralari listesini kullanmak zorunlu degildir.Eger bu liste kullanilmazsa i den sonra gelen virgül de kullanilmaz. Ayrica bu liste kullanilsa da i den sonraki virgül kullanilmayabilir.Assign'a bagli GO TO deyiminin kullanildigi program biriminde bulunan ve i degiskenine atanan deyim numarasi listedeki deyim numaralarindan biri olmalidir.Deyim numarasi listede birden çok görülebilir.Yani , d1 = dj = .... olabilir.
    Mesela, GO TO I , (10,25,50) deyiminde :Eger tamsayi degisken I'ya o anda t atanan deger deyim numarasi 50 ise GO TO.... deyiminden sonra 50 nolu deyime sapilir; Eger I'ya atanan deger deyim numarasi 10 ise bir sonraki adimda 10 nolu deyime sapilir.Mesela,
    ASSIGN 10 TO KOD

    GO TO KOD , (10 , 20 ,30)

    .............

    10.. A = B

    ............

    20.. A = C

    ...........

    30.. A = D

    .............
    program biriminde GO TO deyiminden sonra 10 nolu deyime sapilir ve B' nin degeri A' ya tasinir.
    Hesaplanmis ( Computed ) GO TO deyimi :
    Hesaplanmis GO TO deyimi , m nin o andaki degeri 1,2,3,.... degerlerine bagli olarak kontrolu d1 , d2 , d3 ,.... numarali deyimlerden birine aktarir. Genel formati:
    GO TO ( d1 , [ , d2] [ ,d3 ]...) [ , ] m
    Burada d , hesaplanmis GO TO deyiminin içinde bulundugu programdaki ifa edilebilen bir deyimin numarasidir. Ayni deyim numarasi parantez içinde birden fazla kullanilabilir. m , tamsayi bir ifadedir. m den önceki virgül seçimliktir.Eger m nin degeri , n parantez içindeki deyim numaralarinin sayisi olmak üzere , 1 < m < n araliginin disinda ise hesaplanmis GO TO deyiminden sonraki deyim ifa edilir. Örnek :
    5 .GO TO ( 1,2,3,2 ) , IX

    1. A = A + 1.0

    ...GO TO 3

    2 .A = A + 2.0

    3 .CONTINUE
    Kosulsuz GO TO deyimi :
    Kosulsuz GO TO deyimi kontrolu deyim numarasi belirlenen deyime aktarir. Bu GO TO deyiminin her ifa edilisinde kontrol ayni deyime aktarilir.Genel formati:
    GO TO d
    Burada d , kosulsuz GO TO deyiminin içinde bulundugu programdaki ifa edilebilen bir deyimin numarasidir.Bu deyimden sonra gelen ifa edilebilir herhangi bir deyimin , bir deyim numarasi olmasi gerekir, aksi halde bu deyim isleme konmaz veya ifa edilemez. Örnek :
    ....GO TO 1

    2. B = A * 200.0

    ..........

    1. A = B + 10.0

    ...........
    * IF DEYIMLERI
    IF deyimleri verilen kosula bagli olarak ortaya çikan farkli durumlarda yapilacak islemi belirler.Üç tür IF deyimi vardir :
    • Aritmetik IF
    • Blok IF ; END IF , ELSE , ELSE IF
    • Lojik IF
    Aritmetik IF deyimi :
    Aritmetik IF deyimi , aritmetik ifade ( m ) nin degeri sifirdan küçük, sifira esit veya sifirdan büyük oldugu zaman kontrolu d1 , d2 veya d3 numarali deyimlere aktarir. Ayni IF deyiminde bir deyim numarasi birden çok kullanilabilir. Genel formati:
    IF ( m ) d1, d2 , d3
    Burada m, kompleks tipte olmayan herhangi bir aritmetik ifadedir. d1 , d2 ve d3 ; IF deyiminin de içinde bulundugu programdaki ifa edilebilen bir deyimin numarasidir.Bu deyimden sonra gelen ifa edilebilir herhangi bir deyimin bir deyim numarasi olmasi gerekir; aksi halde bu deyim asla isleme konmaz veya ifa edilemez.
    Blok IF deyimi :
    Blok IF deyimi END IF deyimi ile birlikte kullanilir ve gerektiginde ELSE IF ve ELSE deyimleri ile de kullanilabilir. Genel formati:
    IF ( m ) THEN
    Burada m, herhangi bir lojik ifadedir. Blok IF deyimi ile ilgili olan iki terim vardir .Bunlar IF-level ve IF-block terimleridir.
    IF-Level : Bir programdaki IF-level'larin sayisi blok IF deyimi ile END IF'den olusan deyimlerin sayisi ile hesaplanir.
    IF-Block : Bir IF-block, blok IF deyiminden sonraki ilk deyim ile baslar son ELSE IF, ELSE veya END IF deyiminden önceki deyimde biter.Eger IF-block'un içinde ifa edilebilen bir de yim yok ise IF block bostur denir.
    Kontrol bir IF blokunun içinden baska bir IF blokunun içine aktarilamaz.Bir blok IF deyiminin ifasinda önce m ifadesi degerlendirilir. Eger m nin degeri dogru(true) ise IF-block'undaki ilk deyimden baslayarak sirasiyla deyimler ifa edilir.Eger m nin dogru ve IF-block bos ise kontrol bir sonraki END IF deyimine(ayni IF-level'inda olan) aktarilir.Eger m nin degeri yanlis(false) ise kontrol ayni IF-level'inda olan bir sonraki ELSE IF, ELSE veya END IF deyimlerine aktarilir.Bir blok IF deyimi DO döngüsü ile kesilemez, yani içiçe giremez.
    END IF deyimi :
    END IF deyimi bir IF-block'unu bitirir .Ifa sirasini degistirmez. Genel formati:
    END IF
    Her bir blok IF deyimi için ayni programda bir END IF deyimi bulunmalidir. Bu END IF deyimi blok IF deyiminin son deyimidir ve ifa sirasinaetki etmez.END IF deyimi DO döngüsü içinde olmamalidir. Örnek:
    IF ( A . GT . B ) THEN

    ...........

    END IF
    ELSE deyimi :
    Eger bir önceki blok IF veya ELSE IF kosulu yanlis olarak degerlendirildi ise ELSE deyimi ifa edilir.Normal ifa sirasini degistirmez. Genel formati:
    ELSE
    Bir ELSE-block ayni IF-level'indaki son END IF deyimi ile ELSE deyimi arsindaki ifa edilebilir deyimlerden olusur.Burada ELSE deyimi ile END IF deyimi ELSE-block'a dahil degildir.Bir ELSE-block bos olabilir.Bir IF-block'unda yalniz bir ELSE olabilir. Bir ELSE block'unun içinden bir baska ELSE block'unun içine geçilemez.ELSE deyimi DO döngüsü içinde kullanilamaz Örnek:
    IF ( A . EQ . B ) THEN

    ...........

    ELSE

    ...........

    END IF
    ELSE IF deyimi :
    EEger bir önceki bllok IF kosulu yanlis olarak degerlendiriliyor ise ELSE IF deyimi ifa edilir. Genel formati:
    ELSE IF ( m ) THEN
    Burada m, herhangi bir lojik ifadedir. Bir ELSE IF-block ayni IF-level'indaki son ELSE IF , ELSE veya END IF deyimi ile ELSE IF deyimi arasindaki ifa edilebilir deyimlerden olusur. Burada ELSE IF deyimi deyimi block'a dahil degildir.ELSE IF-block'u bos olabilir. Eger lojik ifade m nin degeri dogru ise ELSE IF-block'unun ilk deyimi ile normal ifa iskemleri gerçeklestirilir. Eger lojik ifade m dogru ve ELSE IF-block bos ise kontrol ayni IF-level'indaki son END IF deyimine aktarilir. Eger lojik ifade m yanlis ise kontrol ayni IF-lvel'indaki son ELSE IF, ELSE veya END IF deyimine aktarilir.
    Kontrol bir ELSE IF-block'undan baska ELSE IF-block'una aktarilamaz. ELSE IF deyiminin deyim numarasi ile bir baska deyime geçilemez. Bir END IF deyimi DO döngüsü içinde kullanilamaz.
    Örnek 1
    IF ( I . LT . J ) THEN

    ........

    ELSE IF ( I . GT . J ) THEN

    ..........

    END IF
    Örnek 2 :
    IF ( I . LT . J ) THEN

    ..........

    ELSE IF ( I . GT . J ) THEN

    ...........

    ELSE

    END IF
    Örnek 3 : Asagidaki program sayisal notlari alfabetik notlara dönüstürmek için hazirlanmis basit bir uygulamadir. Blok IF deyimi kullanilarak hazirlanan bu program baska sekillerde de yazilabilir.
    CHARACTER*1 N1/'A' / , N2/'B' /, N3/ 'C'/ ,N4/ 'D'/

    1.. READ ( 5,5,END = 90 ) NO, NOT

    5.. FORMAT ( I5,35X,I3 )

    .....IF ( NOT.LE.25 ) THEN

    .....WRITE ( 6,30 )NO , N4

    .....ELSE IF ( NOT . LE .50 ) THEN

    .....WRITE ( 6,30 )NO , N3

    ......ELSE IF ( NOT.LE.75 ) THEN

    ......WRITE ( 6,30 )NO , N2

    ......ELSE

    ......WRITE ( 6,30 )NO , N1

    .....END IF

    30 .FORMAT ( 5X,I5, 'NOT = ' , A1)

    ......GO TO 1

    90 . STOP

    ...... END
    Lojik IF Deyimi :
    Lojik IF deyimi bir lojik ifadeyi degerlendirir ve ifadenin degerinin dogru veya yanlis olmasina göre ya bir deyimi ifa eder veya lojik IF deyiminin altindaki ifadeyi gerçeklestirir.Genel formati:
    IF ( m ) d
    Burada m , herhangi bir lojik ifadedir. d , ifa edilebilir herhangi bir deyimdir. Bu deyim DO deyimi , baska bir lojik IF deyimi, END deyimi , blok IF , ELSE IF , ELSE veya END IF deyimi ve ayrica TRACE ON, TRACE OFF, INCLUDE veya DISPLAY deyimi olamaz. d bir deyim numarasi olamaz , ama içinde deyim numarasi bulundurulabilir( GO TO 50 gibi ). Örnek:
    : IF ( A . LE .0 .) GO TO 50

    ............X = Y + Z

    ............IF ( A . EQ . B ) X = 2.0*Y/Z

    ............A = B/C

    ...50.....T = U**2

    ...........................
    *PAUSE DEYIMI
    PAUSE deyimi amaç programin ifasini geçici olarak keser ve bir mesajin görünmesini saglar.Genel formati:
    PAUSE [ n ] ,

    ........................PAUSE [ 'mesaj ' ]
    Burada n , 1-5 basamakli bir sayi , 'mesaj' , tirnaklarla kapanan bir karakter sabitedir.Bu sabite alfanumerik veya özel karakterlerden olusur. Bu literal sabite içinde tirnak kullanilacaksa bu çift tirnakla belirtilmelidir.
    Eger n veya ' mesaj ' kullaniliyorsa kesilme aninda operatöre gerekli talimat verilir.Bu duraklama esnasinda operatör gerekli islemleri yaparak kontrolu programa geçirir ve PAUSE deyiminden sonra gelen deyim veya DO döngüsünün son iterasyonu ifa edilir.
    RETURN DEYIMI
    RETURN deyimi kontrolu çagiran programa aktarir. Eger RETURN deyimi anaprogramda kullaniliyorsa STOP deyiminin yaptigi isi yapar. Bu deyim ya bir function veya subroutine altprograminda kullanilmalidir.
    Function altprogramindaki RETURN deyimi :
    Function altprogramlari RETURN deyimini bulundurmalidir.Bu RETURN deyimi lojik olarak hesaplama sonucunu belirler ve hesaplanan fonksiyon degerinin çagrilan programa geri dönmesini saglar.Genel formati:
    RETURN
    RETURN deyiminin ifasi ile altprogramdaki yapma argumanlar ile gerçek argümanlar arasindaki iliski kesilir.Altprograma giren argümanlarin tümü , asagidakiler hariç tanimsiz olur.
    • SAVE deyiminde belirlenen argümanlar,
    • DATA ve açik tip bildirme deyiminde kullanilan argümanlar,
    • Etiketsiz COMMON deyimindeki argümanlar
    Subroutine altprogramindaki RETURN deyimi
    Subroutine altprogramlari da RETURN deyimi bulundurmalidir. Bu RETURN deyimi lojik olarak hesaplama sonucunu belirler ve kontrolu çagiran programa aktarir. Genel formati:
    RETURN ( m )
    Burada m , bir tamsayi ifadedir. RETURN deyiminde m kullanilmazsa veya m nin degeri birden küçük ise veya SUBROUTINE deyiminde belirlenen ( * ) asterisklerin sayisindan fazla ise kontrol CALL deyiminden sonraki deyime aktarilir. Böylece CALL deyiminin ifasi tamamlanir.Eger , n SUBROUTINE deyimindeki asterisklerin sayisi olmak üzere 1<=m<=n ise m nin degeri yapma argüman listesindeki m inci asteriski belirler. CALL deyimindeki geri dönüs belirleyicileri ile SUBROUTINE deyimindeki asteriskler arasinda birebir bir iliski olmalidir. Bu iliskiye göre herhangi bir asteriske karsilik gelen bir geri dönüs belirleyicisi bulunur ve RETURN deyiminin ifasi ile bu deyime sapilir.RETURN deyimi ifa edildiginde altprogramdaki yapma argümanlar ile gerçek argümanlar arasindaki iliski kesilir.Altprograma giren argümanlarin tümü, yukarida belirlenen üç gruptaki argümanlar hariç olmak üzere tanimsiz olur.
    RETURN m ile birlikte kullanilan bir CALL deyiminin daha iyi anlasilmasi için hesaplanmis, GO TO deyimlerinden olusan deyim grubunun incelenmesi gerekir.Mesela asagidaki CALL deyimi :
    CALL SUB ( X , * 10 , Y , * 20 , Z , * 30 ) asagidaki deyimlere denktir:

    CALL SUB ( X , Y , Z , I )

    GO TO ( 10 , 20 , 30 ) , I
    Buradaki I çagrilan altprogramda 1, 2 veya 3 degerlerini alan bir degiskendir.Yukaridaki CALL deyiminde de m nin 1 olmasi halinde 10 nolu deyime , 2 olmasi halinde 20 nolu deyime , 3 olmasi halinde 30 nolu deyime sapilir.
    *STOP DEYIMI
    STOP deyimi amaç programin ifasini durdurur ve istenirse amaç programin ifasi sonunda bir mesajin yazilmasini saglar. Genel formati:
    STOP [ n ]

    ........................STOP [' mesaj ']
    Burada n, 1-5 basamakli bir sayidir. mesaj, iki tirnak arasina yazilan ve alfanumerik veya özel karakterlerden olusan bir karakter sabitedir. Literal olmasi halinde bu literal içindeki bir tirnak pespese gelen iki tirnakla belirtilir
    Eger STOP'tan sonra n veya ' mesaj ' kullanilirsa , STOP ile birlikte gerekli bilgi operatöre iletilir.
    ALT PROGRAMLAR
    FUNCTION Alt programı
    İlk deyimi FUNCTION deyimi olan enaz bir tek değer üretmek üzere bağımsız olarak yazılmış bir program birimidir. Yapısı aşağıda gösterilmiştir.
    FUNCTION alt program adı (argüman listesi)
    ...............
    ............... Fortran deyimleri
    ...............
    alt program adı= aritmetik ifade
    RETURN
    END
    Ana programdan FUNCTION alt programına geçiş, alt programa adının argümanlarla birlikte bir aritmetik ifade de yer almasıyla sağlanır. Bu işlemi gösteren deyimi en basit biçimi ile şöyle olabilir:
    değişken = alt program adı (argüman listesi)
    Görüldüğü gibi alt program adı ve argüman listesi hem alt programın birinci deyiminde, hem de çağıran deyimde yer almaktadır. Alt program adı programcı tarafında belirlenir ve alt programın yaptığı tüm işlemleri simgeler. Ana programdan alt programa bilgi aktarımı argümanlar aracılığı ile olur. Argüman listeleri birbirinden virgülle ayrılmış değişken ve sabitlerden oluşur. Her iki listedeki argümanların sayısı aynı olup, birbiriyle çakışan argümanlar aynı türdedir. Alt programa geçiş sırasında çağıran deyimin argüman listesindeki değerler, alt programın argüman listesindeki değişkenlere sıra ile verilir. Çakışan argümanların adları aynı olabilir, fakat olmak zorunda değildir
    RETURN deyimi alt programdaki işlemlerin bittiğini gösterir. Bu deyimin işlenmesi çağıran programa (ana program veya başka bir alt program) geri dönülmesini sağlar. Bir FUNCTION alt programından ana programa gönderilecek değer (sonuç), RETURN deyiminden önce alt program adını taşıyan değişkene atanmak zorundadır. Bu nedenledir ki, alt program adı tam sayı bir değişken ise geri gönderilen değer tamsayı, alt program adı ondalıklı bir değişken ise geri gönderilen değer ondalıklıdır. Programcı dilerse alt programın birinci deyiminde FUNCTION sözcüğünden önce REAL veya INTEGER yazarak alt programın türünü alt program adına bağlı olmaksızın belirleyebilir.
    SUBROUTINE Alt programı
    SUBROTINE alt programları FUNCTION alt programlarına göre daha genel amaçlıdır. Yukarıda belirtildiği gibi FUCTION alt programı ana programa sadece bir bilgi geri gönderebilir. SUBROUTINE alt programı için böyle bir sınırlama yoktur. SUBRUOTINE alt programı argümansız olarak kullanılabilir. Bu şekilde kullanıldığı zaman amaç programın akışını daha güzel ifade eden modüler bir program yapısı sağlamaktadır. FUNCTION alt programının en az bir argümanı olması zorunludur.
    FUNCTION ve SUBROUTINE alt programları arasında ki başka bir farklılıkta ayrıntıları aşağıda verilecek olan ana programdan çağrılış biçimidir. Fakat alt program, bir deyimle bir algoritmayı gerçekleştirecek biçimde tanımlanırsa, her iki tür alt programın özde çok benzer oldukları söylenebilir. SUBROUTINE alt programını yapısı aşağıda verilmiştir:
    SUBRUOTINE alt program adı (argüman listesi)
    ...............
    ............... Fortran deyimleri
    ...............
    RETURN
    END
    Ana programdan SUBROUTINE alt programına geçiş, CALL deyimi ile sağlanır . Bu deyimin yapısı da şöyledir:
    CALL alt program adı ( argüman listesi)
    Alt program adı programcı tarafından değişkenlere ad verme kurallarına uygun olarak kararlaştırılır.SUBROUTINE alt programında tür söz konusu olmadığı için adın hangi harfle başladığı önemli değildir. Alt programın birinci deyiminde yer alan argüman listesi ile ,ilişkili CALL deyiminin argüman listesi, argüman sayısı ve türü açısından uyumlu olmak zorundadır. Başka bir deyişle, adları farklı olsa da her iki listede aynı sırada buluna argümanlar aynı türde olmalıdır. Gerek ana programdan (çağıran programdan) alt programa aktarılan bilgiler gerekse alt programdan ana programa aktarılan bilgiler argümanlar aracılığıyla aktarılır. Bu bilgiler her türde her türde skaler değerler olabileceği gibi diziler de olabilir. Eğer argüman diziyi simgeliyorsa, büyüklüğü hem ana programda hem de alt programda bildirilmek zorundadır. Bu deyim işleme konulduğunda argümanlar alt programda son alındıkları değerleri taşırlar
    Aşağıda bir SUBROUTINE alt programı ve bu alt programı ana programdan çağıran deyim verilmiştir.
    ..........SUBROUTINE R ( A, B, X, Y ).
    ......... X = A * B
    .......... Y = 2.0 * ( A+ B )
    .......... RETURN
    ......... END
    Alt programın adı R, argümanları A, B, X ve Y’dir. Görüldüğü gibi CALL deyiminden A, B, AL ve CEV değişkenlerinden oluşan argüman listesi ile uyumludur. Alt programa geçildiği zaman ana programda A, B, AL ve CEV değişkenlerinin sahip olduğu değerler alt programdaki A, B, AL ve CEV değişkenlerine verilir. RETURN deyimi işleme konulduğunda bu kez A, B, X ve Y’nin alt programda aldıkları son değerler, ana programda A, B, AL ve CEV değişkenlerine verilmiş olur. Görüldüğü gibi yukarıdaki örnekte A ve B argümanları ana programdan alt programa, AL ve CEV ( veya X ve Y ) argümanları da alt programdan ana programa bilgi aktarmaya aracı olmaktadırlar. Argümanların ana be alt programlarda aynı adı taşıması veya taşımamamsının işlem üzerimde hiçbir etkisi olmadığı da vurgulanmalıdır.
    COMMON : Alt programlar arasında bilgi alanları
    Bir ana programla alt program arasında veya iki alt program arasında bilgi aktarımının argümanlar aracılığı ile sağlandığı daha önce açıklanmıştı. Bu bilgi aktarımını gerçekleştirmenin bir başka yolu da program parçaları arasında ortak bilgi alanlarının veya Fortran’ da ki adı ile COMMON alanlarının kullanılmasıdır. COMMON alanları etiketli ve etiketsiz olarak ikiye ayrılır. Etiketsiz COMMON deyiminin yapısı şöyledir:
    COMMON değişken listesi
    Ortak bilgi alanında bulunması istenen değişkenleri değişkenler listesine birbirinden virgülle ayrılarak yazılır. Değişken listesinden diziler bulunabilir fakat dizi elemanları bulunamaz. Eğer dizi adı değişken listesinde indisli olarak yazılır ise , parantez içinde belirtilen tam sayı dizininin büyüklüğü olarak kabul edilir. Böylece ortak bilgi alanında yer alan bir dizinin büyüklük bildirimi DIMENSION deyimi yerine COMMON deyimi ile de yapılabilir. Ortak bilgi alanına ana programdan ve bir yada daha fazla alt programdan erişmek mümkündür. Bunu için ortak bilgi alanına erişecek her ana ve alt programda COMMON deyimi yer almalıdır. Ayrıca bu deyimlerin değişken listeleri, argüman listelerinde olduğu gibi uyumlu olmalıdır. Başka bir deyişle listeki değişken sayısı aynı olmalı, çakışan değerlerin türleri farklı olmamalıdır.
    Örnek:
    DIEMENSION R (10) T (200)
    COMMON R,T
    deyimleri ile
    COMMON R (10) T (200)
    deyimi aynı sonucu sağlamaktadır.
    Bir programda yer alan iki etiketsiz ortak bilgi alanlarının uzunlukları farklı olabilir.Aşağıda verilen deyimlerin iki ayrı alt programda yer aldıkları kabul edilsin:
    COMMON P, L, R (50)
    COMMON V, KOD, A ( 3 , 2 )
    Görüldüğü gibi birinci deyim ile tanımlanan ortak bilgi alanı daha uzundur. Fakat iki deyin de aynı ortak bilgi alanını tanımladığı için P ile V, L ile KOD, R dizisinin ilk altı elemanı ile A dizisinin sırasıyla (1,1), (2,1), (3,1), (1,2), (2,2), (3,2) indisli elemanları eşleşmektedir.
    Etiketli COMMON deyiminin yapısı şöyledir:
    COMMON/etiket/değişken listesi
    Etiket ortak bilgi alanına programcı tarafında verilen addır. Değişkenlere ad verme kuralına uygun olarak seçilir. Değişken listesi orta bilgi alanında yer alan değişkenlerden oluşur. Listede diziler de bulunabilir. Etiketli ortak bilgi alanı erişildiği her ana ve alt programda aynı etiket adını taşıyabilir COMMON deyimi ile tanımlanmak zorundadır. Bu deyimlerle tanımlanan alanların uzunlukları aynı olmalıdır. Ayrıca değişkenler listesi aynı olmak zorundadır.
    BLOCK DATA Alt programı
    Programda bazı değişkenlere, DATA deyimi ile başlangıç değeri verilebilir. Etiketlenmemiş bir ortak bilgi alanında yer alan değişkenler DATA deyimi ile başlangıç değeri vermek mümkün değildir. Etiketlenmemiş bir ortak bilgi alanında yer alan değişkenlere DATA deyimi ile değer atanması ise sadece BLOCK DATA alt programında mümkündür. BLOCK DATA alt programında etiketli COMMON ve DATA deyimleri yer alır.
    Aşağıda bir BLOCK DATA alt programı verilmiştir:
    BLOCK DATA
    COMMON / ALAN 1/ PROP ( 5 )
    COMMON / ALAN 2/ I, D, HIZ
    DATA PROP / 1.0035 , 0.735 , 0.782 , 1.4 , 0.02 /
    DATA I, D, HIZ / 5, 0.18, 0.8 /
    END
    BLOCK DATA alt programının adı geçen ortak bilgi alanlarının erişildikleri diğer ana ve alt programlarda da etiketli COMMON deyimleri ile bildirilmeleri gerektiği açıktır.
    EQUIVALENCE Deyimi
    EQUIVALENCE bildirim deyimi aynı bellek hücresine iki değişik adla erişilmesinin sağlar. Başka bir deyişle bu deyim bir bellek hücresinin iki farklı değişken tarafından ortaklaşa kullanılmasını sağlar.
    Bu deyim kullanılarak sağlanmak istene başlıca amaç, programın bellek gereksinimini azaltmaktır. bu deyimi daha değişik amaçlar içinde kullanmak mümkündür. Bunlardan birkaçı tanesi örneklerde belirtilmiştir.
    EQUIVALENCE deyiminin yapısı şöyledir:
    EQUIVALENCE ( değişken-1, değişken-2 )
    değişken-1 ve değişken-2 basit veya indisli değişken olabilir.
    Bir programda iki boyutlu bir diziye tek indisle erişilmek isteniyorsa EQUIVALENCE deyimi kullanılabilir.
    EQUIVALENCE ( MAT ( 1 , 1 ) , IVEK ( 1 ) )
    Her iki dizinin büyüklüğünün DIMENSION deyimi ile bildirilmiş olması gerektiği not edilmelidir.
    Bir programın çalışması sırasında değişik zamanlarda iki dizi, bellekte yer kazanılmak amacı ile çakıştırılabilir. D dizisi, program C dizisi ile işlemlerini bitirdikten sonra kullanılan bir dizi olsun.
    EQUIVALENCE ( D ( 1 ) , C ( 1 ) )
    deyimi iki dizi için aynı bellek alanını ayırmaktadır.
    EXTERNAL Deyimi
    EXTERNAL deyimi bir alt programın, ismi argümanlar listesinde bulunan başak bir alt programı çağırabilmesini olanağını sağlar. Bumu için çağırılan alt program ( FUNCTION veya SUBROUTINE ) isminin çağıran alt program argümanlar listesinde yazılması ve EXTERNAL deyiminde bulunması gerekir.
    EXTERNAL deyiminin yapısı şöyledir:
    EXTERNAL s1, s2, s3,......,sn
    Burada s1, s2, s3,......,sn çağıran alt program argümanlar listesindeki alt program isimleridir. EXTERNAL deyimi ana program içinde, aritmetik deyim fonksiyonları ve icra edilebilen deyimlerden de önce gelmek üzere, en başta bulunur.
    Yan Bellek(Kütük) Kullanımı
    Kütük Açma
    Fortran 77'de kütük yaratma ya da yaratılan kütüğü açma işlemi OPEN deyimi kullanılarak yapılır. Deyimin genel yazılışı:
    OPEN (UNIT =nuf, FILE ='fna', STATUS ='st', ACCESS ='ac', FORM ='ft, RECL =rl)
    biçimindedir. Burada:
    • nuf : Yaratılacak ya da açılacak kütüğün numarasıdır. Bulunması zorunludur.
    • fna :Yaratılacak ya da açılan kütük adıdır. Değişken kurallarına uyar
    • st : Herhangi bir kütük daha önce yaratılmış ya da ilk defa yaratılacak olabilir. Eğer OPEN deyiminde st yerine NEW yazılırsa kütüğün yaratılmakta olduğu, OLD yazılırsa daha önce yaratılan bir kütüğün açılmakta olduğu anlaşılır.
    • ac : Kütüğe erişim sıralı ya da doğrudan olabilir. Belirtilmezsa sıralı erişim vardır.
    • ft : Kütük ile ilgili yapılacak okuma ya da yazma işlemlerinde format kullanılıp kullanılmayacağı belirtilir. Belirtilmezse sıralı erişim durumunda formatsız, dolaylı erişim durumunda formatlı olarak yapılır.
    • rl : Kayıtların uzunluklarını tanımlamakta kullanılır. En uzun kayıt uzunluğu alınır
    OPEN(13, STATUS='NEW', ACCESS='SEQUENTIAL', FORM='FORMATTED', RECL=15)
    Kütük Kapama
    Açılan kütüklerin kapanması işlemi CLOSE deyimi kullanılarak gerçekleştirilir. Genel yazılışı:
    CLOSE (UNIT =nuf, STATUS ='st')
    biçimindedir. Burada:
    st : Kütük kapatma türünü gösterir. Delete ve Keep durumları söz konusudur. Delete silmek, Keep saklamak için yazılır.
    CLOSE(13, STATUS='KEEP')
    Kütükten Okuma
    Kütükten okuma yapılması işlemi READ deyimi ile olur. Genel yazılışı:
    READ (UNIT =nuf, fs, END =sst, ERR =hst, REC =m)dl
    biçimindedir. Burada:
    • nuf : Okuma yapılacak kütüğün numarasını
    • fs : Okuma için kullanılan formatın deyim numarasını
    • sst : Okuma işlemi bittiğinde ya da kütük sonunda devam edilecek kütük numarasını
    • hst : Okuma sırasında ortaya çıkabilecek hatalar durumunda devam edilecek deyim numarasını
    • m : Kütükte okutma yapılan kayıdın numarasını
    • dl : Birbirinden virgülle ayrılmış değerleri okutulacak değişkenleri gösterir
    READ(1,10,END = 20)GR,LR,NRM
    Kütüğe Yazma
    Herhangi bir kütüğe veri girilmek ya da yazılmak istendiğinde WRITE değimi kullanılır. Genel yazılışı:
    WRITE (UNIT = nuf, fs, ERR = sst, REC = m)dl
    biçimindedir. Burada:
    sst : Yazma hataları durumunda devam edilecek deyim numarasını gösterir
    WRITE(1,10, ERR = 100, REC=5)D,E,F
    ENDFILE deyimi
    Okuma işlemi sırasında sıralı bir kütükte kütük sonuna gidilmesini sağlar. Genel yazılışı:
    ENDFILE (nuf)
    biçimindedir. Burada nuf kütük numarasını gösterir.
    ENDFILE(2)
    REWIND deyimi
    Kütüğün herhangi bir yerinden ilk tutanağa dönülmesini sağlar. Genel yazılışı
    REWIND(nuf)
    biçimindedir. Burada nuf kütük numarasını gösterir
    READ(2)
    BACKSPACE deyimi
    Kütükte, bulunan tutanaktan bir önceki tutanağa geçilmesini sağlar. Genel yazılışı:
    BACKSPACE(nuf)
    biçimindedir. Burada nuf kütük numarasını gösterir.
    BACKSPACE(2)
    Bazı Örnek Programlar
    1)Aşağıdaki program sıralı bir kütük yaratır, bu kütüğe bilgileri yazar, kütüğü kitler ve kapatır. Daha sonra kütüğü açar ve kütükteki bilgileri okuyup ekrana yazar.
    Dimension A(9,9)
    Open (Unit=5, File='Ver',Status='New')
    Read (*,*)A
    Write (5,*)A
    Close (5,Status='Keep')
    Open (5,File='Ver',Status='Old')
    Read (5,*,End=77)A
    Write (*,*)A
    Goto 130
    Close (5)
    Stop
    End
    Öğrenci notlarını bulunduğu sıralı kütükten okuyan ve ortalamaları yazan bir program ise
    Dimension Onot (1500)
    Open (5, File='Onot')
    Do 50 I-1, 1500
    Read (5,*,End=100) Onot (I)
    Tnot=Tnot+Onot(I)
    K=K+1
    50 Continue
    100 Ornot=Tnot/K
    Write (*,*)Ornot
    Stop
    End
    Konu zeet06 tarafından (17.11.08 Saat 23:05 ) değiştirilmiştir.

+ Konu Cevaplama Paneli

Konu Bilgileri

Users Browsing this Thread

Şu an 1 kullanıcı var. (0 üye ve 1 konuk)

     

Bu Konudaki Etiketler

Yetkileriniz

  • Konu Acma Yetkiniz Yok
  • Cevap Yazma Yetkiniz Yok
  • Eklenti Yükleme Yetkiniz Yok
  • Mesajınızı Değiştirme Yetkiniz Yok
Yemek Tarifleri ListeNur.de - islami siteler listesi
Google Grupları
RisaleForum grubuna abone ol
E-posta:
Bu grubu ziyaret et

Search Engine Friendly URLs by vBSEO 3.6.0