Bilgisayar Programlama 1.Hafta
Ders Planı 1. Bilgisayar Programlamaya Giriş 2. C Derleyicileri 3. GCC Kullanımı 4. Veri Tipleri ve Operatörler 5. Kontrol Yapıları 6. Döngüler 7. Döngüler 2. Hafta 8. Fonksiyonlar 9. Fonksiyonlar 2. Hafta 10. Diziler 11. İşaretçiler 12. İşaretçiler 2. Hafta 13. Yapılar (Structures) 14. Dosya İşlemleri
Kaynaklar C ve C++ Deitel & Deitel Sistem Yayıncılık Dr. Harvey M. Deitel, Paul J. Deitel Herkes için C Herbert Schildt C ile Programlama Prof. Dr. Mithat UYSAL www.cprogramming.com
Bilgisayar : Donanım ve Yazılım Bilgisayar, insanların yapabileceğinden milyonlarca kat hızlı bir şekilde matematiksel veya mantıksal işlemler yapabilen bir cihazdır.
Bilgisayar Programlama Program, belli bir söz dizimi yapısına uygun olarak donanıma nasıl davranacağını anlatan komut dizisidir. Programda belirtilen komutlar doğrudan işleme konulmaz. Bilgisayar, verilen komutları makine dilinde işlemek zorundadır. Programı makine diline çevirecek olan programlar derleyiciler (compiler) veya yorumlayıcılardır. (interpreter)
Bilgisayar kullanarak bir problemin çözümünde uygulanması gereken 3 adım vardır: - Veri girişi - İşlemler - Çıktı
Matematikte ve bilgisayar biliminde, bir işi yapmak için tanımlanan, bir başlangıç durumundan başladığında açıkça belirlenmiş bir durumda sonlanan, sonlu işlemler kümesine ALGORİTMA denir.
Algoritmanın daha kolay anlaşılabilmesi için akış şemaları kullanılır.
Üçgenin alanını hesaplayan bilgisayar programı için gerekli algoritmayı yazınız. 1. Adım Başla 2. Adım Taban kenarının uzunluğunu gir 3. Adım Üçgenin yüksekliğini gir 4. Adım Alanı hesapla (taban*yükseklik/2) 5. Adım Alanı ekrana yazdır 6. Adım Bitir
Girilen iki sayıdan büyük olanı ekrana yazdıran bilgisayar programı için gerekli algoritmayı yazınız. 1. Adım Başla 2. Adım Birinci sayıyı gir 3. Adım İkinci sayıyı gir 4. Adım Birinci sayı > İkinci sayı ise 6. Adıma git 5. Adım İkinci sayıyı yazdır ve 7. Adıma git 6. Adım Birinci sayıyı yazdır 7. Adım Bitir
Programlama Dilleri Hiyerarşisi Yüksek Seviyeli Diller (C/C++, Java, C#, PHP vb.) Assembly Dili Makine Dili Donanım
Assembly Dilinde Yazılmış Örnek Program LD B, 32H ; B 'ye 32H Yükle LD C, A2H ; C 'ye A2H Yükle LD A, C ; C 'yi A'ya Yükle ADD A, B ; A ve B'yi topla sonucu A'da sakla OUT (01H), A ; A'daki değeri 01H çıkışına gönder HALT ; Programı sonlandır
Assembly Dilinde Yazılmış Programın Makine Dilinde Karşılığı Hafıza Bölgesi LD B, 32H LD C, A2H LD A, C ADD A, B OUT (01H), A HALT 0 0 0 0 0 1 1 0 0 0 1 1 0 0 1 0 0 0 0 0 1 1 1 0 1 0 1 0 0 0 1 0 0 1 1 1 1 0 0 1 1 0 0 0 0 0 0 0 1 1 0 1 0 0 1 1 0 0 0 0 0 0 0 1 0 1 1 1 0 1 1 0 06 32 0E A2 79 80 D3 01 76
LD B, 32H ; B 'ye 32H Yükle LD C, A2H ; C 'ye A2H Yükle LD A, C ; C 'yi A'ya Yükle ADD A, B ; A ve B'yi topla sonucu A'da sakla OUT (01H), A ; A'daki değeri 01H çıkışına gönder HALT ; Programı sonlandır Yüksek seviyeli diller kullanıldığında matematiksel işlemler operatörler ile yapılabildiğinden toplama işlemi aşağıdaki gibidir. B=15; C=20; A = B + C;
Programlama Dillerinin Gelişimi
C Programlama Dili AT&T Bell laboratuvarlarında, Ken Thompson ve Dennis Ritchie tarafından UNIX İşletim Sistemi' ni geliştirebilmek amacıyla B dilinden türetilmiş yapısal bir programlama dilidir. Ken Thompson Dennis Ritchie
Günümüzde neredeyse tüm işletim sistemlerinin yapımında %95' lere varan oranda kullanılmış, halen sistem, sürücü yazılımı, işletim sistemi modülleri ve hız gereken her yerde kullanılan oldukça yaygın bir dildir.
Neden C? - C, yüksek seviyeli bir dildir. Bu nedenle C dili ile program geliştirmek zor değildir. - Çok sayıda hazır fonksiyonlar barındıran kütüphane mevcuttur. Bu da program yazmayı kolaylaştırır. - Derlenme süresi oldukça kısadır. Bir iki saniye içerisinde 1000 satırlık bir kodu derleyebilirsiniz. - Performans olarak kendini kanıtlamış bir dildir. - Taşınabilirdir. C ile yazılmış programlarınızı neredeyse hiç değişiklik yapmadan farklı işletim sistemlerinde çalıştırmak üzere derleyebilirsiniz.
İlk C Programımız #include <stdio.h> int main() { printf("merhaba, dünya"); } return 0;