Sunum yükleniyor. Lütfen bekleyiniz

Sunum yükleniyor. Lütfen bekleyiniz

FORTRAN PROGRAMLAMA DEYİMLERİ

Benzer bir sunumlar


... konulu sunumlar: "FORTRAN PROGRAMLAMA DEYİMLERİ"— Sunum transkripti:

1 FORTRAN PROGRAMLAMA DEYİMLERİ
BÖLÜM 4 FORTRAN PROGRAMLAMA DEYİMLERİ

2 1. GİRİŞ/ÇIKIŞ DEYİMLERİ
Giriş ve çıkış deyimleri, kullanıcılar veya cevre üniteler ile bilgisayar arasında iletişim yada bilgi alışverişi sağlayan deyimlerdir. Bilgisayara; giriş deyimi ile girilecek ham bilgiler, çıkış deyimi ile de dış ortama aktarılacak işlenmiş bilgiler tanıtılır. Bilgisayarlarda değişik tipte ve sayıda giriş/çıkış birimleri kullanılabilir. Burrougs 1900 serisinin giriş çıkış birimlerinin numaraları: Çevre birimi Numarası Ekranlı terminal Manyetik bant okuyucu Kart okuyucu Satır okuyucu Kart çıkışı Giriş/Çıkış birimi belirtmeden okutma ve yazma yaptırılabilir.

3 OKUMA : READ YAZMA : WRITE FORMAT deyimleri: FORMAT deyimi: Bilgisayara okutulacak veya yazdırılacak bilgilerin türlerini, uzunluklarını ve desenlerini belirtmek için kullanılır. Deyimin genel yazılışı. n FORMAT ( alan tanımlayıcı, alan tanımlayıcı, ...) n - deyim numarası Girdilerin okutulması ve çıktıların yazılmasında kullanılan değişkenlerin sıraları ile FORMAT deyiminde bulunan alan tanımlayıcıları bire bir eşlenmiş olmalı ve tipleri uymalıdır.

4 ÖRNEK: READ(5,10) A,K,S 10 FORMAT(3X,F6.1,2X,I3,2X,E20.7) WRITE(6,10)A,K,S Kart okuyucudan okur satır yazıcıdan yazar. FORMAT deyiminin uygulanışı soldan sağa doğrudur. Giriş Deyimi: (READ) Genel yazılışı: READ(m,n)d1 m –giriş birimi numarası(tamsayı) n –FORMAT deyim numarası d1 –verilerin depolanacağı bellek konum isimlerini tanımlayan değişkenler

5 FORMAT tanımlanmasının yapılıp yapılmaması isteğe bağlıdır
FORMAT tanımlanmasının yapılıp yapılmaması isteğe bağlıdır. FORMAT tanımlaması yapılmayacak ise READ deyimi aşağıdaki şekilde yazılır. READ(1,*)d1 FORMAT satır numarası yerine * kullanılır. (NOT: Eğer giriş/çıkış birimi olarak ekran kullanılacak ise 1 yerine * kullanılabilir READ(*,*)d1) ÖRNEK: READ(*,*)A, B Eğer giriş birimi belirtilmeden formatlı okuma yaptırılacak ise, READ(*,10)A,B 10 FORMAT(alan tanımlayıcıları)

6 Giriş alan tanımlayıcıları:
Giriş verilerinin okutulması için kullanılan alan tanımlayıcılarıdır. Giriş ortamlarında bilgi alanları sayısal, alfa sayısal ve boşluk biçiminde olabilir. Sayısal bilgilerin okunmasında kullanılan alan tanımlayıcıları ile okuma yapıldığında, sayısal bilgilerin giriş ortamına sağa yanaşık yazılması gerekir. İşaretsiz değerler pozitif olarak yorumlanır.(NOT:Aynı satırda birden fazla giriş yapılacaksa) I alan tanımlayıcı: Tamsayı bilgilerin okutulmasında kullanılır. Genel yazılışı Iq I: tamsayı tanımlayıcı q: bilginin alan genişliği (işaretsiz bir tam sayı) READ(*,5)ISAYI ISAYI (-99 , 999) arasında değer 10 FORMAT(I3) alabilir.

7 ÖRNEK: Okuma yapılacak satırda birinci sütundan başlamak üzere aşağıdaki sayı ve semboller yer alsın. READ(*,5)I,J,K,L 5 FORMAT(I2,I4,I6,I3) I=75 J = K= L= -11 değerlerini aktarır. 231440b I=23 J = K= L=620 READ(*,2)L Giriş satırı: -12 2 FORMAT(I2) Bellek değeri: -1

8 Ondalıklı sayıların okutulmasında kullanılır. Genel Yazılışı Fg.d
F Alan Tanımlayıcısı: Ondalıklı sayıların okutulmasında kullanılır. Genel Yazılışı Fg.d F: ondalık sayı tanımlayıcısı g: Ondalık nokta dahil olmak üzere bilginin alan uzunluğu gösteren tam sayı d: Bilginin kesir kısmının uzunluğu (Eğer bilgi ondalıklı nokta ile gösterilir ise d göz önüne alınmaz. READ(*,5) B GİRİŞ SATIRI: 5 FORMAT(F9.3) GİRİŞ ALAN TANIMLAYICI BELLEKTEKİ DEĞER b F F

9 Üslü biçimdeki sayıların okutulmasında kullanılır. Genel Yazılışı Eg.d
E Alan Tanımlayıcısı: Üslü biçimdeki sayıların okutulmasında kullanılır. Genel Yazılışı Eg.d E: üslü sayı tanımlayıcısı g: bilginin alan uzunluğu gösteren tam sayı d: Bilginin kesir kısmının uzunluğu (Eğer bilgi ondalıklı nokta ile gösterilir ise d göz önüne alınmaz. READ(*,5) A GİRİŞ SATIRI: E+03 5 FORMAT(E14.6)

10 A Alan Tanımlayıcısı: Alfasıyal bilgi tanımlayıcısıdır.
Genel Yazılışı Ag A: alfasayısal bilgi tanımlayıcısı g: bilgi uzunluğu CHARACTER *5 A,B,C Bilgi: AliKitapOku READ(*,10)A,B,C Bellek: A=“Ali”, B=“Kitap” 10 FORMAT(A3,A5,A2) C=“Ok” dur X Alan Tanımlayıcıs: Aktarılacak değerler arasında boşluk bırakır. qX X: Boşluk alan tanımlayıcısı q: Boşluk uzunluğu

11 Çıkış Deyimi: (WRITE) Genel kullanılışı: WRITE(m,n)d1 m: Çıkış cevre birim numarası n: Format deyim numarası d1: değerleri yazdırılacak değişkenlerin listesini göstermektedir. m, n ve d1 genel yapısı READ deyimdeki kullanışı ile aynıdır. write(*,5) a, i, b 5 format(2x,f7.2,2x,i3,2x,e9.3) Not: Alan tanımlayıcıları READ deyimindeki alan tanımlayıcıları ile aynıdır.Ancak bellekteki değer alan tanımlayıcısı tarafından oluşturulamadığında ******** şeklinde yazar.

12 a=2.3 Satır atlatma ve aynı satıra yazma:
i=124 write(*,5)a 5 format(f3.1/) format(i3.1,\) write(*,6)i 6 format(2x,i3) stop end / satır atla yaz (yanyana kaç tane kullanılır ise o kadar satır atlar) \ aynı satıra yaz Alfasayısal Karakter Yazdırma: write(*,5) write(*,5)’program bitti’ 5 format(“program bitti”) Ekrana program bitti yazar

13 KONTROL DEYİMLER FORTRAN deyimleri aksi bildirilmedikçe birbiri ardı sıra işler. Deyimlerin işleyiş sırası değiştirilmek istendiğinde kontrol deyimleri kullanılır. GOTO IF DO-CONTINUE PAUSE STOP END

14 Koşulsuz GOTO deyimi : Genel Kullanılışı: GOTO n sapılacak deyim numarasını gösterir. Gönderilen deyime mutlaka deyim numarası verilmelidir. CHARACTER*20 isim 10 READ(*,*)isim WRITE(*,*)isim GOTO 10 END

15 Mantıksal IF deyimi: Mantıksal bir karar verme yada yapma durumunda kullanılır. genel Kullanılışı IF(Mantıksal ifade)deyim Bilgisayarda işlenirken mantıksal ifade doğru ise arkasından gelen deyim işlenir. Yanlış ise bir alt satır işlenir. i=1, k=3, p=.TURE. IF(i.le.k.and.p) I=I+1 IF(i.le.k.and.p) goto 20

16 Algoritma: (İki sayıdan en büyüğünü bulma) Adım 1. Başla
READ(*,*)I1,I2 IF(I1.EQ.I2) GOTO 7 IF(I1.GT.I2) GOTO 6 WRITE(*,5)I2 5 FORMAT(‘BUYUK SAYI=‘,I4) GOTO 8 6 WRITE(*,5)I1 7 WRITE(*,10) 10 FORMAT(‘I1=I2‘) 8 STOP END Algoritma: (İki sayıdan en büyüğünü bulma) Adım 1. Başla Adım 2. A,B’yi oku Adım 3. A=B ise Adım 7’e git Adım 4. A>B ise Adım 6’ya git Adım 5. B’yi Yaz Adım 8’e git Adım 6. A’yi Yaz Adım 8’e git Adım 7. “A ve B eşit” mesajını yaz Adım 8. Dur

17 Aritmetik IF deyimi: Aritmetik ifadelerin işaretlerinin test edilmesinde kullanılır. IF(aritmetik ifade) K,L,M K, L, M aritmetik ifadenin değerine göre sapılacak deyim numaraları Aritmetik ifade < 0 ise K nolu satıra gider Aritmetik ifade = 0 ise L nolu satıra gider Aritmetik ifade > 0 ise M nolu satıra gider <0 >0 ifade K M = 0 L

18 Bir IF deyiminde K, L, M satır numaralarının hepsinin birbirinden farklı olması gerekmez.
ÖRNEK: IF(A-5) 20,20,30 IF(B**2-4*A*C) 10,20,30 IF(A)10,20,20 Aritmetik IF deyimi bir veya daha fazla GOTO ve Mantıksal IF deyiminin yapacakları işi gerçekleştirir. Örnek: Verilen iki sayının büyüğünü bulan algoritmanın FORTRAN programını yazınız.

19 Adım 4. A>B ise Adım 6’ya git Adım 5. B’yi Yaz Adım 8’e git
READ(*,*)I1,I2 IF(I1-I2)10,20,30 10 WRITE(*,5)I2 5 FORMAT(‘BUYUK SAYI=‘,I4) GOTO 40 20 WRITE(*,6) 6 FORMAT(‘I1=I2‘) 30 WRITE(*,5)I1 40 STOP Algoritma: Adım 1. Başla Adım 2. A,B’yi oku Adım 3. A=B ise Adım 7’e git Adım 4. A>B ise Adım 6’ya git Adım 5. B’yi Yaz Adım 8’e git Adım 6. A’yi Yaz Adım 8’e git Adım 7. “A ve B eşit” mesajını yaz Adım 8. Dur

20 Hesaplanmış GOTO deyimi:
Çok sayıda dallanmaya imkan veren bir deyimdir. GOTO (K1,K2,....,KN),J Ki (i=1,...,N) gönderme yapılmak istenen deyim numaralarıdır. İşlem sırasında J=1 ise K1 numaralı satıra sapılır. İşlem sırasında J=N ise KN numaralı satıra sapılır. ÖRNEK: IF (K.EQ.1) GOTO 10 IF (K.EQ.2) GOTO 20 IF (K.EQ.3) GOTO 30 IF (K.EQ.4) GOTO 40 IF (K.EQ.5) GOTO 50  GOTO(10,20,30,40,50),K

21 Ardışık mantıksal karar verme durumlarında kullanılır. IF/THEN yapısı
Blok IF deyimi: Ardışık mantıksal karar verme durumlarında kullanılır. IF/THEN yapısı IF(koşul) THEN (deyimler) ENDIF Eğer koşul doğru ise THEN kelimesinden sonra gelen deyimler uygulanır. Yanlış ise ENDIF kelimesi ile IF bloğundan çıkılır. deyim1 deyim2 ENDIF yanlış doğru

22 READ(*,*)I1,I2 IF(I1.GT.I2) THEN 10 WRITE(*,5)I1 ENDIF 20 WRITE(*,5)I2 GOTO 40 5 FORMAT(‘BUYUK SAYI=‘,I4) 40 STOP END

23 IF/THEN/ELSE yapısı IF(koşul1) THEN (deyim1) ELSE (Deyim2) ENDIF
Eğer koşul doğru ise ELSE den önce gelen yanlış ise sonra gelen deyimler uygulanır. ENDIF kelimesi ile IF bloğundan çıkılır. yanlış doğru Deyim 1 Deyim 2 Deyim 1 ENDIF

24 READ(*,*)I1,I2 IF(I1.GT.I2) THEN 10 WRITE(*,5)I1 ELSE 20 WRITE(*,5)I2 ENDIF 5 FORMAT(‘BUYUK SAYI=‘,I4) 40 STOP END

25 Örnek: İkinci derece denklemlerin köklerini bulan bir program yazınız
Örnek: İkinci derece denklemlerin köklerini bulan bir program yazınız. ax2+bx+c=0 Adım1 Başla Adım2 Oku A,B,C Adım3 DELTA=B**2-4*A*C Adım4 Eğer DELTA < 0 ise Adım 9’a git Adım5 x1=(-B+SQRT(DELTA))/(2*A) Adım6 x2=(-B-SQRT(DELTA))/(2*A) Adım7 Yaz x1,x2 Adım8 Adım10’a git Adım9 ‘Kök kompleks’ yaz Adım10 Dur READ(*,*)A,B,C DELTA=B**2-4*A*C IF(DELTA)20,10,10 10 X1=(-B+SQRT(DELTA))/(2*A) X2=(-B-SQRT(DELTA))/(2*A) WRITE(*,*)X1,X2 GOT0 30 20 WRITE(*,*)’Kök Kompleks’ 30 STOP END


"FORTRAN PROGRAMLAMA DEYİMLERİ" indir ppt

Benzer bir sunumlar


Google Reklamları