FORMAT deyimi Değişkenlere ait bilgilerin yazılması veya değişkenlere değer okunması sırasında, gerekli tür ve uzunlukların belirtildiği yani giriş ve çıkış işlemlerinin hangi düzende olması gerektiğini belirten fortran deyimidir. Genel formu: <fn> FORMAT (a1,a2,a3,.) fn a1,a2, : format deyiminin satır numarasıdır READ, WRITE deyimleri ile verilir. : alan bildirim deyimleridir. READ / WRITE deyimleri ile kullanılan alan bildirim deyimleri ve karşılık gelen değişken türü aşağıda gösterilmiştir, Alan Bildirim Deyimleri Değişken Alan bildirim deyimi Giriş/Çıkış formatı Tam sayı In Read / Write Tek duyarlı gerçel sayı (noktalı) Fn.m Read / Write Tek duyarlı gerçel sayı (üslü) En.m Read / Write Tek duyarlı gerçel sayı (noktalıve üslü) Gn.m Read / Write Çift duyarlı gerçel sayı Dn.m Read / Write Alfasayısal An Read / Write Mantıksal Ln Read / Write Read / Write ile kullanımı içeren yapı : <fn> READ(*.fn) <değişken listesi> WRITE(*.fn) <değişken listesi> FORMAT(a1,a2,a3,) şeklindedir. Format deyiminin kullanımı ile ilgili örnekler: Format deyimi programın her hangi bir yerinde kullanılabilir. READ(*,) a,b FORMAT(.).... READ(*,) a,b... FORMAT(.) Denetim deyimleri ile format deyimine gidilemez. READ(*,) I FORMAT(.)... GOTO Program hatalıdır. Format deyimine GOTO deyimi ile sapılmaya çalışılmıştır. 1
Format deyimi çalışabilir bir fortran komutu değildir, READ ve WRITE komutları ile anlamlıdır. 1 READ(*,1) I FORMAT() WRITE(*,) FORMAT(1X. PROGRAM CIKISI ) Aynı format deyimi birden fazla READ / WRITE komutu ile birlikte kullanılabilir. READ(*,) I,J FORMAT() READ(*,) K,L 20 WRITE(*,) FORMAT(.) WRITE(*,20) Format deyimi ile verilen alan bildirim deyimleri birden fazla ise birbirlerinden virgül ile ayrılırlar. Alan bildirim deyimleri işleyişi soldan sağa doğrudur. FORMAT(I3,F4.1) READ / WRITE deyimleri ile birlikte kullanılan değişkenlerin sıraları ile FORMAT deyiminde kullanılan alan bildirim deyimleri birebir eşleneceklerinden değişkenlerin türüne uygun alan bildirim deyimi kullanılmalıdır. Aksi hata alınır. READ(*,) AD FORMAT(A20)... AD değişkeni gerçel olmasına rağmen Format deyiminde alfasayısal değişken giriş/çıkışında kullanılan A alan bildirim deyimi kullanılmış oysa F alan bildirim deyimi kullanılmalıydı veya AD değişkeni alfasayısal olarak tanımlanmalıydı. CHARACTER AD*20 READ(*,) AD FORMAT(A20) numaralı Format deyimi ile A alan bildirim deyimi AD alfasayısal değişkenine değer okunmak üzere verilmiştir. Uygun tür ve uzunlukta olması nedeniyle geçerlidir. 2
ALAN BİLDİRİM DEYİMLERİ I ALAN BİLDİRİM DEYİMİ Tamsayı değişkenlerin giriş ve çıkışlarında kullanılır. Genel formu n basamak sayısı olmak üzere, şeklindedir. Girdi (READ) işleminde I alan bildirim deyimi: Format tanımı Girdi Okunan değer I4 12 12 I4-122 -122 I4 123456 1234 I4 1 00 ÇIktı (WRITE) işleminde I alan bildirim deyimi: Format tanımı Girdi Okunan değer I4 12 12 I4-122 -122 I4 1234 1234 I4 12345 ***** I4-1234 -123 ÖRNEK: In 15 WRITE(*,*) IKI SAYI GIRINIZ READ(*,)K,L FORMAT (I4,I4) WRITE(*,15)K,L FORMAT(1X,I4) STOP K değişkenine 234, L değişkenine 45 alınmıştır. Sayının işareti ise çıktıda bir yer işgal eder. I3 lük bir alana 4 basamaklı bilgi sığmadığı için *** çıktısı alınmıştır. 3
F ALAN BİLDİRİM DEYİMİ Gerçel sayıların giriş ve çıkışlarında kullanılır. Genel formu n ondalık nokta ve sayının işaret, dahil olmak üzere basamak sayısı ve m sağdan itibaren noktadan sonraki basamak sayısı olmak üzere, Fn.m şeklindedir. n alan uzunluğu seçilirken işaret ve desimal nokta için de birer yer düşünülmelidir, bu nedenle n m + 2 olmalıdır. n: tamsayı basamak sayısı+1 (nokta için)+1 (sayının işareti için)+m işlemi ile tespit edilir. Girdi (READ) işleminde F alan bildirim deyimi: Alan bildirim deyiminde desimal noktanın yeri verildiğinden veri girişinde desimal nokta yazılmayabilir Veri girişindeki desimal noktanın yeri alan bildirme deyiminde gösterilenden önceliklidir. Format tanımı Girdi Okunan değer F7.2 12.65 12.65 F7.2-15.5-15.50 F7.2 127 127.00 F7.2 12 12.00 F7.2 1234 1234.00 F7.2 5.68 5.68 Çıktı (WRITE) işleminde F alan bildirim deyimi: Format tanımı Girdi Okunan değer F7.2 15. 15.00 F7.2-127. -127.00 F7.2 13256. ******* F7.2 18.6 18.60 F7.2-29.8-29.80 4
F alan bildirim deyimi tanımlanırken sayının işaretinin nokta parametresinin çıktıda bir yer işgal edeceği dikkate alınmalıdır. A değişkenine değer girişi için alan bildirim deyimi F7.2 şeklinde tanımlanmış ise A değişkenindeki değerin çıktıya aktarılmasını sağlayan alan bildirim deyimindeki, n değeri, sayının işareti : 1 toplam basamak : 7 nokta işareti : 1 ondalık kısım : 2 olmak üzere n=11 olmalıdır. Bu durumda F tanımı çıktıda F11.2 olmalıdır. 15 WRITE(*,*) SAYI GIRINIZ READ(*,)A,B,C,D,E,F,G FORMAT(7F7.2) WRITE(*,15)A,B,C,D,E,F,G FORMAT(1X,F7.2) STOP 5
E Alan Bildirim Deyimi Gerçel sayıların üslü formda giriş ve çıkışlarında kullanılır. Genel formu n toplam basamak sayısı ve m noktadan sonraki basamak sayısı olmak üzere, Girdi (READ) işleminde E kullanılması halinde, En.m E tanımlı gerçel sayı değişkenine noktalı veya üslü sayı girilebilir. 5.2 1.E23 17.E-03 vb. Eğer verilen sayılarda ondalık nokta yoksa; üs kısmı varsa, üs kısmının hemen solundan başlayarak aksi halde (üs kısmı yoksa) belirtilen alanın sağından başlayarak sola doğru m basamak, noktadan sonraki ondalık kısım olarak yorumlanır. Format tanımı Girdi Okunan değer E7.2 19.271 19.27 E7.2 1.234E3 1234.5 E7.2 1377E8 13.77E8 E7.2 1234567 12345.67 Çıktı (WRITE) işleminde E kullanılması halinde, Sayı mutlaka E indisini içerecek şekilde olmalıdır. Sıfırdan farklı ilk rakam ondalık noktanın ardından gelir. n için çıktıda ayrılan alan bulunurken, sayının işareti için 1 basamak, nokta işareti için 1 basamak üs kısmı için 4 basamak fazladan büyüklükler dahil edilir. Örneğin: READ için E7.2 verilmiş ise WRITE için E13.2 olmalıdır. (7+1+1+4=13) 6
7
D ALAN BİLDİRİM DEYİMİ Çift duyarlı gerçel sayıların giriş ve çıkışlarında kullanılan alan bildirim deyimleridir. Genel formu, n toplam basamak sayısı ve m noktadan sonraki basamak sayısı olmak üzere, Dn.m şeklindedir. D alan bildirim deyimi, E alan bildirim deyiminin tüm özelliklerini içerir. Yanlızca üs belirlemek için E indisi yerine D indisi kullanılır. A ALAN BİLDİRİM DEYİMİ Alfasayısal bilgilerin giriş ve çıkışlarında kullanılan alan bildirim deyimidir. Genel formu, n toplam karaktaer sayısı olmak üzere, şeklindedir. An 8
X ALAN BİLDİRİM DEYİMİ Bir kayıt girişi sırasında atlanacak, çıktı işlemlerinde ise boş bırakılacak sütun sayısını belirlemek için kullanılır. Genel formu, n atlanacak veya boş bırakılacak sütün sayısı olmak üzere, şeklindedir. nx READ deyiminde atlanacak sütün sayısı WRITE deyiminde boş bırakılacak sütün sayısını gösterir. T ALAN BİLDİRİM DEYİMİ Çıktı işleminin üzerinde bulunulan satırın hangi sütununa yapılacağını bildiren alan bildirim deyimidir. Genel formu, n yazma işleminin sütun numarası olmak üzere, şeklindedir. (1 n 80) Tn / format ayıracı : / parametresinin sayısı n olmak üzere (n-1) satır boş bırakılmasını ve bilginin n. Satıra yazılmasını sağlar. Not: / format ayıracını takip eden ilk karakter kontrol karakterlerinden biri olmalıdır. 9