Sunum yükleniyor. Lütfen bekleyiniz

Sunum yükleniyor. Lütfen bekleyiniz

Jeofizikte Bilgisayar Uygulamaları

Benzer bir sunumlar


... konulu sunumlar: "Jeofizikte Bilgisayar Uygulamaları"— Sunum transkripti:

1 Jeofizikte Bilgisayar Uygulamaları
FORTRAN Programlama Dili

2 Programlama ve Temel Kavramlar
Program; Bilgisayara ne yapması gerektiğini bildiren komutlar (Kod, Deyim) topluluğuna verilen isimdir. Bu komutları veren kişiye Programcı, komutların tamamına ise Programlama dili denir. Herhangi bir dil bilen bir programcı ile bilgisayar (Makine dili biliyor) arasındaki iletişimin gerçekleşmesi: Birbirleri ile farklı dilleri konuşan iki yabancı kişinin (İngilizce , Türkçe vb.) bir araya gelip görüşmesine benzetilebilir. Bu görüşme ancak bir çevirmen aracılığı ile gerçekleşebilir. Benzer şekilde bilgisayar üreticileri aynı sorunu programcının dilini bilgisayarın makine diline çevirecek ‘Derleyici Programlar’ geliştirerek çözmektedirler.

3 DERLEYİCİ VE YORUMLAYICI KAVRAMLARI
Yazılan programları makine diline çeviren, makine dilinde elde edilen sonuçları bizlerin anlayabileceği biçime dönüştüren programlara Derleyici veya Yorumlayıcı denir. Kaynak komutların makine diline çevrilmesi : Derleyici (Compiler) Yorumlayıcı (Interpreter) Kaynak Program Makine Dili İkili sayı (BInary digiT-BIT) formatındaki gösterime makine dili denir. Mantıksal olarak “1” var, “0” yok anlamındadır. Sayısal sistemler ikili mantığa göre çalışırlar.

4 Derleyici: Bir programlama dili ile yazılmış olan programı makine dilini kullanarak amaçladığımız programa dönüştürür. Derleyicinin çevirme işlemi genellikle üç adımdan oluşur; 1. Sözel Analiz (Lexical Analysis) 2. Yazım Hatası Analizi (Syntax Analysis) 3. Kod üretimi (Code Generator)

5 Sözel Analizde kaynak kodlarını oluşturan kelimler incelenip bu kelimelerin kaynak dilinde karşılıkları olup olmadıkları kontrol edilir, Yazım hatası analizinde kaynak kodlarının yazıldığı programlama dilinin kendi kuralları içerisinde doğru yazılıp yazılmadığı kontrol edilir. Kod üretimi aşamasında ise tanımı yapılan komutlara karşılık gelen makine dili komutları üretilir. Bu adımlar birbirine paralel olarak gerçekleştirilir ve kaynak komutlar amaçlanmış olan koda çevrilmiş olur.

6 Yorumlayıcı: Program komutlarının ilk satırından son satırına kadar belirtilmiş olan deyim ve işlemleri inceleyerek kaynak programın hatalarının düzeltilmesine olanak veren ve çalışmasını sağlayan programdır. Herhangi bir komut satırının çalıştırılmasında bir hata ile karşılaştığında çalışmayı durdurur ve hatalı olan satırı programcıya bildirir. Derleyici ile Yorumlayıcının Farkı: Derleyici programın tamamını kontrol eder, herhangi bir satırında hata varsa program satırları bittikten sonra hatayı gösterir. Yani kaynak kodu bir defa çevirir. Yorumlayıcı ise programın herhangi bir satırında hata varsa çalışırken hatalı olan satıra geldiğinde durur ve hata mesajı verir. Hata düzeldikten sonra tekrar birinci satırdan itibaren kodu çevirir.

7 PROGRAMLAMA DİLLERİ 1.1. Makine Dili ile Kodlama Problemimiz öncelikle, bilgisayarın özellikleri ve mevcut komutlarla yapabileceği işlemler dizisi biçiminde ifade edilir; daha sonra programcı tarafından bu, bilgisayarın makine dilinde yazılır. Makine dilinde yazılan bu program gerekli veri ile birlikte, bilgisayarca doğrudan uygulanabilir ve aranan sonuçlar bulunur. Ancak makine dili ile programlamada bazı önemli güçlükler ortaya çıkmaktadır. Tüm komutların makine dili ile kodlanması; komutların makine tarafından uygulandığı sırada yazılması ve yanlışlıkla ya da başka bir nedenle bazı komutlar atlanmışsa, bundan sonraki bütün komutların araya eklenenler için ötelenmesi ve adreslemenin yenilenmesi zorunluluğu;bütün program düzenlemesinin programcı tarafından yapılması; programcının kullandığı bilgisayarı çok iyi anlamış olma gereği bu güçlüklere örneklerdir.

8 1.2. Programlama Sistemleri
Programlama sistemleri genel olarak derleyici programdan oluşur (bir programlama dili ve bir birleştirici). Programlama dili, programcı tarafından kolayca öğrenilebilecek ve yazılabilecek, bilgi işlem sisteminin yapım özellikleri ve yapılacak işlemler arasında uzlaşma sağlayabilecek bir şekilde olmalıdır. Bu dil içinde, diğer herhangi bir dildeki gibi, dilbilgisi, noktalama ve yazma kuralları olacağı açıktır. Bir bilgisayarda programlama sistemlerinin (derleyicilerin) bulunması makine dilinde programlamanın güçlüklerini büyük ölçüde azaltır. Birleştirici program ve derleyiciler, programların makine dili dışında probleme yönelmiş bir dilde hazırlanabilmesi olanağını sağlar. Programlama dilinde makine diline çeviriyi, birleştirici ya da derleyici aracılığı ile, bilgisayarın kendisi yapmaktadır.

9 1.3. Sembolik Programlama Sistemleri
Sembolik programlama sistemleri, programcıyı makine dili ile kodlamanın güçlüklerinden büyük ölçüde kurtarmaktadır ancak, belli bir bilgisayara göre hazırlandıklarından ve sistemin programlama dilinin kısmen makineye yönelik olmasından dolayı makine dili düzeyinde çalışan, öğrenilmeleri oldukça uzun süren sistemlerdir ve her bilgisayar için farklıdır, diğer bir deyişle makineye bağımlıdır dolayısyla her bilgisayarda ayni dil kullanılamamaktadır.

10 1.4. Probleme Yönelmiş Diller ve Derleyiciler
FORTRAN, COBOL, PASCAL, ALGOL, C, C++, vb. programlama sistemlerine bazı örneklerdir. Bu tür programlama sistemleri ile çalışmada, temel programın derleyici program aracılığı ile bilgisayarca, belli kurallara uyarak makine dili programına çevrilmesine derleme denir. Derleme sırasında rastlanan dil kurallarına aykırı olan hatalar özel hata mesajları ile bilgisayarca programcıya bildirilir. Probleme yönelmiş dillerin en önemlilerinden biri, bilimsel ve mühendislik araştırma ve uygulamaları için geliştirilen ve en yaygın olarak kullanılan FORTRAN dilidir. FORTRAN adı, formül çevirisi anlamındaki, İngilizce "FORmula TRANslation" kelimelerinin ilk hecelerinden oluşur. FORTRAN dili sayısal hesapla ilgili herhangi bir problemin kolaylıkla ifade edilebilmesini sağlayacak biçimde düşünülmüştür. Komutlar ya da deyimler herhangi bir güçlük olmaksızın anlaşılabilir ve yorumlanabilir. Bazı deyimler problemin matematiksel bağıntılarına çok benzer.

11 Tarihçe; IBM'de çalışan John W. Backus ve ekibi 1953 yılının sonlarında, assembler diline alternatif olarak IBM 704 ana-bilgisayarında daha verimli çalıbilecek bir programlama dili önermişler, "The IBM Mathematical FORmula TRANSslating System" isimli 32 deyim içeren ilk Fortran derleyicisini geliştirmişler ve yılında dağıtımına başlamışlardır Takip eden yıllarda yeni sürümler gelişerek, 1958'de FORTRAN II ve FORTRAN III, 1961'de FORTRAN IV, 1966'da FORTRAN 'de FORTRAN 77 derleyicileri kullanıma sunulmuştur. Uzun bir süre sonra, bir çok önemli değişiklikler yapılmış ve ANSI 1992 standardı ile tescillenmiş hali ile Fortran 90 sürümü oluşturulmuştur. Hemen ardından, birkaç küçük değişiklikle Fortran 95 geliştirilmiştir. Fortran 90/95 sürümlerinde nesne tabanlı özellik kazanmıştır. Daha sonraları nesneye dayalı (object-oriented) ve genel programlama (generic-programming) özellikleri eklenerek Fortran 2003 standardı belirlenmiştir yılında da "Co-Array Fortran" özelliği ile paralel işlem (parallel processing) yeteneği kazanmıştır.

12 IBM 704 IBM 360

13 Neden Fortran? Fortran, sayısal hesaplamada güçlü ve yeterince esnek bir dildir. Fortran, tanımlayıcı adları küçük-harf büyük-harf ayrımı yapmaz (case insensitive). Yani Tablo veya tablo veya TABLO değişken adları aynı değişkeni temsil eder. Fortran, basit bir yapısı olduğu için, programlama giriş iyi bir dildir. Fortran, farlı platformlada derleyicilere sahiptir. Fortran, özel veri tipi tanımlamasına izin verir. Fortran, diğer dillerde olamayan esnek kütüphane fonksiyonlarına sahiptir. Fortran, sayısal hesaplamada C/C++, Java ve görsel programlama dillerinden daha güçlü ve hızlıdır.

14 2.1. GİRİŞ Program bir komutlar ( deyimler ) dizisidir ve herhangi bir problemin çözümü için kullanılan hesap düzenini tanımıdır . Çözümde bir bilgisayardan yararlanılacaksa , programın bilgisayar özellilerine uygun bir programlama dili ile yazılması gerekir . Bilgisayar , programdaki komutları aksi belirtilmedikçe , yazıldığı sırada yerine getirir . Gereğinde program bir komutlar kümesinin belli düzende tekrarlanmasını yada duruma göre belirli dallanmaları sağlayacak özel komutlarda içerebilir ; böylece programı kısaltmak mümkün olur . FORTRAN programlama dili oldukça basittir ve normal matematik diline çok yakındır. FORTRAN sistemi , FORTRAN dili ve FORTRAN derleyicisinden oluşur .

15 Bilimsel çalışmalarda, mühendislik araştırmaları ve uygulamalarda yapılan hesapların çoğunda değişik büyüklükte sayılarla çalışılır . Güvenilir sonuçlar elde edilmesi için bu hesaplarda mümkün olduğu kadar çok anlamlı rakamı olan sayılarla çalışılması gerekir . Sabit kelime uzunluklu ve değişken kelime uzunluklu bilgisayarda bir sayının gösterilmesi için bellekte sabit sayıda pozisyon ayrılır . Bu sabit pozisyon sayısına incelik veya hassasiyet( prezisyon ) denir . Sayılar ikiye ayrılır : tam sayılar , gerçel sayılar . Tam sayılar desimal noktası olmayan sayılardır . Bunların büyüklük sınırları bilgisayar özelliklerine bağlıdır . Gerçel sayılar ise desimal noktalı ondalık sayılardır . Gerçel sayıların bilgisayar belleğinde saklanmasından önce bilgisayarca sayı düzenlenir . Diğer bir deyişle desimal nokta sayının sıfırdan farklı en önemli rakamın soluna kaydırılır ve gerekli düzeltme 10 un üsleri şeklinde sayının yanına yazılır . Düzenlenmiş sayının kesirli kısmı mantis , desimal noktanın kaydırıldığı hane sayısına üs denir . Gerçel sayıların büyüklük sınırları da bilgisayar özelliklerine bağlıdır 2.2. SAYILAR

16 2.3. Fortran Aritmetiği Bilgisayarla yapılan hesaplarda işleme giren büyüklüklerin tamsayı yada gerçel sayı olması , işlemlerin yapılışı ve sonuçlar yönünden büyük farklılıklar gösterir . Tamsayı aritmetiği, tamsayılarla yapılan işlemler anlamındadır; her işlemin sonucu da tamsayı olacak biçimde kesilir, yuvarlatma yapılmaz . Kesme işlemi öncelik sırasına göre yapılan bütün işlemler için söz konusudur . Bu nedenle bu tür aritmetik işlemlerin yapılış sırası ve parantezler çok önemlidir . Tamsayılar programlarda eleman numarası , indis, vb. amaçlar için kullanılır . Aritmetik işlemler çoğunlukla gerçel sayılarla yapıldığından tamsayı artimetiğinin bu özelliği bir sakınca değildir . Gerçel sayı aritmetiği , gerçel sayılarla yapılan işlemler anlamındadır . Burada kesirler hassasiyet (presisyon) hanesi kadar rakamla gösterilir ; diğer hanerler bilgisayar özelliklerine göre ya kesilir , ya da yuvarlatılır .

17 2.5. Karakterler Simge/Anlam
2.4. Fortran Alfabesi FORTRAN alfabesi 10 nümerik , 26 alfabetik ve 13 özel karakterden oluşmaktadır . 2.5. Karakterler Simge/Anlam Nümerik Alfabetik A B C D E F G H I J K L M N O P R S T U V W Y Z Özel boşluk boşluk bırakma = yerine koyma + artı - eksi * çarpı / bölü ( aç parantez ) kapa parantez . nokta , virgül ' apotrof " tırnak & ve işareti

18 2.6. Fortran Deyimleri Bir FORTRAN programı bir takım deyimlerden oluşur . Deyimler programın hesap düzeni ile ilgili olarak , bilgisayara bilgi verilmesini, işlemlerin yapılmasını ve uygulamasını, gerekli kararların verilmesini, sonuçların dış ortama alınmasını sağlar Deyimlerle bağlantı kurabilmek için , deyimler numaralanabilir . Uygulama sırası yönünden deyim numaralarının sırasının bir önemi yoktur . Deyim numaraları sadece hesap düzeninin gereği olarak bu deyimlerle dallanabilme olanağı sağlar; iki deyime asla aynı numara verilemez .

19 3.1. DEYİMLER , GÖREVLERİ ve ADLARI
3.1.1 Aritmetik deyimler; Yapılacak işlemleri denetler Giriş -Çıkış deyimleri; Dış ortamla bilgisayar arasında bilgi alışverişi sağlar Yönetim deyimleri; Programdaki deyimlerin icra sırasını yönetir Bildiri deyimleri; Derleyiciye bilgi verir Altprogram deyimleri; Alt programları tanımlamaya ve kullanmaya yarar

20 3.1.2 Giriş / Çıkış deyimleri
3.1.1 Aritmetik deyimler 3.1.2 Giriş / Çıkış deyimleri Değişken = tanımlama Giriş /çıkış deyimleri bilgisayarla dış ortam arasındaki bilgi alışverişini sağlar, Çevre bellekte bilgi saklanması yada çevre bellekten bilgi alınması olanağını sağlar. Giriş /çıkış birimini ve ortamını belirler, Bilginin giriş ortamında yerleşme ve çıkış ortamında yerleştirilme biçimini belirler, Bellekte bilgi alışverişi yapacak data alanlarını belirtir.

21 Başlıca Giriş / Çıkış deyimleri şunlardır;
READ PRINT WRITE FORMAT Birçok programlama dilinde standart giriş klavye, standart çıkış kullanıcı ekranı (monitör) olarak belirlenmiştir. Ancak veri giriş/çıkışı bir dosyadan da yapılabilir. Bu durum aşağıdaki şekilde gösterilmiştir DERLEYİCİ ÇIKIŞ GİRİŞ PProgram READ PRINT WRITE Klavye Ekran Dosya Dosya

22 Fortran'da, giriş için READ, çıkış için PRINT ve WRITE deyimleri kullanılır. Bu deyimlerin formatlı (formated) ve formatsız veya serbest format (free format) olmak üzere iki kullanımı vardır. Formatsız kullanımda okuma/yazma biçimi derleyici tarafından, formatlı kullanımı ise programcı tarafından belirlenir.

23

24

25


"Jeofizikte Bilgisayar Uygulamaları" indir ppt

Benzer bir sunumlar


Google Reklamları