Serbest (Basit) Giriş/Çıkış İşlemleri Formatlı Giriş/Çıkış İşlemleri Temel Kütüphane Fonksiyonları (Intrinsic Functions) Karşılaştırma Operatörleri ve.

Slides:



Advertisements
Benzer bir sunumlar
OPERATÖRLER.
Advertisements

STRİNG FONKSİYONLARI.
Fonksiyonlar.
Makine Müh. & Jeoloji Müh.
Değişken , Veri Türleri ve Operatörler
Değişkenler ve bellek Değişkenler
Atama ve Girdi/Çıktı Komutları
VERİ TİPLERİ VE DEĞİŞKENLER
OOP4 LAB.
Bölüm 9 Dizgiler Dizgi Tanımı Dizgi Girdi İşlemleri
Bölüm 9 Dizgiler Dizgi Tanımı Dizgi Girdi İşlemleri
Fonksiyonlar ve Alt Programlar
Operatörler.
Yapısal Program Geliştirme – if, if-else
Fortran Proglama Dili’nin Esasları
Format Deyimleri Örnekleri;
Fonksiyonlar.
While Döngüsü Tekrarlama deyimidir. Bir küme ya da deyim while kullanılarak bir çok kez yinelenebilir. Yinelenmesi için koşul sınaması döngüye girilmeden.
İ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,
6. HAFTA
EXCEL FORMÜLLER&FONKSİYONLAR
Formüller Mustafa AÇIKKAR.
C++ Temelleri C++ genel amaçlı, nesne tabanlı, yüksek seviye programlama dilidir.
C ile Programlamaya Giriş
DEĞİŞKENLER, VERİ TÜRLERİ VE OPERATÖRLER
Temel Veri Türleri ve Operatörler
FONKSİYONLAR.
Celal Bayar Üniversitesi Hasan Ferdi Turgutlu Teknoloji Fakültesi
Diziler Adres Kavramı Nesnelerin Adresleri sizeof Operatörü
Bilgisayar Programlama
Fonksiyonlar Fonksiyon Tanımı Değer Döndürmeyen Fonksiyonlar
a) b) c) d) e) Pi= 4* atan(1) y=Log10 | x | +4 Y= LOG10 (ABS(x))+4
BM-103 Programlamaya Giriş Güz 2014 (4. Sunu)
C PROGRAMLAMA FONKSİYONLAR Adres ile Fonksiyon Çağırma Pointer (İşaretçiler) ile Fonksiyon Çağırma Rekürsif Fonksiyonlar.
VERİ TİPLERİ VE DEĞİŞKENLER
İNTERNET PROGRAMCILIĞI I BTP 207 Ders 8.  Tamsayı Değerler (Integer) Tamsayılar, 10 tabanlı (decimal), 8 tabanlı (octal) veya 16 tabanlı (hexadecimal)
Dizgiler Dizgi Tanımı Dizgi Girdi İşlemleri Dizgi Çıktı İşlemleri Dizgi Fonksiyonları Karakter Fonksiyonları Gösterge Dizgileri.
Örnek Adam asmaca oyununun programının yazılması.
ANALOG-SAYISAL BÜYÜKLÜK VE SAYI SİSTEMLERİ
2. HAFTA 2. Hafta.
Bölüm 3 Atama ve Girdi/Çıktı Komutları Bölüm 3 Atama ve Girdi/Çıktı Komutları Atama Komutu Operatörler İsim Sabitleri Veri Tipi Dönüşümü Çıktı Fonksiyonu.
Adım Adım Algoritma.
SAYISAL ANALİZ Doç.Dr. Cüneyt BAYILMIŞ.
VERİ ve BELLEK & DEĞİŞKENLERİN SAKLANMASI Asst.Prof.Dr.Misket YEKTAY Gizem AYIK.
BİLGİSAYAR PROGRAMLAMA DERSİ
Programlamaya Giriş-I Bölüm-1. Algoritma Algoritma günlük yaşamımızda yaptığımız işler sırasında sıklıkla kullandığımız bir yöntemdir. Algoritma, bir.
BİLGİSAYAR PROGRAMLAMA DERSİ 4. DERS NOTU Konu: M-dosya yapısı ve Kontrol Yapıları 1.
7. HAFTA.
Algoritma ve Akış Şemaları
Bölüm 3 Atama ve Girdi/Çıktı Komutları
BİLGİSAYAR PROGRAMLAMA Ders 6: Diziler
C Programlama Dili Bilgisayar Mühendisliği.
Bilgisayar Programlamasına ve Veri Analizine Giriş - IV
C’de Fonsiyonlar Aslı Ergün.
DİZİLER Bellekte sıralı bir şekilde bulunan ve aynı türden bilgilerin saklandığı veri yapısına dizi (array) denir. Örneğin kullanıcıdan 7 kişinin not ortalamasını.
2.2. Özel Semboller ve Pascal Sözcükleri
FONKSİYONLAR.
PROGRAM KONTROL KOMUTLARI 1. if koşulu 2. if else koşulu
4. GİRİŞ/ÇIKIŞ DEYİMLERİ 4.1. Giriş
BLM-111 PROGRAMLAMA DİLLERİ I Ders-2 Değişken Kavramı ve Temel Operatörler Yrd. Doç. Dr. Ümit ATİLA
FORTRAN PROGRAMLAMA DEYİMLERİ
Bilgisayar Bilimi Problem Çözme Süreci-2.
Bilgisayar Programlamasına ve Veri Analizine Giriş
2.2. Özel Semboller ve Pascal Sözcükleri
BÖLÜM 2 FORTRAN PROGRAMLAMA DİLİNE GİRİŞ
Akis diyagramı Örnekleri
Bölüm 3 Atama ve Girdi/Çıktı Komutları
Serbest (Basit) Giriş/Çıkış İşlemleri Formatlı Giriş/Çıkış İşlemleri Temel Kütüphane Fonksiyonları (Intrinsic Functions) Karşılaştırma Operatörleri ve.
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ı:
4. HAFTA.
Sunum transkripti:

Serbest (Basit) Giriş/Çıkış İşlemleri Formatlı Giriş/Çıkış İşlemleri Temel Kütüphane Fonksiyonları (Intrinsic Functions) Karşılaştırma Operatörleri ve Mantıksal Operatörler

Serbest (Basit) Giriş/Çıkış İşlemleri Serbest (formatsız) okuma deyimi READ *, giriş listesi veya READ (*,*) giriş listesi Şeklindedir, formatsız veri yazma deyimleri ise PRINT *, çıkış listesi veya, WRITE (*,*) çıkış listesi şeklinde genel kullanıma sahiptir. Burada giriş listesi; birbirinden virgüllerle ayrılmış değişkenler dizisi (karakter topluluğu) olabilir. çıkış listesi: birbirinden virgüllerle ayrılmış değişkenler, dizisi veya bir formül olabilir.

Örneğin ; WRITE (. ,. ) “Bu program üç sayının ortalamasını hesaplar Örneğin ; WRITE (*,*) “Bu program üç sayının ortalamasını hesaplar.” WRITE (*,*) “Sayıları girin:” READ (*,*) A, B, C Ort = (A + B + C)/3.0 WRITE (*,*) “Ortalama =,” Ort Bu programın sonucunu ekranda şöyle göreceğiz, Bu program üç sayının ortalamasını hesaplar. Sayıları girin: 5 7 12 Ortalama = 8.0

READ deyimi ile okunan sayılar, aşağıdaki gibi alt alta da girilebilirdi. ÇIKTI Bu program üç sayının ortalamasını hesaplar. Sayıları girin: 5 7 12 Ortalama = 8.0

Formatlı Giriş/Çıkış İşlemleri Giriş/Çıkış işlemlerinde serbest format kullanmak kullanıcıya bir takım kolaylıklar sağlamakla birlikte giriş ve çıkış parametrelerimizin görüntülenmesini kontrol etmemizi engellemektedir. Dolayısıyla Format deyimi giriş/çıkış parametrelerimizin özelliklerini yani verilerimizin hangi tip ve ne uzunlukta olduğunu belirtir. Bir veya daha fazla giriş/çıkış parametresi ile ilişkilidir ve n FORMAT (f1,f2,....fn) şeklinde yazılır.

Burada n programdaki giriş / çıkış deyimlerinin numarası, f1,f2, Burada n programdaki giriş / çıkış deyimlerinin numarası, f1,f2,...fn ise FORMAT deyiminin bağlı olduğu giriş /çıkış değişkenlerinin hangi tip olduklarını ve hangi tip’e dönüştürüleceğini gösteren alan bilgileridir (format edit descriptor). Bu bilgiler giriş /çıkış listesindeki değişkenlerle sayı , sıra ve mod bakımından uyuşmalıdır. Format Deyiminin bir özelliğide ana program içerisinde herhangi bir yerde bulunabilmesidir, sadece DO döngüsü varsa bu döngünün son deyimi olamaz.

READ(. ,. ) veya WRITE (. ,. ) {Serbet Format} READ(. ,'(2I5,F10. 2)') READ(*,*) veya WRITE (*,*) {Serbet Format} READ(*,'(2I5,F10.2)') ... Değişkenler (variables) ... READ(*,"(5F10.2)") ... Değişkenler ... WRITE(*,'(A,I5)') …Değişkenler ve tanımlamalar (variable and expressions)..... WRITE(*,"(10F5.2)") ... Değişkenler ve tanımlamalar (variable and expressions)..... Burada 2I5, F10.2, 5F10.2, A,I5, ve 10F5.2 alan bilgileridir.

CHARACTER(LEN=20), PARAMETER :: FMT1 ="(I5,F10. 2)" CHARACTER(LEN= CHARACTER(LEN=20), PARAMETER :: FMT1 ="(I5,F10.2)" CHARACTER(LEN=*), PARAMETER :: FMT2 = "(4I5, 5E14.7 , 8F5.0)" READ(*,FMT1) ... Değişkenler (variables) ... READ(*,FMT1) ... Değişkenler (variables) ... WRITE(*,FMT2) ... Değişkenler ve tanımlamalar (variables and expressions) ... WRITE(*,FMT2) ... Değişkenler ve tanımlamalar ...

Bir karakter değişkenin (String) READ ve WRITE deyimlerindeki kullanışına örnek CHARACTER(LEN=80) :: String String = "(3I5, 10F8.2)" READ(*,String) ... değişkenler ... WRITE(*,String) ... Değişkenler ve tanımlamalar… Aynı FORMAT hem READ hemde WRITE deyimlerinde kullanılabilir.

Dizin Uzunluğu Formatlı okumalarda dikkat edilmesi gereken bir nokta’da Girişte Dizin’in uzunluğu mümkün olduğunca uzun tutulmalıdır, aksi takdirde çıkış formatı hatalı ve eksik olacaktır. Örneğin; --------------------------------------------- CHARACTER(LEN=10) :: FMT  FMT = “(I2,F3.5,E15.7)” WRITE (*,FMT) ...... Çıktı ?? (I2,F3.5,E olacaktır.................

Format Deyimi Tanımlamaları Giriş ve Çıkış için kullanılan çeşitli format alan bilgisi tanımlamaları vardır. Her bir alan bilgisi belirli bir değerin nasıl değerlendirileceğini sisteme bilgi olarak vermektedir. I tipi tanımlama Tamsayıların giriş ve çıkışında kullanılır, w ayrılacak olan uzunluğu gösterir ve Iw şeklinde gösterilir (I5, 2I6 vb). Giriş verisi tamsayıdır ve sayı ayrılcak alan içinde sağdan hizalanır. Tamsayı alan uzunluğunu aşmamalıdır. Çıkışta bu tamsayının değeri kayıt ortamındaki alan içine girişte olduğu gibi sağdan hizalanarak yazılır. Sayı negatif ise (-) eksi işareti basılır aksi takdirde (+) artı işareti basılmaz. Ayrılmış olan alan uzunluğu değeri yeterli değilse yani w dan büyükse sayı basılmaz, alan * işareti ile doldurulur.

F tipi tanımlama Giriş ve Çıkışta Gerçel sayıların gösterimi için kullanılır. Burada da w alan uzunluğunu d sağdan itibaren desimal noktanın yerini gösterecek şekilde Fw.d olarak gösterilir (F5.0, 3F8.4 gibi), w alan uzunluğu belirlenirken işaret ve desimal nokta için de birer yer düşünülmelidir, dolayısıyla w>= d+2 olmalıdır. Gerçel sayı olan giriş verisi sağdan hizalanmalıdır. Alan bilgisinde desimal noktanın yeri belirtildiğinden verilerde desimal nokta yazılmayabilir. Ancak veriler desimal noktalı olarak girildiyse bu yer alan bilgisindekine göre önceliklidir. F10.4 olarak girilen bir alan bilgisi, herhangi bir gerçel sayının bilgisayara aktarılacağını gösterir.

E tipi tanımlama Giriş ve Çıkışta üslü gerçel sayıların giriş çıkışı için kullanılır ;  Ew.d şeklinde yazılır, burada w alan uzunluğunu , d bu alanda E den itibaren desimal noktanın yerini belirtir. Örneğin E10.2 alan bildirisi , herhangi bir üslü gerçel sayının bilgisayara giriş verisi olarak aktarılacağını gösterir. Üslü gösterim durumundada verinin alan içinde sağdan hizalanması zorunludur. Çıkış’ta w sayıda yer ayrılır, bunun içinde işaret ve desimal nokta için birer, üs için 4 yer olmak üzere toplam 6 yer vardır. Pozitif sayılarda işaret basılmaz

D tipi tanımlama Çift incelikli (double precission) gerçel sayıların giriş çıkışında kullanılır ; Dw.d şeklinde yazılır ve w alan uzunluğunu , d ise desimal noktanın yerini gösterir . L tipi alan bildirisi Mantıksal büyüklüklerin giriş çıkışında kullanılır ; Lw şeklinde yazılır, w alan uzunluğunu gösterir. Girişte 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 tanımlama Bir genel alan bildirisidir G tipi tanımlama Bir genel alan bildirisidir. Tamsayı , gerçel çift incelikli , kompleks ve mantıksal büyüklüklerin giriş çıkışında kullanılır; Gw.d şeklinde yazılır, w alan uzunluğunu d desimal noktanın yerini belirler . Giriş verisi I ya da L tipinde ise , Gw.d tanımlaması 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ş verisi kompleks ise gerçek ve sanal kısımlar için iki ayarı G alan bildirisi gereklidir

Z tipi tanımlama Heksadesimal 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şte, Giriş verisi uzunluğu >w ise fazla haneler soldan kesilerek bilgi belleğe aktarılır . Heksadesimal değer çıkış ortamına sağdan hizalanarak yazılır, kalan yerler varsa boş bırakılır. Çıkışta da Giriş verisi uzunluğu >w olması durumunda çıkışta da fazla haneler soldan kesilerek yazılır

A tipi tanımlama Alfa nümerik büyüklüklerin giriş ve çıkışı için kullanılır ; Aw şeklinde yazılır burada w alan uzunluğunu gösterir . Alfa nümerik bilgi bellekte karakter formunda saklandığından hesaplamalarda kullanılamaz . Bilgi giriş alanında sağdan hizalanmış olmalıdır Alfa nümerik bilgi girişte olduğu gibi çıkış ortamındada sağdan hizalanarak yazılır.

H tipi tanımlama 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 . Giriş parametresi olarak w sayıda karakter yerine s karakter kümesi yer alır, boşluk karakterleri de bunun içindedir . Çıkışta ise giriş işlemi sonucu onun yerine geçirilmiş karakterler dış ortamda görünür .

X tipi tanımlama  Program Giriş ve çıkışında boşlukları göstermek için kullanılır ;  wX şeklinde gösterilir (5X, 2x gibi), w alan uzunluğunu gösterir . Girişte w kadar karakter in atlanacağını ifade eder, çıkışta ise w sayıda boşluk bırakılacağını gösterir. T tipi tanımlama   Tn şeklinde gösterilir, giriş ve çıkışta verilerin ilk karakterlerinin bulunduğu yeri belirlemekte kullanılır.

Bir çok format tipi proram içinde tekrar edebilir vede gruplandırılabilir. CHARACTER(LEN=30) :: Format Format = "(5X, I5.2, F10.3, A, ES14.7)" READ(*,Format) ... Değişkenler (variables) ... WRITE(*,Format) ... Değişkenler ve tanımlamalar Burada 5 farklı format tipi 5X, I5, F10.3, A,ES14.7 bir arada kullanılmıştır, format tipleri birbirlerinden virgül ile ayrılmaktadır. Bir program içinde READ ve WRITE deyimleri hem serbest formatlı hemde Formatlı olarak kullanılabilir.

Temel Kütüphane Fonksiyonları (Fortran Intrinsic Functions)

Fonksiyon Açıklama Argüman Tipi Geri Dönüş Tipi Örnek Sonuç

Fonksiyonların Kullanımında Dikkat Edilmesi Gereken Durumlar: Değişken tipi REAL olan fonksiyonlarda değişken veya sabit mutlaka REAL olmalıdır y = SQRT(4.0) ile y değişkenine 2.0 değeri atanır, fakat 4 bir tamsayı sabiti olduğu için y = SQRT(4) ataması geçersizdir. Bunun yerine y = SQRT(REAL(4)) ataması kullanılabilir. Trigonometrik fonksiyonlarada açı radyan olarak kabul edilir. y = SIN(1.5) ile 1.5 radyanın sinüsü y değişkenine atanır. Derece cinsinden bir açının sinüsü hesaplanmak istendiğinde, 2*Pi radyan = 360 derece (Pi = 3.141592...) eşitliği kullanılabilir. 1 derecenin sinüsünü hesaplamak için y = SIN(1.0*Pi/180.0) eşitliğini kullanırız.

MOD(x, y) fonksiyonu x/y'den kalanı hesaplar MOD(x, y) fonksiyonu x/y'den kalanı hesaplar. Örneğin: z = MOD(20,4) ile z değişkenine 0 atanırken, z = MOD(13,2) ile 1 değeri atanır. Bu fonksiyon aslında x - INT(x/y)*y işlemini yapar. Şöyleki MOD(13,2) = 13 - INT(13/2)*2 = 13 - 12 = 1 Fonksiyonlar her zaman aritmetik operatörlerden önceliklidirler..........

Karşılaştırma Operatörleri ve Mantıksal Operatörler İki veya daha fazla değerin karşılaştırılması gereken durumlarda karşılaştırma operatörleri ve/veya mantıksal operatörler kullanılır. Bu operatörler; Operatör Açıklama Örnek Anlam Eski Yeni .GT. > Büyüktür x>y x, y'den büyüktür .LT. < Küçüktür x<y x, y'den küçüktür .EQ. == Eşittir x == y x, y ye eşittir .GE. >= Büyük-eşit x >=y x, y'den büyük veya eşittir .LE. <= Küçük-eşit x<=y x, y'den küçük veya eşittir .NE. /= eşit değil x /=y x, y'den farklı

Eski sütunundaki operatörler FORTRAN 77'ye kadar ki dönemde kullanılmaktaydı. Fortran 90'dan itibaren, aynı anlama gelen Yeni sütunundaki operatörler dahil edilmiştir. Fortran 90'da hem Eski hem de yeni operaörleri kullanmaya izin verir. Eğer, birden çok karşılaştırma işlemi yapılacak ise bu operatörler, Mantıksal Operatörler'le birleştirilebilir

Mantıksal Operatörler Açıklama Örnek .AND. Mantıksal VE x>2 .AND. x<y .OR. Mantıksal VEYA x>2 .OR. x<y .NOT. Mantıksal DEĞİL .NOT. x>2 .EQW. Mantıksal EŞDEĞER x .EQW. Y .NEQW. MantıksalEŞDEĞER DEĞİL x .NEQW. Y

Y = ln|2x|+3x Y = log ( ABS (2x) ) + 3x   Z = a - ( (a-b) / (b-c) ) - c Lamda = tan(x) / (sin(x+1))**2 (x+y) / z + ( e / (d+a))2 (x+y) / z + ( e / (d+a))**2 Aşağıdaki aritmetik ve mantıksal atama deyimlerinden hangileri geçersizdir, Neden?   A*B+C=10 -I= J**2 A=B+2 C=.FALSE.OR..TRUE. e) C=(X+Y).OR.FALSE..