270 likes | 484 Views
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?. FONKSİYONLAR.
E N D
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? www.ogrenciyiz.net
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]. www.ogrenciyiz.net
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] www.ogrenciyiz.net
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]. www.ogrenciyiz.net
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. www.ogrenciyiz.net
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. www.ogrenciyiz.net
Ç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 www.ogrenciyiz.net
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. www.ogrenciyiz.net
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. www.ogrenciyiz.net
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. www.ogrenciyiz.net
Değişken Tanım = Aşağıdaki şekilde atama işlemini gösteren bir tanıma tablosu çizilmiştir. Atama Atama tablosu Bu tabloda a = x + y ifadesinin nasıl tanınacağı açıklanmıştır. www.ogrenciyiz.net
+ Terim Tanım - Tanım olarak belirtilen kutu için ise benzer bir tablo aşağıdaki gibi olabilir. Tanım Tanım tablosu www.ogrenciyiz.net
Atama Terim + Tanım = Değişken x a Terim y Bu durumda a = x + y ifadesinin tanıma ağacı yukarıdaki ifadelere göre aşağıdaki gibi çıkartılabilir: www.ogrenciyiz.net
Ç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. www.ogrenciyiz.net
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. www.ogrenciyiz.net
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. www.ogrenciyiz.net
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. www.ogrenciyiz.net
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. www.ogrenciyiz.net
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ı. www.ogrenciyiz.net
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. www.ogrenciyiz.net
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. www.ogrenciyiz.net
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. www.ogrenciyiz.net
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. www.ogrenciyiz.net
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. www.ogrenciyiz.net
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. www.ogrenciyiz.net
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. www.ogrenciyiz.net
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. www.ogrenciyiz.net