1 / 26

Bilgisayar Programlama I

Bilgisayar Programlama I. Öğr .Gör. Fırat YÜCEL Akdeniz Üniversitesi Enformatik Bölümü. İçerik. Bilgisayar Programlamaya Giriş Amaç Bilgisayarın Temel Bileşenleri Bilgisayar Programlama Dillerine Genel Bakış Program Geliştirme Aşamaları. Amaç.

callum
Download Presentation

Bilgisayar Programlama I

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Bilgisayar Programlama I Öğr.Gör. Fırat YÜCEL Akdeniz Üniversitesi Enformatik Bölümü

  2. İçerik • Bilgisayar Programlamaya Giriş • Amaç • Bilgisayarın Temel Bileşenleri • Bilgisayar Programlama Dillerine Genel Bakış • Program Geliştirme Aşamaları

  3. Amaç • Bilgisayarın farklı bileşenlerini tanımlamak • Programlama dilleri ve kategorilerini bilmek • Program geliştirme aşamalarını anlamak ve bu aşamaları problem çözümü için uygulamak

  4. Bilgisayar • Bilgisayar, verilen özel komutlara göre değişik iş ve işlemleri gerçekleştiren bir makinedir.

  5. Donanım (Hardware) • Merkezi İşlem Birimi (CPU: CentralProcessingUnit) İşlemci, bilgisayarın beynidir. Milyonlarca oldukça küçük elektronik parçalardan oluşmuştur. Sistemdeki temel hesaplamaları gerçekleştirir. İşlemcilere örnek olarak Pentium, Athlon ve SPARC verilebilir.

  6. Donanım (Hardware) • Bellek (Hafıza) Bellek, verilerin ve CPU’nun kendisinden istenen görevleri gerçekleştirebilmesi için komutların tutulduğu yerdir. Bellekler, ilişkili adreslere sahip farklı saklama alanlarından (hücrelerden) oluşur. CPU, bu adresler yardımıyla belleğe erişir.

  7. Donanım (Hardware) • Giriş ve Çıkış Birimleri Giriş ve çıkış birimleri, bilgisayarın dış dünyadan veri almasını ve dış dünyaya çıktı vermesini sağlayan birimlerdir. • Giriş birimlerine örnek olarak klavye, fare ve mikrofon verilebilir. Çıkış birimlerine örnek ise, monitörler, yazıcılar ve hoparlörler gösterilebilir.

  8. Yazılım (Software) • Bilgisayarın işlevlerini yerine getirmek için kullandıkları programlara yazılım denir. • Yazılımlar, sabit disk gibi bazı donanım aygıtlarında tutulur, fakat soyut bir kavramdır. • Programlar, işlemci tarafından yorumlanabilen komutlardan oluşmuştur.

  9. Bilgisayar Programlarının Türleri • Donanım ve yazılımın birbiriyle uyumlu bir şekilde çalışmasını sağlayan programlardır. Örneğin; Linux, Windows, Unix, Solaris, MacOS gibi işletim sistemleri… • Kişilerin, bilgisayardaki görevleri yerine getirebilmeleri için kullandıkları programlardır. Örneğin; kelime işlemci, oyun programları, hesap tabloları… • Bilgisayarlar, yalnızca bir dilden anlar: makine dili. Makine dili 0 ve 1’lerden oluşur. Uygulamada, kişilerin 0 ve 1’leri kullanarak program yazmaları pek mümkün değildir, bu nedenle insanların kolaylıkla anlayabilecekleri ve makine diline dönüştürülebilen bir dile ihtiyaç vardır. Bu dönüştürme işlemi için derleyiciler kullanılmaktadır.

  10. Programlama Dili • Programlama dili, bilgisayara komutları göndermek için standardize edilmiş bir haberleşme tekniğidir. • İnsanların dillerine benzer şekilde, her bir dil kendi kurallarına ve gramerine sahiptir. • Programların yazımında kullanılan, değişik programlama dilleri vardır, fakat hangi dili kullanırsak kullanalım, girilen komutlar bilgisayarın anlayabileceği makine diline dönüştürülmelidir.

  11. Programlama Dillerinin Kategorileri • Yüksek düzeyli programlama dilleri, daha kullanıcı dostu olan bir programlama dili özelliğini taşır. Bazı yüksek düzeyli programlama dilleri, platformdan bağımsızdır. Bir programlama ifadesi, bir derleyici yardımıyla bir veya birkaç makine komutuna dönüştürülür. • C, Pascal, Cobol, Delphi,… • Assembly dili, makine diline benzer; fakat ona göre daha basittir. Çünkü programcıya, makine dilindeki sayılar için isimler belirlemeye izin vermektedir. Assembly dilleri her CPU ailesi için kullanılabilir ve her assembly komutu, bir dönüştürücü(assembler) program yardımıyla makine komutuna dönüştürülür.

  12. Program Geliştirme Aşamaları

  13. 1. Problem Tanımı • Problem, girdi ve çıktı gereksinimleri belirlenerek iyi bir şekilde ve açıkça tanımlanmalıdır. • Açıkça tanımlanan problem, zaten yarı yarıya çözümlenmiş demektir. • Örnek problem: “Bir listede, bir adın kaç kez geçtiğini bulan bir program yazınız.”

  14. 2. Problem Analizi • Problem tanımlanır tanımlanmaz, çözüm için en basit, etkili ve uygun yaklaşım belirlenmelidir. Genellikle bu adım küçük ve basit alt problemlerde atlanabilir. • Örnek Problem: Bir listede bir adın kaç kez bulunduğunu hesaplayınız. • Program Girdisi: İsim listesi, aranacak isim • Program Çıktısı: Aranan ismin listedeki sayısı

  15. 3. Algoritma • Algoritma, problemin çözümü için gerekli adımların açık ve kesin tanımıdır. Bu tanımlama ya insan diliyle komutlar şeklinde, ya da akış şeması gösterimi veya sözde kodlar (pseudeocode) yardımıyla gerçekleştirilir.

  16. İnsan Dili ile Yazım • Toplama işlemi • Başla • Birinci sayıyı gir (sayi1) • İkinci sayıyı gir (sayi2) • Sayıları topla (sonuc = sayi1 + sayi2) • Sonucu ekrana yaz. • Bitir. • Akış şeması ile ifade ediniz.

  17. Akış Şeması Başla Sayi1 gir. Sayi2 gir. Sonuc = Sayi1 + Sayi2 Sonuc yazdır. Bitir

  18. Akış Şeması Sembolleri

  19. Akış Şeması Sembolleri

  20. İnsan Dili ile Yazım • Listedeki bir öğenin sayısını bulma: • Listedeki isimleri klavyeden gir • Aranacak ismi klavyeden gir. • Listedeki her bir isim ile aranan ismi karşılaştır. • Eğer aranan isim listedeki isim ile aynıysa, sayaç değerini 1 artır. • Eğer listedeki bütün isimler karşılaştırıldıysa, sonucu yazdır.

  21. Akış Şeması

  22. Sözde Kod (PseudeuCode) • isim = klavyeden girilen isimler • aranan = klavyeden girilen aranan isim • sayac = 0 • İsim listesindeki her bir isim için; • Eğer isim == aranan • sayac = sayac + 1 • sayac değişkenini görüntüle.

  23. 4. Kodlama ve Hata Ayıklama • Algoritma hazırlandıktan sonra, kaynak kodlarını oluşturmak artık mümkündür. Algoritmadaki adımlar kullanılarak, seçilen bir programlama dilinde program yazılabilir. • Çoğu zaman, programcı programı yazdıktan sonra, hemen %100 doğru çalışmaz. Programcı, oluşan hatalara (bugs) bakarak, programın hatalarını düzeltir. Bu işleme, hata ayıklama (debugging) adı verilir.

  24. Hata Türleri • Derleme zamanı hatası (compile-time error), kodlarda bir yazım hatası olduğunda ortaya çıkar. Derleyici, programdaki hataları tespit eder ve hata varsa program derlenmez.bu noktada, programcı, hataları düzeltene kadar programı çalıştıramaz. • Derleyiciler mükemmel değildirler. Bu yüzden, derleme zamanında koddaki bazı hatalar tespit edilemez. Bu genellikle mantık hatalarında ve sonsuz döngülerde görülür. Bu tip hatalara ise çalışma zamanı hatası (runtimeerror) adı verilir.

  25. Alıştırmalar • Aşağıdaki problemlerin algoritmasını sözde kod ve akış şeması kullanarak oluşturunuz. • İki sayının toplamını bulma • Ekmek pişirme • Üç sayının ortalamasını bulma • Bir sözcükteki karakter sayısını bulma • Bir dersten başarılı olup olmadığını bulma (%30 ara sınav, %5 ödev, %5 proje, %60 dönem sonu sınavı)

  26. Kaynakça • Balagtas, F.T. IntroductiontoProgrammingStudent’sManual, Java Education & DevelopmentInitiative, ver. 1.3, June 2006, pp. 10-18. (http://edu.netbeans.org/contrib/jedi/Intro-to-Programming-1/student-manual.pdf)

More Related