FORTRAN PROGRAMLAMA DEYİMLERİ

Slides:



Advertisements
Benzer bir sunumlar
BPR151 ALGORİTMA VE PROGRAMLAMA - I
Advertisements

Ayrık Yapılar Matlab Notları
Algoritma ve Akış Diyagramları
String Diziler(Katarlar)
4 Kontrol Yapıları: 1.Bölüm.
SQL de Değişken Tanımlama
OOP4 LAB.
Fonksiyonlar ve Alt Programlar
BPR152 ALGORİTMA VE PROGRAMLAMA - II
Bölüm 3 – Yapısal Programlama
Fortran PROGRAMLAMA DİLİ
Yapısal Program Geliştirme – if, if-else
ALGORİTMA ve PROGRAMLAMA
Format Deyimleri Örnekleri;
Serbest (Basit) Giriş/Çıkış İşlemleri Formatlı Giriş/Çıkış İşlemleri Temel Kütüphane Fonksiyonları (Intrinsic Functions) Karşılaştırma Operatörleri ve.
Bilgisayar Programlama (Yrd. Doç. Dr. İbrahim ASRİ)
İNTERNET PROGRAMCILIĞI I BTP 207 Ders 9. Tek değişkende birden fazla bilgi tutulmak istendiğinde kullanılır. Kullanım şekli: var dizi_adı= new Array(eleman1,
Görsel C# ile Windows Programlama
Bilgisayar Programlama
BPR152 ALGORİTMA VE PROGRAMLAMA - II
SQL de Değişken Tanımlama
Bölüm 2 – Kontrol Yapıları
Akış Kontrol Mekanizmaları
Celal Bayar Üniversitesi Hasan Ferdi Turgutlu Teknoloji Fakültesi
DEĞİŞKENLER VE VERİ TİPLERİ
Temel Giriş/Çıkış Fonksiyonları
BİL 102 BİLGİSAYAR PROGRAMLAMA
BM-103 Programlamaya Giriş Güz 2014 (4. Sunu)
İNTERNET PROGRAMCILIĞI I BTP 207 Ders 8.  Tamsayı Değerler (Integer) Tamsayılar, 10 tabanlı (decimal), 8 tabanlı (octal) veya 16 tabanlı (hexadecimal)
ENF 204 Bilgisayar Programlama Algoritma ve Akış Diyagramları
Celal Bayar Üniversitesi Hasan Ferdi Turgutlu Teknoloji Fakültesi
PROGRAMLAMA 2. Hafta TEMEL KAVRAMLAR.
Sıklık Tabloları ve Tek Değişkenli Grafikler
2. HAFTA 2. Hafta.
ALGORİTMA VE AKIŞ ÇİZELGELERİ
Algoritma Mantığı ve Akış Diyagramları
ENDÜSTRİYEL GÖMÜLÜ BİLGİSAYAR SİSTEMLERİ
BM-103 Programlamaya Giriş Güz 2012 (3. Sunu)
İnternet Programlama-I
Adım Adım Algoritma.
SAYISAL ANALİZ Doç.Dr. Cüneyt BAYILMIŞ.
BİLGİSAYAR PROGRAMLAMA Ders 5: Döngüler
Akış Diyagramları - 1. Akış Diyagramı  Algoritmalar doğal dille yazıldıklarında herkes tarafından aynı biçimde anlaşılmayabilir.  Ancak, akış diyagramlarında.
5. HAFTA Mart Discussion: comp.soft-sys.matlab An unmoderated newsgroup that focuses on the.
BÖLÜM 5 AKIŞ DİYAGRAMLARINDAN PROGRAM KODLAMAYA GEÇİŞ
O R T L G İ M A A Ve Akış şemaları.
BİLGİSAYAR PROGRAMLAMA DERSİ
BİLGİSAYAR PROGRAMLAMA DERSİ 4. DERS NOTU Konu: M-dosya yapısı ve Kontrol Yapıları 1.
Algoritma ve Akış Şemaları
Bilgisayar Programlama BIL 107
Bilgisayar Programlamasına ve Veri Analizine Giriş - IV
2.2. Özel Semboller ve Pascal Sözcükleri
Algoritmanın Hazırlanması
4. GİRİŞ/ÇIKIŞ DEYİMLERİ 4.1. Giriş
Bilgisayar Programlama
BLM-111 PROGRAMLAMA DİLLERİ I Ders-2 Değişken Kavramı ve Temel Operatörler Yrd. Doç. Dr. Ümit ATİLA
Prof. Dr. Eşref ADALI Doç. Dr. Şule Gündüz Öğüdücü Sürüm-B
PROGRAMLAMAYA GİRİŞ FORTRAN 77.
Bilgisayar Bilimi Problem Çözme Süreci-2.
2.2. Özel Semboller ve Pascal Sözcükleri
ALGORİTMALAR VE PROGRAMLAMAYA GİRİŞ
Discussion: comp.soft-sys.matlab
BÖLÜM 2 FORTRAN PROGRAMLAMA DİLİNE GİRİŞ
Akis diyagramı Örnekleri
1.) Bellekteki A= , B=0.01, C= değerleri WRITE (6 ,10) A,B,C 10 FORMAT (1X,E11.5,5X,E8.2/1X,e13.6) ile yazdırılırsa çıkış görüntüsü nasıl.
Bilgisayar Bilimi Döngüler.
Algoritma ve Akış Diyagramları
NİŞANTAŞI ÜNİVERSİTESİ
DO- CONTINUE Deyimi: Bir programda yer alan belirli işlemlerin, önceden bilinen bir düzende ve sayıda yenilenmesi amacı ile kullanılır. Deyimin genel yapısı:
Dimension x(100) Character*16 dosya_adi
Sunum transkripti:

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

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 1 Manyetik bant okuyucu 3 Kart okuyucu 5 Satır okuyucu 6 Kart çıkışı 7 Giriş/Çıkış birimi belirtmeden okutma ve yazma yaptırılabilir.

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.

Ö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

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ı)

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.

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

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: -1234.123 5 FORMAT(F9.3) GİRİŞ ALAN TANIMLAYICI BELLEKTEKİ DEĞER b415.5 F6.2 415.5 1256981 F7.5 12.56981

Ü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: -55.001470E+03 5 FORMAT(E14.6)

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

Çı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.

a=2.3 Satır atlatma ve aynı satıra yazma: i=124 write(*,5)a 5 format(f3.1/) 5 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

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

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

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

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

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

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.

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

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

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

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

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

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

Ö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