Fortran Proglama Dili’nin Esasları

Slides:



Advertisements
Benzer bir sunumlar
Fortran Proglama Dili’nin Esasları
Advertisements

Algoritma.  Algoritma, belirli bir görevi yerine getiren sonlu sayıdaki işlemler dizisidir.  Başka bir deyişle; bir sorunu çözebilmek için gerekli olan.
SAYISAL DEVRELER BÖLÜM-2 Sayı Sistemleri ve Kodlar

% A10 B20 C30 D25 E15 Toplam100.  Aynı grafik türü (Column-Sütun) iki farklı veri grubu için de kullanılabilir. 1. Sınıflar2. Sınıflar A1015 B20 C3015.
ÖTÖ 451 Okul Yönetiminde Bilgisayar Uygulamaları R. Orçun Madran.
SIFIRIN TAR İ HÇES İ NESL İ HAN KAPLAN Haluk Bingöl CMPE 220-Fall 2010/ /11.
BİLGİSAYAR PROGRAMLAMA Ders 11: İşaretçi (Pointer) Kullanımı Yrd. Doç. Dr. Altan MESUT Trakya Üniversitesi Bilgisayar Mühendisliği.
BİLGİSAYAR PROGRAMLAMA MATLAB Yrd.Doç.Dr. Cengiz Tepe.
Örnek 1 Kullanıcının girdiği bir sayının karesini hesaplayan bir program yazınız.
TC Windows Editörü DevC++. KURULUM PROGRAMIN KURULACAĞI YER BURADA BELİRLENİYOR.
BSE 207 Mantık Devreleri Sayı sistemleri Sakarya Üniversitesi.
9. HAFTA 25 Nisan2016. Fonksiyon M-Dosyaları Fonksiyon dosyaları ilk satırda “function” kelimesi bulunan “.m” uzantısı bulunan dosyalardır. MATLAB içinde.
MATEMATİK PROJE ÖDEVİ Adı-Soyadı:Nihat ELÇİ Sınıfı-Numarası:7/C 1057
Bağlama ve Kapsam Kavramları
ÖTÖ 451 Okul Yönetiminde Bilgisayar Uygulamaları R. Orçun Madran.
Bölüm 2 C Dilinin Temelleri
BİLGİSAYAR PROGRAMLAMA DERSİ
SAYILAR ve RAKAMLAR.
Excel 2007.
3. DEĞİŞKENLER Değişkenlerin kullanım ve tanımlanma şekli, o dilde program yapmayı ve programların anlaşılırlığını etkileyen önemli faktörlerden biridir.
İÇİNDEKİLER NEGATİF ÜS ÜSSÜ SAYILARIN ÖZELLİKLERİ
Algoritma ve Programlamaya Giriş
BM-103 Programlamaya Giriş Güz 2016 (3. Sunu)
Presentation and Explaing Method 8.Sınıf
Bölüm 2: Bir Boyutta Hareket. Bölüm 2: Bir Boyutta Hareket.
EETE233 Mikrodenetleyiciler ArduIno ile Programlama
METOTLAR.
Problem Çözme ve Algoritmalar
C Programlama Yrd.Doç.Dr. Ziynet PAMUK BMM211-H03
DOĞAL SAYILAR TAM SAYILAR
MAT – 101 Temel Matematik Mustafa Sezer PEHLİVAN *
MAT – 101 Temel Matematik Mustafa Sezer PEHLİVAN *
Öğr. Gör. Mehmet Ali ZENGİN
Klavye Kullanımı.
KÜMELER HAZIRLAYAN : SELİM ACAR
Bölüm 3 Atama ve Girdi/Çıktı Komutları
PROBLEM ÇÖZME VE ALGORİTMALAR
Pascal’da Kullanılan Standart Prosedür ve Fonksiyonlardan Bazıları
Bilgisayar Mühendisliğine Giriş
3.hafta METODLAR.
Bölüm 7 İfadeler ve atamalar.
BİLGİSAYAR programlama II
İfadeler ve Aritmetik İşlemler
Bölüm 4: Kontrol Yapıları I (Seçim Yapma)
YAPISAL PROGRAMLAMA Hafta-4
Bilgisayar Mühendisliğine Giriş
Örnek: Dışarıdan rast gele girilen 10 tane sayıdan kaç tanesi tek ve kaç tanesi çift ayrıca tekleri ve çiftleri ayrı ayrı toplayan programı yazınız. var.
Bilgisayar Bilimi Koşullu Durumlar.
Karar Yapıları İle Problem Çözme
Serbest (Basit) Giriş/Çıkış İşlemleri Formatlı Giriş/Çıkış İşlemleri Temel Kütüphane Fonksiyonları (Intrinsic Functions) Karşılaştırma Operatörleri ve.
Format Deyimleri Örnekleri;
Bilgisayar Mühendisliğine Giriş
Sonlu Özdevinirlere Giriş
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 II 8 Mart Mart
NİŞANTAŞI ÜNİVERSİTESİ
Fonksiyonlar ve Alt Programlar
Değerler ve Değişkenler
Prof. Dr. Eşref ADALI Doç. Dr. Şule Gündüz Öğüdücü Sürüm-B
NİŞANTAŞI ÜNİVERSİTESİ
NİŞANTAŞI ÜNİVERSİTESİ
Bilgisayar Bilimi Programlama Yapısı.
NİŞANTAŞI ÜNİVERSİTESİ
NİŞANTAŞI ÜNİVERSİTESİ
Pascal’da Kullanılan Standart Prosedür ve Fonksiyonlardan Bazıları
NİŞANTAŞI ÜNİVERSİTESİ
MTM216 GÖRSEL PROGRAMLAMA
OLASILIK Uygulamada karşılaşılan olayların birçoğu kesin olmayan diğer bir ifadeyle belirsizlik içeren bir yapıya sahiptir. Olasılık kavramı kesin olmayan.
NİŞANTAŞI ÜNİVERSİTESİ
Sunum transkripti:

Fortran Proglama Dili’nin Esasları Temel Veri Tipleri (Data Types) Sabitler (Numeric Data Types) Tanımlayıcılar (Identifiers) Değişkenler (Variables) Paramater Deyimi Program Deyimi Implicit None Deyimi Atama Operatörleri (Assignment Statments) Aritmetik Operatörler (Aritmetic Operators) Dönüşümler

Giriş: Tüm Bilgisayar programlama dillerinde veri tipi ve değişken kavramı vardır. Fortran Programlama dilindeki temel veri tipleri (data type), tanımlayıcılar, değişkenler ve sabitlerdir. Veri Tipleri; Program içerisinde kullanılan değişken, sabit veya tanımlayıcılar (örneğin fonksiyon isimleri) veri tipleri bellekte ayrılacak bölgenin büyüklüğünü belirlemektedirler. Fortran Programlama dilinde temel olarak 5 veri tipi bulunmaktadır. Bunlar;

INTEGER REAL CHARACTER COMPLEX LOGICAL

INTEGER Veri tipi Bu veri tipi ile 0 ile 9 arasındaki sayıları içeren tamsayı bilgisi (pozitif veya negatif ) bellekte tutulur. Geçerli Veri Geçersiz Veri 8.67 235 5,8 -1539 --7 +238 57-

REAL Veri tipi Bu veri tipiyle 0 ile 9 arasıdaki rakamlardan oluşan gerçelsayı bilgisi (pozitif veya negatif ) bellekte tutulur. Geçerli Veri Geçersiz Veri 2.25 3,56 -112.5 18 +568.

Fortran programlama dilinde Gerçel Sayılar üstel gösterimle ifade edilirler. Programlama sırasında üstel gösterim kullanılması çok büyük ve çok küçük sayıları yazarken kolaylık sağlar. Örneğin 580.000 sayısı 5.80000E2 şeklinde ifade edilir. Bu aslında 5.80000 x 102 gösterimine eşdeğerdir. Benzer şekilde, aşağıdaki ifadeler birbirleri yerine kullanılabilinir; 5.80000E+2 5.80000e+2 0.58000E3 580.000E0 580000E-3

“Dersimiz Fortran Programlama” ile CHARACTER Veri tipi Karakter veri tipi, Fortran programlama dilinde kullanılan karakter topluluğundan seçilen rakamlar, harfler ve özel simgeler içeren semboller topluluğudur. Fortran'da karakter veri tipi tek (‘ ) veya çift tırnak (“ ) içinde belirtilir. Örneğin: “Dersimiz Fortran Programlama” ile ‘Dersimiz Fortran Programlama’ 26 karakter uzunlukta geçerli Karakter veri tipidir.

Geçerli Veri Geçersiz Veri “Bilgisayar” ‘Bilgisayar” ‘Bilgisayar Uygulamaları’ “Bilgisayar Uygulamaları’ “ Ali’nin Not Defteri” ‘Ali’nin Not Defteri’ Birden çok karakter sabit birleştirme operatörü (/ /) ile bir araya getirilir. Örneğin, “Jeofizikte bilgisayar uygulamaları” // “dersinde Fortran Programlama öğreniyoruz “ işlemi ile iki karakter sabit grubu tek bir grupta toplanabilir “Jeofizikte bilgisayar uygulamaları dersinde Fortran Programlama öğreniyoruz”

COMPLEX Veri tipi Fortran karmaşık (complex) sayılarla çalışmaya izin veren bir programlama dilidir. Herhangi bir complex sayı a + bi olarak bildiğimiz sayılardır gerçek kısım Sanal kısım Burada i2 = -1 dir. bir karmaşık sayı a ve b gerçel sayı olmak üzere, Fortran'da (a, b) şeklinde ifade edilir. Örneğin: (3.0, 4.0) 3.0 + 4.0i (0.0, 1.0) i (1.0, 0.0) 1.0 (1.3E-2, 0.1) 0.013 + 0.1i

LOGICAL Veri tipi Fortran'da mantıksal (logical) veri tipinin iki değeri vardır. Bunlar .TRUE. ve .FALSE. dır. Logical veri tipleri koşullu işlem gerektiren deyimlerde kullanılır. Örneğin aşağıdaki fonksiyon N sayısı çift ise doğru (.TRUE.) değilse yanlış (.FALSE.) değeri gönderir. LOGICAL FUNCTION Cift(N) INTEGER,INTENT(IN) :: N IF(MOD(N,2)=0) THEN Cift = .TRUE. ELSE Cift = .FALSE. END IF END FUNCTION

Tanımlayıcılar (Identifiers) Tanımlayıcılar (Identifiers) program içinde kullanılan; değişken, sabit, fonksiyon, modül, yapısal veri tipi gibi nesnelere verilen sembolik isimlerdir. Bir tanımlayıcı kullanırken aşağıdaki kullara uyma zorunluluğu vardır. Bir tanımlayıcı; en fazla 32 karakterden oluşabilir. 32 karakterden uzun değişken isimlerinde ilk 32 karakteri değerlendirilir. Geriye kalan karakterler işleme tabi tutulmaz, İngiliz alfabesinde bulunan karakterler (A-Z) veya (a-z), rakamlar (0-9) ve alt çizgi ('_') karakterleri kullanılarak oluşturulmalıdır. Türkçe karakterler, özel karakter veya boşluk karakteri kullanılamaz Tanımlayıcılar bir rakam ile başlayamaz. İlk karakter mutlaka bir harf olamalıdır. Sonraki karakterler rakamlardan oluşabilir.

Değişkenler Fortran'da, bir değişken tanımlandığında bu değişken için bellekte bir yer ayrılır. Değişkenin tipi, ilgili yere yazılacak sayısal verinin tipini belirler. Değişken adlarının geçerli bir tanımı olmalıdır ve programın başında bulunmalıdır. Değişken bildirimi şöyle yapılır: Veri Tipi :: değişkenler listesi Burada Veri Tipi genellikle beş temel veritipinden (INTEGER, REAL, CHARACTER, COMPLEX, LOGICAL ) birdir ve değişkenler listesi birbirinden virgüllerle ayrılmış değişken adlarıdır. Örneğin, INTEGER :: Atom_Numarasi, I, J, Yaricap REAL :: X, Ivme, Hiz COMPLEX :: Z, Impedance, gibi değişkenlere aşağıdaki gibi başlangıç değeri verme işi yine bildirim kısmında yapılır. INTEGER :: Atom_Numarasi = 2, I, J, Yaricap= 5 REAL :: X, Ivme = 9.8, Hiz = 100.0 asal geçerli – Momentum geçerli – ivme geçerli – olasilik geçerli – IsikHizi geçerli – isik_hizi geçerli Alt çizgi karakteri '_' kullanılabilir isik hizi geçersiz Boşluk karakteri kullanılamaz ışık_hızı geçersiz Türkçe karakter kullanılamaz 1Bit geçersiz rakam ile başlanamaz

Programlama dillerinde karakter toplulukları dizin veya dizi (string) olarak adlandırılır. Fortran'da, en fazla 10 karakter tutabilen Ad ve 20 karakter tutabilen Soyad dizinleri şöyle tanımlanabilir: CHARACTER (LEN=10) :: Ad CHARACTER (LEN=20) :: Soyad Dizin (String) uzunluğunu gösteren LEN deyiminin kullanımı isteğe bağlıdır. Bildirim aşağıdaki gibi de yapılabilir: CHARACTER (10) :: Ad CHARACTER (20) :: Soyad Dizin uzunlukları belirtmek için *n işlemi de kullanılabilir. Burada n dizin’in uzunluğunu gösterir. CHARACTER (10) :: Ad, Soyad*20 Burada Ad 10, Soyad 20 krakter uzunluğundadır.

Dizinlere ilk değer ataması aşağıdaki gibi yapılır: CHARACTER (10) :: Ad = "Mustafa" CHARACTER (20) :: Soyad = “Celebioglu" veya CHARACTER (10) :: Ad, Soyad*20 Ad = "Mustafa" Soyad = “Celebioglu" COMPLEX veri tipine sahip değişkenlerin bildirimi ise, COMPLEX :: Z1, Z2 şeklinde yapılır. Bu tip beğişkenkere başlangıç değeri verme, diğer veri tiplerinde olduğu gibi, bildirim kısmında yapılır: COMPLEX :: Z1 = (2.0, 5.0), Z2 = (1.8, -2.7)

PARAMETER Deyimi Program içerisinde sık kullanılan sabitlere isim vermek münkündür. Sabit bildirimi, başlangıç değeri verilen değişken bildirimi gibi yapılır. Ancak, veri tipinden sonra PARAMETER anahtar sözcüğü konmalıdır. Örneğin: REAL, PARAMETER :: Pi = 3.1415926, IkiPi = 2.0*Pi INTEGER, PARAMETER :: EOF= -1, Max = 100

IMPLICIT NONE Deyimi Bir değişkene veya sabit’e program başında bir tip verilmesi zorunlu değildir. Herhengi bir değişkenin tipi bildirilmemişse, Fortran bu değişkene INTEGER veya REAL veri tipi atar. Eğer değişkenin adı I, J, K, L, M, N (veya i, j, k, l, m, n) ile başlıyorsa, değişken INTEGER aksi halde REAL veri tipine sahipmiş gibi değerlendirilir. Bu özellik iç isim çevrimi (implicit naming conversion) olarak adlandırılır. İç isim çevrimini iptal emek için IMPLICIT NONE deyimi kullanılır. Böylelikle kullanıcı bütün değişkenlerin tipini kendi belirleme olanağı sağlar. Uzman Fortran programcıları IMPLICIT NONE deyimini her zaman kullanmayı tercih ve tavsiye ederler. IMPLICIT NONE REAL, PARAMETER :: Pi = 3.1415926 INTEGER :: I, N ...

Atama Operatörü (=) = sembolü birçok programlama dilinde bir eşitliği değil bir atama işlemini gösterir. Derleyici X = A + B gibi bir satırla karşılaştığında, önce = sembolünün sağındaki A + B işlemini hesaplayıp sonucunu X'e atar. Buna göre aşağdaki atamaları incelersek, IMPLICIT NONE INTEGER :: I, J, X = 2 I = X + 5 ! I = 7 I = I + 1 ! I = 8 X = X * 2 ! X = 4 J = X / 4 ! J = 1

Aritmetik Operatörler ( ), *, /, +, -, ** operatörleri aritmetik işlemlerde kullanılan operatörlerdir. Bunlar sırasıyla parantez içi, çarpma, bölme, toplama, çıkarma ve kuvvet alma operatörleridir.

Veri Tipi Dönüşümleri Bir formül içerisinde bir çok değişken ve sabitler olabilir. Bu değişken ve sabitler birbirinden farklı tipte olursa, hesaplamaların sonuçlarının hangi tipte olacağı çok önemlidir. Bir bağıntıda, içeriği dönüşüme uğrayan değişkenler eski içeriklerini korurlar. Dönüştürme işlemi için geçiçi bellek alanı kullanılır; dönüştürülen değer kullanıldıktan sonra o alan serbest bırakılır. Eğer Programımız içinde INTEGER L; REAL D; Sabitleri ile aşağıdaki işlemleri yaparsak; Bağıntı Sonuç Tipi ------- ---------- L+8 INTEGER L*5 INTEGER L+5.0 REAL D+L REAL D+L-2 REAL L/2 INTEGER L/2.0 REAL Tamsayılar arası bölme, kesme hatalarına (truncation error) neden olur. Bunun anlamı iki tamsayının oranı yine bir tamsayıdır. örneğin: 6/2 = 3; ama 5/2 = 2 (2.5 değil). Fakat 6/2.0 = 3.0 ve 5/2.0 = 2.5 dir.

Fortranda amaçladığımız sonuca göre bir sabitin veya değişkenin tipini uygun fonksiyonlarla değiştirebiliriz. IMPLICIT NONE REAL :: X INTEGER :: I, J I = INT(4.6) ! I = 4 anlamında J = NINT(4.6) ! J = 5 anlamında X = REAL(4) ! X = 4.0 anlamında X = 9/4 ! X = 2.0 anlamında X = REAL (9)/4 ! X = 2.25 anlamında X = REAL(I+J)/2 ! X = 4.5 anlamında

Fortran 90 ile gelen yeniliklerden biri olan ve programın anlaşılabilirliğini arttıran iki operatörden bahsedelim. Bu operatörler “&” ve ” ; “ sembolleri ile temsil edilir. & Operatörü Bu operatör sayesinde, uzun aritmetik deyimler içeren formülleri kesmek mümkündür. Örneğin: V = ( (X**2 + 2.*X + 3.)/(5.+Y)**0.5 - ((15. - 77.*X**3)/Y**1.5)**0.5 ) / (X**2 - 4.*X*Y - 5.*X**(-0.8)) gibi bir uzun formül aşağıdaki gibi ikiye V = ( (X**2 + 2.*X + 3.)/(5.+Y)**0.5 - ((15. - 77.*X**3)/Y**1.5)**0.5 ) & / (X**2 - 4.*X*Y - 5.*X**(-0.8)) veya üçe V = ( (X**2 + 2.*X + 3.)/(5.+Y)**0.5 - & ((15. - 77.*X**3)/Y**1.5)**0.5 ) & / (X**2 - 4.*X*Y - 5.*X**(-0.8)) bölünerek yazılabilir:

; Operatörü Bu operatör & operatörünün tersine, bir satırda birden çok işlem veya formülü yazmaya izin verir. Örneğin: Y = 1.2 - 9.8*t; x = 1.0 + 1.2*t - 9.8*t**2 ile Y = 1.2 - 9.8*t; x = 1.0 + 1.2*t - 5.0*t**2