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

Slides:



Advertisements
Benzer bir sunumlar
HTML.
Advertisements

X86 Assembly Programlama Dilinde
Bilgisayar Programlama I
Karar Verme: Eşitlik ve Karşılaştırma Operatörleri
Algoritma ve Akış Diyagramları
Tuğba DEMİREL
Problemi Çözme Adımları
Bölüm 2 C Dilinin Temelleri
C Programlama Diline Giriş
Bilgi Teknolojisinin Temel Kavramları
Bilgisayar Yapısı-Genel
Atama ve Girdi/Çıktı Komutları
4 Kontrol Yapıları: 1.Bölüm.
TEMEL BİLGİSAYAR BİLİMLERİ
SQL de Değişken Tanımlama
BPR151 ALGORİTMA VE PROGRAMLAMA - I
Fonksiyonlar ve Alt Programlar
Bölüm 3 – Yapısal Programlama
Yazılım Test Süreci. Yazılım test süreci Test Hazırlık Adımında Neler Yapılmalıdır? Test edilecek yazılıma ait analiz ve teknik tasarım aşamaları ile.
Bölüm 2 C Dilinin Temelleri Genel Kavramlar
Yapısal Program Geliştirme – if, if-else
ALGORİTMA ve PROGRAMLAMA
HTML (HYPER TEXT MARKUP LANGUAGE) TEMEL ETİKETLERİ
Fonksiyonlar.
İNTERNET PROGRAMCILIĞI I BTP 207 Ders 9. Tek değişkende birden fazla bilgi tutulmak istendiğinde kullanılır. Kullanım şekli: var dizi_adı= new Array(eleman1,
Nesneye Dayalı Programlama
Görsel C# ile Windows Programlama
Bilgisayar Programlama
Bilgisayar Programlama
C++ Temelleri C++ genel amaçlı, nesne tabanlı, yüksek seviye programlama dilidir.
C ile Programlamaya Giriş
Metotlar.
FONKSİYONLAR.
Derleyici Teorisine Giriş
JAVA’DA DÖNGÜLER.
ENF 204 Bilgisayar Programlama Algoritma ve Akış Diyagramları
BİLGİSAYAR MUHASEBE YAZILIMLARI
Bilgi Teknolojisinin Temel Kavramları
Programlama Dilleri Visual Basic C# C++ Pascal Delphi.
PROGRAMLAMA 2. Hafta TEMEL KAVRAMLAR.
Python Programlama Dilini Oyun Oynayarak Öğreniyorum
Bölüm 3 Atama ve Girdi/Çıktı Komutları Bölüm 3 Atama ve Girdi/Çıktı Komutları Atama Komutu Operatörler İsim Sabitleri Veri Tipi Dönüşümü Çıktı Fonksiyonu.
BMS-301 Kabuk Programlama Güz 2015 (5. Sunu) (Yrd. Doç. Dr. Deniz Dal)
DERS 4 MİKROİŞLEMCİ PROGRAMLAMA. Dr. Emin Argun Oral, Atatürk Üniversitesi 2008 Ders 4, Slayt 2İÇERİK Yüksek seviyeli programlama dilleri Düşük sevyeli.
Adım Adım Algoritma.
Bilgisayar Programlamaya Giriş - 1
Ders 2 Algoritma İfade Şekilleri
Genel Kavramlar Bölüm - 1. YAZILIM Bilgisayara işlemler yaptırabilmek ve karar verdirtebilmek için yazılan kalıplara denir. Yazılım, genel olarak donanım.
PROGRAMLAMA MANTIĞI, ALGORİTMA PROBLEM ÇÖZME
Bölüm 2 C Dilinin Temelleri Genel Kavramlar Yazım ve Noktalama Kuralları C Kütüphaneleri C Dilindeki Sözcükler Değer Sabitleri Veri Tipleri Değişkenler.
Akış Diyagramları - 1. Akış Diyagramı  Algoritmalar doğal dille yazıldıklarında herkes tarafından aynı biçimde anlaşılmayabilir.  Ancak, akış diyagramlarında.
ALGORİTMA DERS 3 AKIŞ ŞEMALARI.
Sistem Analizi ve Tasarımı
Programlamaya Giriş-I Bölüm-1. Algoritma Algoritma günlük yaşamımızda yaptığımız işler sırasında sıklıkla kullandığımız bir yöntemdir. Algoritma, bir.
Mikrobilgisayar Tasarım Yapıları
C Programlama Dili Bilgisayar Mühendisliği.
Bölüm 2 C Dilinin Temelleri
FONKSİYONLAR.
Problem Çözme Yaklaşımları
Bilgisayar Bilimi Problem Çözme Süreci-2.
Problemi Çözme Adımları
EĞİTİMDE BİLGİSAYAR KULLANIMI
Bilgisayar Mühendisliğine Giriş
Mikrobilgisayar Tasarım Yapıları
ALGORİTMALAR VE PROGRAMLAMAYA GİRİŞ
Problem Çözme ve Algoritmalar
Akis diyagramı Örnekleri
NİŞANTAŞI ÜNİVERSİTESİ
Bölüm 2 C Dilinin Temelleri
C ile Programlamaya Giriş
Sunum transkripti:

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? 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

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 www.ogrenciyiz.net

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

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. www.ogrenciyiz.net

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

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 www.ogrenciyiz.net

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

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ı. www.ogrenciyiz.net

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

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