Sunum yükleniyor. Lütfen bekleyiniz

Sunum yükleniyor. Lütfen bekleyiniz

GİRİŞ/ÇIKIŞ İFADELERİ PROGRAMIN UYGULANMASI ÇEVİRME İŞLEMİ

Benzer bir sunumlar


... konulu sunumlar: "GİRİŞ/ÇIKIŞ İFADELERİ PROGRAMIN UYGULANMASI ÇEVİRME İŞLEMİ"— Sunum transkripti:

1 GİRİŞ/ÇIKIŞ İFADELERİ PROGRAMIN UYGULANMASI ÇEVİRME İŞLEMİ
FONKSİYONLAR GİRİŞ/ÇIKIŞ İFADELERİ PROGRAMIN UYGULANMASI ÇEVİRME İŞLEMİ BAĞLAMA-YÜKLEME PROGRAM GELİŞTİRME PROGRAM FONKSİYONLARININ BELİRLENMESİ PRODRAMIN KODLANMASI PROGRAMIN TEST EDİLMESİ PROGRAM DOKÜMANTASYONU HANGİ PRORAMLAMA DİLİNİ KULLANACAĞIZ?

2 FONKSİYONLAR Fonksiyonlar, bir sonuç üretecek hesaplamaları yapmak için kullanılan program parçalarıdır. Yordamlar kullanılarak da sonuçlar ana programa aktarılabilir. Ancak, fonksiyonlar kullanıldığında bu sonuç ana programa parametre listesi yerine fonksiyonun sonucu olarak aktarılacaktır[1].

3 Bunu C dilinde bir örnekle gösterelim:
KDV’yi hesaplayan bir fonksiyon yazalım Float kdv (float ödeme); { Float oran = 0.18; Return (ödeme* oran); } Bu fonksiyonu çağırmak için Toplam = kdv(ödeme); Şeklinde bir komut kullanılabilir. Yukarıda anlattıklarımız bize yordamları ve fonksiyonları kullanarak programlama dillerinin yeteneklerini arttırabileceğimizi göstermektedir.[1]

4 Giriş / Çıkış İfadeleri
Programlama dilleri içerisine, genellikle kullanıcı ile ilişki kurabilmek ve kullanıcı ile işletim sistemi arasında bilgi alışverişini sağlamak için komutlar dahil edilmiştir. Bu komutlar arasında, sonuçları ekrana veya kütüklere yazmak için kullanılan giriş/çıkış ifadeleri en çok bilinenleridir. Bu komutlar, genellikle sistemin içindeki işletim sisteminin fonksiyonlarını çağırmak için kullanılırlar[1].

5 Pascal dilinde Writeln(x); C dilinde Printf(%d, x);
Bu programlardan ilki pascal dilinde yazdırma yapmak, diğeri ise c dilinde x’in değerini ekrana yazmak için kullanılır.

6 Programın uygulanması
Programın yürütümünden kastımız, yazılan bir programın çalışır hale getirilmesi, amaçladığı uygulamayı gerçekleştirmesi için yapılacak işlemlerdir. Program yazılırken önce editörler kullanılır ve kaynak kodu elde edilir. Bu kodun bilgisayar açısından yazdığımız bir mektuptan farkı yoktur. Programın çalışan ve amaçladığı işlemleri yapan bir program haline gelmesi için üzerinde bazı işlemler yapılması gerekmektedir. Şimdi bu işlemleri göreceğiz.

7 Sözel Analiz (Lexical Analiz) Gramer Analizi ve Tanıma (Parser)
Çevirme İşlemi Çevirme işlemi kaynak kodunu nesne koduna dönüştürme (translation) işlemidir. Çevirme işlemi genellikle üç adımda gerçekleştirilir: Sözel Analiz (Lexical Analiz) Gramer Analizi ve Tanıma (Parser) Kod Üreteci

8 Sözel analiz sırasında kaynak kodunu oluşturan kelimeler incelenir
Sözel analiz sırasında kaynak kodunu oluşturan kelimeler incelenir. Bu sembol dizinlerinin makine dilinde karşılıkları bulunup bulunmadığı kontrol edilir. Bilgisayar açısından bakıldığı zaman bir program baytlardan oluşmuştur. Bu baytların peş peşe gelip kelime oluşturması bilgisayarı ilgilendirmez. Sözel analiz aşamasında, bu baytların oluşturdukları kelimelere göre gruplandırma yapılır. Örneğin; ASCII kodunda ardı ardına yazılan w-h-i-l-e harflerinin aslında tek bir kavrama karşı gelen while yapısı olarak değerlendirilecektir.

9 Gramer analizi, programın kendi gramer kuralları içinde doğru yazılıp yazılmadığını kontrol eder. Kendi sistematiği içinde tanır ve değerlendirir. Gruplanan harfler arasından anlamlı komutlar, değişken isimleri, satır sonu ifadeleri ve açıklama satırları belirlenir. Günümüz dillerinde programlar serbest formatta yazıldığı için, yani kelimeler sayfada herhangi bir kolonda başlayabildiği için tanıma işlemi karmaşık bir hale gelmiştir. Eski dillerin çoğunda, özellikle de Assembly dillerinde komutların belli bir kolondan, tanımların ise yine tanımlanmış başka kolonlardan başlaması gerekmekteydi. Bu yaklaşıma sabit format denmektedir.

10 Serbest formatta program yazılırken, komut sonunu belirten özel işaretler kullanılmalıdır. Örneğin; C dilinde bu amaçla ‘;’ kullanılır. Yine, her programlama dilinde komutlara karşılık gelen ayrılmış kelimeler mevcuttur. Bu kelimelerin program içinde başka amaçla kullanılması hatalara yol açacaktır. Örneğin; while kelimesi değişken adı olarak kullanılamaz. Gramer analizi yapılırken programlama dili için belirlenmiş bazı kurallar izlenir. Bu kurallar genellikle tanıma tabloları olarak belirlenmiştir. Tanıma tabloları akış diyagramları ile gösterilirler.

11 Bu tabloda a = x + y ifadesinin nasıl tanınacağı açıklanmıştır.
Aşağıdaki şekilde atama işlemini gösteren bir tanıma tablosu çizilmiştir. Atama Değişken = Tanım Atama tablosu Bu tabloda a = x + y ifadesinin nasıl tanınacağı açıklanmıştır.

12 Tanım olarak belirtilen kutu için ise benzer bir tablo aşağıdaki gibi olabilir.
Terim Tanım + - Tanım tablosu

13 Bu durumda a = x + y ifadesinin tanıma ağacı yukarıdaki ifadelere göre aşağıdaki gibi çıkartılabilir: Değişken a = Atama Tanım Terim + y x

14 Çevirme işleminin son aşaması kod üretimidir
Çevirme işleminin son aşaması kod üretimidir. Bu aşamada, tanınan komutlara karşılık gelen makine dili komutları üretilir. Bu işlemlerin sonunda ortaya kaynak kodundan (source kode ) çevrilen nesne kodu (object code) çıkmış olur. Kod üreteçleri peş peşe komutları birlikte değerlendirmeli ve birbirine yakın kodlar için ortak makine dili komutları üretebilmelidir. Bu sürece kod optimizasyonu denir. Yukarıda saydığımız üç adım, birbirlerinin peşi sıra değil, paralel olarak gerçekleştirilirler. Bu sayede analiz edilen ve tanınan bir komut doğrudan doğruya makine diline çevrilebilir.

15 Bağlama - Yükleme Çoğunlukla yukarıdaki adımlar sonucu üretilen nesne kodu bilgisayarda çalıştırılmaya hazır değildir. Bunun nedenlerinden birisi genellikle programlama dili içinde bulunan kütüphane fonksiyonlarına ve yordamlarına atıfta bulunulması ve bu birimlerin programa bağlanmamış olmasıdır. Bu yordamlar sistem yordamları olabileceği gibi programcı tarafından daha önce yazılmış program parçaları da olabilir. Bu durumda nesne kodu bağlama (linking) işlemine tabi tutulur. Bu işlem sonucu eksik parçalar program kodu içine eklenir ve program çalışmaya hazır hale gelir. Tek kullanıcılı sistemlerde bundan sonraki adım, programı çalıştırmak için gerekli komutları yazmak ve programın çalışmasını gözlemektir. Çok kullanıcılı sistemlerde ise bu işlemin yapılabilmesi programcının inisiyatifi dışında yükleyici tarafında yapılır. Yükleyici değişik programlara işlemci zamanı atayarak her birisinin çalışmasını sağlar.

16 Program Geliştirme Yazılımın büyüklüğüne bağlı olarak yapılacak analiz aşamasından sonra tasarım aşamasında program fonksiyonları belirlenir, daha sonra program kodlanır, test edilir ve gerekli dokümantasyon hazırlanır. Şimdi bu aşamalara kısaca değinelim.

17 Program fonksiyonlarının belirlenmesi
Program fonksiyonlarının belirlenmesi yazılımın yapması gereken işlerin belirlenmesidir. Bu aşama, işlerin nasıl yapılacağından bağımsızdır. Öncelikle, programın içeriği tarif edilir ve doküman haline getirilip programcıdan beklenenler belirlenebilir. Bu tür uygulamalar genellikle büyük yazılım projelerinde kullanılır.

18 Bir bilgisayar programının üç temel bileşeni vardır: 1. Çıktılar
Bir program yazımında en büyük amaç belirli çıktılar elde etmek olduğuna göre çıktıların belirlenmesi en önemli konulardan birisidir. Çıktının şu özellikleri belirlenmelidir: İçerik, Format, Zamanlama.

19 Veriye erişebilirlik(yani verinin hangi yolla elde edileceği),
2. Girdiler Çıktılar veriler üzerinde yapılan işlemlerin sonucu olduğundan girdi olarak kullanılacak verilerin aşağıdaki özelliklerinin de belirlenmesi gerekir: Gerekli veriler, Veriye erişebilirlik(yani verinin hangi yolla elde edileceği), Verinin formatı.

20 Programın çalıştırılabilmesi için gerekli cihazlarda belirlenmelidir.
3. İşlemler Programa girdiler verilmekte ve buna karşılık çıktılar alınmaktadır. Girdilerden çıktıların alınması bazı işlemlerin sonucudur. Bu işlemlerin neler olacağı geliştirme aşamasında belirlenmelidir. Programın çalıştırılabilmesi için gerekli cihazlarda belirlenmelidir.

21 Programın Kodlanması Programın algoritmasının geliştirilip, tasarımının tamamlanmasının ardından programın kodlanması işlemi gelir. Kodlama, detaylı algoritmanın bir programlama dilinde ifade edilmesi demektir. Program yazma sürecinde program söz dizimine (syntax) tam olarak uyulması gerekir. Kelimeler aynen ve aynı sırada kullanılmalı, noktalama işaretleri unutulmamalı veya fazladan noktalama işaretleri olmamalıdır. Baştan iyi tasarlanmış programda kodlama işin en kolay yönüdür.

22 Anlamlı değişken isimleri kullanılmalıdır,
Kodlama genellikle bir editör kullanarak yapılır. Editör çıktısına kaynak kodu denir. Kaynak kodu yazılırken aşağıdaki hususlara dikkat edilmesi programın anlaşılmasını ve takip edilmesini kolaylaştıracaktır. Anlamlı değişken isimleri kullanılmalıdır, Program parçaları değişik kolonlardan başlamalıdır, Program içinde yeterli sayıda boş satır bulunmalıdır, Açıklama satırları kullanılarak program daha anlaşılır hale getirilmelidir.

23 Programın Test Edilmesi
Kodlanan program önce gözle kontrol edilmelidir. Burada göze hatalı gelen satırlar düzeltilmeli ve noktalama işaretlerinin olması gerektiği gibi kullanılmasına özen gösterilmelidir. Daha sonra, programın derlenmesi sırasında derleyici söz dizimi hatalarını bulacak ve bu hatalar düzeltilerek işlem sonuç elde edinceye kadar tekrarlanacaktır. Sözdizim hatası vermeden çalışan buna karşılık istenen sonucu vermeyen programlardaki hataların bulunması işlemine çapar ayıklama (debugging) denir. Bu tür hatalar mantık hataları olduğundan bulunabilmeleri için test verileri kullanılır yada program adım adım çalıştırılır.

24 Program Dokümantasyonu
Dokümantasyon, program algoritmasının tasarımının, kodlama yöntemlerinin, test metotlarının ve kullanım amaçlarının detaylı olarak açıklamasıdır. Dokümantasyon işlemini programın bitimine bırakmamalı, bu işlem programın geliştirilmesi süresince yapılmalıdır. Büyük programlama projelerinde programcıların program geliştirimi bitmeden değişebileceği unutulmamalıdır. Genellikle, dokümantasyon program geliştirilmesi sırasında en az önem verilen, buna karşılık program bittikten ve kullanılmaya başlandıktan sonra, en çok eksikliği duyulan öğedir.

25 Hangi Programlama Dilini Kullanacağız?
Bu konuda çoğu zaman programcılar değil, yönetim karar verir. Kuruluşun genel politikaları arasında araştırma, geliştirme yöntemleri belirlenirken kullanılacak programlama dilleri de belirlenir. Bu programcıların hiç söz hakkı yoktur anlamına gelmemelidir. Programlama dilini kim seçerse seçsin aşağıdaki kurallara uyulması gerekir.

26 Dil, yetenekleri açısından, çözülmesi gereken probleme uygun olmalıdır
Dil, yetenekleri açısından, çözülmesi gereken probleme uygun olmalıdır. Programlama dili mümkün olduğunca açık ve basit olmalı, üçüncü şahıslar tarafından rahatlıkla okunabilmelidir. Verimli bir geliştirme aracı ve derleyici olmalı, bilgisayarın kaynaklarını en iyi şekilde değerlendirmelidir. Bulunabilirlik ve yaygın kullanımı olması elde edilen ürünün başka yerlere satılabilmesini de kolaylaştıracaktır. Ayrıca, karşılaşılan sorunları danışabileceği destek birimleri programlama dili üreticisinin sağlaması gereken en önemli unsurdur. Bunun varlığı dilin değerini arttırır.

27 Kurum politikası da programlama dilinin seçiminde önemli bir faktördür
Kurum politikası da programlama dilinin seçiminde önemli bir faktördür. Yazılan program, kuruluş içinde çalışan diğer programlarla uyumlu olmalı, onlarla aynı dili konuşmalıdır.


"GİRİŞ/ÇIKIŞ İFADELERİ PROGRAMIN UYGULANMASI ÇEVİRME İŞLEMİ" indir ppt

Benzer bir sunumlar


Google Reklamları