27
• 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 GİRİŞ/ÇIKIŞ İFADELERİ PROGRAMIN UYGULANMASI ÇEVİRME İŞLEMİ BAĞLAMA-YÜKLEME

Embed Size (px)

DESCRIPTION

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. - PowerPoint PPT Presentation

Citation preview

Page 1: FONKSİYONLAR  GİRİŞ/ÇIKIŞ İFADELERİ  PROGRAMIN UYGULANMASI  ÇEVİRME İŞLEMİ  BAĞLAMA-YÜKLEME

• 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

Page 2: FONKSİYONLAR  GİRİŞ/ÇIKIŞ İFADELERİ  PROGRAMIN UYGULANMASI  ÇEVİRME İŞLEMİ  BAĞLAMA-YÜKLEME

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].

FONKSİYONLAR

www.ogrenciyiz.net

Page 3: FONKSİYONLAR  GİRİŞ/ÇIKIŞ İFADELERİ  PROGRAMIN UYGULANMASI  ÇEVİRME İŞLEMİ  BAĞLAMA-YÜKLEME

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

Page 4: FONKSİYONLAR  GİRİŞ/ÇIKIŞ İFADELERİ  PROGRAMIN UYGULANMASI  ÇEVİRME İŞLEMİ  BAĞLAMA-YÜKLEME

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

Page 5: FONKSİYONLAR  GİRİŞ/ÇIKIŞ İFADELERİ  PROGRAMIN UYGULANMASI  ÇEVİRME İŞLEMİ  BAĞLAMA-YÜKLEME

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

Page 6: FONKSİYONLAR  GİRİŞ/ÇIKIŞ İFADELERİ  PROGRAMIN UYGULANMASI  ÇEVİRME İŞLEMİ  BAĞLAMA-YÜKLEME

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

Page 7: FONKSİYONLAR  GİRİŞ/ÇIKIŞ İFADELERİ  PROGRAMIN UYGULANMASI  ÇEVİRME İŞLEMİ  BAĞLAMA-YÜKLEME

Ç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:

1. Sözel Analiz (Lexical Analiz)2. Gramer Analizi ve Tanıma (Parser)3. Kod Üreteci

www.ogrenciyiz.net

Page 8: FONKSİYONLAR  GİRİŞ/ÇIKIŞ İFADELERİ  PROGRAMIN UYGULANMASI  ÇEVİRME İŞLEMİ  BAĞLAMA-YÜKLEME

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

Page 9: FONKSİYONLAR  GİRİŞ/ÇIKIŞ İFADELERİ  PROGRAMIN UYGULANMASI  ÇEVİRME İŞLEMİ  BAĞLAMA-YÜKLEME

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

Page 10: FONKSİYONLAR  GİRİŞ/ÇIKIŞ İFADELERİ  PROGRAMIN UYGULANMASI  ÇEVİRME İŞLEMİ  BAĞLAMA-YÜKLEME

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

Page 11: FONKSİYONLAR  GİRİŞ/ÇIKIŞ İFADELERİ  PROGRAMIN UYGULANMASI  ÇEVİRME İŞLEMİ  BAĞLAMA-YÜKLEME

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.

www.ogrenciyiz.net

Page 12: FONKSİYONLAR  GİRİŞ/ÇIKIŞ İFADELERİ  PROGRAMIN UYGULANMASI  ÇEVİRME İŞLEMİ  BAĞLAMA-YÜKLEME

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

Tanım

Terim Tanım

+

-

Tanım tablosu

www.ogrenciyiz.net

Page 13: FONKSİYONLAR  GİRİŞ/ÇIKIŞ İFADELERİ  PROGRAMIN UYGULANMASI  ÇEVİRME İŞLEMİ  BAĞLAMA-YÜKLEME

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ımTerim +

Terim

y

x

www.ogrenciyiz.net

Page 14: FONKSİYONLAR  GİRİŞ/ÇIKIŞ İFADELERİ  PROGRAMIN UYGULANMASI  ÇEVİRME İŞLEMİ  BAĞLAMA-YÜKLEME

Ç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

Page 15: FONKSİYONLAR  GİRİŞ/ÇIKIŞ İFADELERİ  PROGRAMIN UYGULANMASI  ÇEVİRME İŞLEMİ  BAĞLAMA-YÜKLEME

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

Page 16: FONKSİYONLAR  GİRİŞ/ÇIKIŞ İFADELERİ  PROGRAMIN UYGULANMASI  ÇEVİRME İŞLEMİ  BAĞLAMA-YÜKLEME

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

Page 17: FONKSİYONLAR  GİRİŞ/ÇIKIŞ İFADELERİ  PROGRAMIN UYGULANMASI  ÇEVİRME İŞLEMİ  BAĞLAMA-YÜKLEME

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

Page 18: FONKSİYONLAR  GİRİŞ/ÇIKIŞ İFADELERİ  PROGRAMIN UYGULANMASI  ÇEVİRME İŞLEMİ  BAĞLAMA-YÜKLEME

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

Page 19: FONKSİYONLAR  GİRİŞ/ÇIKIŞ İFADELERİ  PROGRAMIN UYGULANMASI  ÇEVİRME İŞLEMİ  BAĞLAMA-YÜKLEME

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

Page 20: FONKSİYONLAR  GİRİŞ/ÇIKIŞ İFADELERİ  PROGRAMIN UYGULANMASI  ÇEVİRME İŞLEMİ  BAĞLAMA-YÜKLEME

3. İşlemlerPrograma 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

Page 21: FONKSİYONLAR  GİRİŞ/ÇIKIŞ İFADELERİ  PROGRAMIN UYGULANMASI  ÇEVİRME İŞLEMİ  BAĞLAMA-YÜKLEME

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

Page 22: FONKSİYONLAR  GİRİŞ/ÇIKIŞ İFADELERİ  PROGRAMIN UYGULANMASI  ÇEVİRME İŞLEMİ  BAĞLAMA-YÜKLEME

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

Page 23: FONKSİYONLAR  GİRİŞ/ÇIKIŞ İFADELERİ  PROGRAMIN UYGULANMASI  ÇEVİRME İŞLEMİ  BAĞLAMA-YÜKLEME

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

Page 24: FONKSİYONLAR  GİRİŞ/ÇIKIŞ İFADELERİ  PROGRAMIN UYGULANMASI  ÇEVİRME İŞLEMİ  BAĞLAMA-YÜKLEME

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

Page 25: FONKSİYONLAR  GİRİŞ/ÇIKIŞ İFADELERİ  PROGRAMIN UYGULANMASI  ÇEVİRME İŞLEMİ  BAĞLAMA-YÜKLEME

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

Page 26: FONKSİYONLAR  GİRİŞ/ÇIKIŞ İFADELERİ  PROGRAMIN UYGULANMASI  ÇEVİRME İŞLEMİ  BAĞLAMA-YÜKLEME

• 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

Page 27: FONKSİYONLAR  GİRİŞ/ÇIKIŞ İFADELERİ  PROGRAMIN UYGULANMASI  ÇEVİRME İŞLEMİ  BAĞLAMA-YÜKLEME

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