Sunum yükleniyor. Lütfen bekleyiniz

Sunum yükleniyor. Lütfen bekleyiniz

BİL 112 Programlamaya Giriş: C

Benzer bir sunumlar


... konulu sunumlar: "BİL 112 Programlamaya Giriş: C"— Sunum transkripti:

1 BİL 112 Programlamaya Giriş: C
Öğrt. Gör. Dr. Ahmet Cengizhan Dirican Enformatik

2 Algoritma Bir problemin veya belirli bir işin nasıl yapılacağını tanımlayan adımlar kümesine algoritma denir. Algoritma, sonlu bir süreci tanımlayan, sıralı, kesin (açık) ve çalıştırılabilir adımlar kümesidir. Örn: Yemek pişirme  yemek tarifler Adres bulmak  Yol tarifleri Çamaşır yıkama  Makine kullanım talimatnamesi Bir makinenin (bilgisayarın) belirli problemi çözebilmesi veya bir görevi icra edebilmesi için öncelikle bu görevin yapılmasını sağlayacak bir algoritmanın keşfedilmesi gerekir. Daha sonra keşfedilen algoritmanın ilgili makineye uyumlu olarak ifade edilmesi gerekmektedir.

3 Program, Programlama ve Yazılım
Bir algoritmanın belirli bir makineye uyumlu gösterimine program denir. İnsanlar için programlar kağıt üzerinde veya bilgisayar ekranında gösterilir. Makineler için ise programlar makinenin teknolojisine uygun bir biçimde kodlanırlar. Bir programın geliştirilmesi, makineye uyumlu biçime kodlanması ve makine içine yerleştirilmesi sürecine programlama denir. Programlar, ve onların ifade ettikleri algoritmalar, toplu halde yazılım olarak ele alınır. Diğer bir tanımda yazılım, programlamayı ve bu konuyla ilgili dokümantasyonları içeren genel bir terimdir.

4 Programlama Süreci Programlama Süreci Problem Algoritma Program
Problemi çözecek bir algoritma geliştirilir. Program Seçilen bir programlama dili ile program kodlanır. Kurulma Geliştirilen program derlenmiş hali bilgisayara kurularak kullanıma hazır hale getirilir.

5 Yazılımların Sınıflandırılması (1/2)
Mesleki ve Ticari Yazılımlar. Örn: Muhasebe,stok kontrol ve hasta takip programları. Veri elde edilmesi, işlenmesi, raporlanması ve saklanması başlıca özellikleridir. İşlenen veri miktarı göreli olarak büyüktür. Zamanın büyük kısmı giriş/çıkış işlemleri için harcanır. Bilimsel ve Mühendislik Yazılımlar. Örn:Elektronik devre çözümü, simülasyon, bina kiriş/kolon hesabı programları. Matematiksel ve istatistiksel algoritmalar ağırlıklıdır. Yoğun olarak sayı ve sayı dizileriyle uğraşılır. Veri miktarı göreli olarak düşüktür. Matematiksel karmaşıklık başlıca ayırt edici özellikleridir. CPU kullanımları oldukça yüksektir.

6 Yazılımların Sınıflandırılması (2/2)
Yapay zeka yazılımları. Örn: Satranç oynayan programlar, uzman sistemler, doğal dil algılama ve robot programları İnsan davranışlarını taklit etmeyi amaçlayan programlar Görüntüsel Yazılımlar. Örn: Oyun ve animasyon programları. Görüntü işlemlerinin ve algoritmalarının yoğun olduğu programlardır. Bilgisayarın grafik arabirimini yoğun bir biçimde kullanırlar Sistem Yazımları. Örn: İşletim sistemleri, derleyiciler, editörler, haberleşme programları. Bilgisayar donanımına can veren yazılımlardır. Uygulama programlarına göre daha düşük seviyelidirler.

7 Programlama Dillerinin Sınıflandırılması (1/3)
Programlama dilleri “seviyelerine göre” veya “kullanım alanlarına” göre sınıflandırılabilirler. Seviye, bir programlama dilinin insan algısına olan yakınlığının bir ölçüsüdür. Dillerdeki seviye arttıkça programcının işi de kolaylaşır. Bununla birlikte genel olarak verimliliği (efficiency) ve esnekliği (flexiblity) azaltır.

8 Programlama Dillerinin Sınıflandırılması (2/3)
(kaynak:

9 Programlama Dillerinin Sınıflandırılması (3/3)
Kullanım alanlarına göre ise programlama dilleri aşağıdaki şekilde sıralanabilir: Bilimsel ve Mühendislik Diller: PASCAL, C ve FORTRAN Veritabanı Dilleri: DBASE, PARADOX, FOXPRO, SQL Yapay Zeka Dilleri: LISP, PROLOG Genel Amaçlı Diller: C ve PASCAL Sistem Programlama Dilleri: C and ASSEMBLY

10 Programlama Dillerinin Değerlendirilmesi
İfade Gücü (Expressivity) Veri Türleri ve Yapıları (Data Types and Structures) Giriş/Çıkış Kolaylığı (Input/Output facilities) Taşınabilirlik (Portability) Alt Programlama Yeteneği (Madularity) Verimlilik (Efficiency) Okunabilirlik (Readability) Esneklik (Flexibility) Öğrenme Kolaylığı (Pedagogy) Genellik (Generality) Yapısallık (Support for Structural Programming) Nesne Yönelimlilik (Object Orientation)

11 C Nasıl Bir Dil? Orta seviyelidir.
Genel amaçlı olmakla birlikte pek çok sistem programı C’yle yazılmaktadır. Algoritmiktir. Taşınabilirliği yüksektir. Atomiktir. Güçlüdür. Verimlidir. Eğitimi zordur. Yapısaldır. C++ ile nesne yönelimli özelliğe kavuşmuştur.

12 C Programlama Dilinin Tarihçesi: A, B, C, C++
AT&T labaratuvarlarında, 70’li yılların başında Dennis Ritchie tarafından yazılmıştır. Ken Thom tarafından yazılan B üzerine yeni fikirler eklenerek C oluşturulmuştur. Bundan sonra UNIX işletim sistemi ağırlıklı olarak C dili kullanılarak geliştirilmiştir. Dennis’in yazdığı kitapla meşhur olmuş yaygınlaşmıştır. “The C Programming Language”, 1978, ISBN: 1983 yılında ANSI tarafından standardize edildikten sonra yüksek oranda taşınabilir bir programlama dili olmuştur.


"BİL 112 Programlamaya Giriş: C" indir ppt

Benzer bir sunumlar


Google Reklamları