Sıra | DOSYA ADI | Format | Bağlantı |
---|---|---|---|
01. | Programlamaya Giriş: C | pptx | Sunumu İndir |
Transkript
GENEL KAVRAMLARBİL 112 Programlamaya Giriş: CÖğrt. Gör. Dr. Ahmet Cengizhan DiricanEnformatik
Tipik bir bilgisayarın genel yapısı.Bilgisayarİşlemci (CPU): Merkezli işlem birimiBellek (RAM): Geçici hafıza birimill i i ı i i iKontrol Ünitesi(Control Unit)Yazmaçlar (Registers)Veri Yolları(Bus)Sabit Disk (Hard Disk): Sürekli Hafıza Diğer AygıtlarÖn Bellek (Cache Memory): ll ( r ):Aritmetik / Mantıksal Ünite(Arimetic/Logic Unit)ÇıktıGirdi
Çekirdek(Kernel)İşletim sistemi bilgisayar kaynaklarını (CPU, bellek, sabit disk, diğer aygıtlar) yöneterek kullanıcı ile bilgisayar arasındaki iletişimi sağlayan aşağı seviyeli bir sistem programıdır.İşletim Sisteminin Temel GörevleriMerkezi İşlem Birimi YönetimiBellek YönetimiDisk YönetimiDosya Sistemi YönetimiDiğer AygıtlarınYönetimiİşletim SistemiÇekirdek(Kernel)Kabuk (Shell)
Bir programlama dilinde yazılmış olan kodu işlevi aynı olacak şekilde başka bir programlama diline çeviren programlara denir.Çevirici Programlar
Kaynak dili yüksek seviyeli bir dil, amaç dili alçak seviyeli bit dil olan çevirici programlara derleyici denir. Alçak seviyeli dil genellikle sembolik makine dilidir.Belirli bir dilde yazılan bir programı makine diline çeviren programlara derleyici denir. Derleyiciler (1/2)
Derleyicilerin çıktısı olan amaç kodun işletim sistemine göre anlamı değişebilir. ,Derleme işlemi sonucunda oluşan amaç koda yeniden yüklenebilir amaç kod (relocatable object module) denilmektedir.DOS işletim sisteminde çalışabilir bir kod üretmek için bağlayıcı (linker) denilen alçak seviyeli bir dönüştürücü programa daha ihtiyaç duyar.Derleyiciler (2/2)
Derleme işlemi sırasında tespit edilen hata mesajları3 kısma ayrılabilir.Uyarılar (Warnings): Derleyici tarafından tespit edilen olası uyuşmazlıkları, hatalı kullanımları veya problemleri işaret eder. Derleme kesilmez, sadece programcı uyarılır.Gerçek Hatalar (Errors): Derleyici tarafından tespit edilen açık, genellikle sentaks veya semantik, hatalardır. Derleme kesilmeyebilir.Ölümcül Hatlar (Fatal Errors): Diskte yer kalmaması gibi sistemdeki önemli problemler sonucu oluşur. Derleme kesinlikle kesilir.Hata Mesajları
Yorumlayıcılar kaynak programı kısım-kısım veya satır-satır ele alarak doğrudan çalıştıran programlardır.Yorumlayıcılar amaç kod üretmezler.Yorumlayıcılar derleyicilere göre kolay yazılırlar.Yorumlayıcıların programı icra zamanı (run time) yüksektir.Yorumlayıcılar her zaman kaynak koda ihtiyaç duyarlar, bu kaynak kodun gizliliği açısından önemli bir dez avantajdır.Örn: vbScript, JavaScript, HTMLYorumlayıcılar
Microsoft ve BorlandTümleşik Geliştirme Ortamları (Integrated Development Environment)Editör, Derleyici ve Bağlayıcı aynı ortamda sunulur. Gelişmiş pek çok ayar grafiksel olarak sunulan ara yüzle gerçekleştirilir. Daha çok hafıza gerektirir.Konut SatırıEditör, Derleyici ve Bağlayıcı ayrık programlardır.Daha az hafıza gerektirir.C- Derleyicileri
İlk İşlemci: Intel, 1974, 8080Ardından: Motorola 6800, Zilog Z80, Bunlar 8 bit’ti ve 64K bellek adresleyebiliyordu1978, Intel, 8086: 16 bit ve 1M bellek adresleyebiliyordu1981: IBM: Intel 8086 + Microsoft DOS = İlk PC Mikro İşlemciler
Bilgisayar sistemlerinde bütün bilgiler ikilik sistemde 1 ve 0 biçiminde ifade edilebilen elektriksel işaretlerle saklanır.İkilik sistemde her bir basamağa “bit” denir.10101110 sayısı 8 bittir.Bir byte 8 bittir.1Kilo Byte (KB) = 1024 byte1 Mega Byte (MB) = 1024 KB1 Giga Byte (GB) = 1024 MB1 Tera Byte (TB) = 1024 GB…Bit ve Byte KavramlarıAnswer:100.012 = 4.25
Bilgisayarda karakterler ASCII (American Standard Code for Information Interchange ) tablosu ile belirlenmiş sayılar ile kodlanmışlardır.Bilgiyi Saklama: Karakterler, yazı
8 bit kullanarak en büyük ve en küçük sayılar:0000 0000 = 01111 11111 = 255Negatiflik?İkiye Tümleme Gösterimi (Two’s Complement Notation)8 bit kullanarak İkiyi Tümleme gösterimine göre en büyük ve en küçük sayılar1000 0000 = -128011111111 = 127Örn: 8 bit kullanarak İki’ye tümleme Gösterimiyle:23 = 00010111-12 = 11110100Bilgi Saklama: Tam Sayılar
Kesirli sayılar için özel formatlar kullanılır.Kayan Noktalı GösterimBilgi Saklama: Kesirli Sayılar3.25= 0 1 1 0 1 1 0 1Örn: 3.25 sayısını 8 bitlik kayan noktalı gösterimi şu şekildedir.3.25 (onluk) = 11.01 (ikilik)• Sayı pozitif işaret biti “0”• Normalize ediyoruz: 11.01 = 0.1101 x 2^2• Mantissa: . 1101• Exponent: 2• Excess-4 Gösterime göre 2 = 110
2’lik sistemde sayılar çok yer kaplar.10’luk sistemden 2’lik sisteme sayıları çevirmek zordur.Bu sebeple 8’lik veya 16’lık sayı sistemleri kullanılır.8’lik ve 16’lık Sayı Sistemleri
Algoritma bir problemin çözümünü oluşturan sıralı, açık ve çalıştırılabilir adımlar kümesiydi.Örnek: Telefon Etme1. Başla.2. Ahizeyi kaldır.3. Sinyali kontrol et, sinyal yoksa arızaya haber ver ve 9. adım’a git.4. Eğer telefon numarası yurt dışında ise iki kere sıfır tuşuna bas ve ülke ve alan kodunu tuşla, 6. adıma git.5. Eğer telefon numarası şehir dışında ise bir kere sıfır tuşuna bas ve alan kodunu tuşla.6. Telefon numarasını tuşla.7. Eğer hat meşgul ise ya da cevap vermiyorsa 9. adıma git.8. Telefon konuşmasını gerçekleştir.9. Telefonu kapat.10. Bitiş.Algoritma(Bu örnek “Çağıltay, Selbes, Tokdemir ve Turhan”’ın hazırladığı Programlamaya Giriş ders notu, Bölüm 1’den ndan alınmıştır.)
Bir problemin değişik algoritmalarla üretilmiş pek çok çözümü olabilir.Bu algoritmalar aşağıda verilen üç temel nitelik üzerinden karşılaştırılabilir.Hafıza GereksinimiAçıklıkHızHız diğer bir deyişle algoritmanın karmaşıklığını (complexity) ifade eder.Algoritmada seçilen bir işlemin (basic operation) kaç en iyi durumda (best case), ortalama durumda (average case) ve en kötü durumda (worst case) kaç defa çalıştırılacağını ifade eder.Çeşitli karmaşıklık sınıfları: logn (logaritmik), n (linear), nlogn, n^2 (quadratic), n^3 (cubic), 2^n (exponential) , n! (factorial)Algoritma Karmaşıklığı
Akış diyagramı, bir algoritmayı oluşturan adımların şematik bir biçimde gösterilmesidir.Bilgisayarın problemi çözerken yürütmesi gereken mantığı gösterir.Aslında herhangi bir problem için program yazmadan önce yapılması gereken bir şeydir. Akış Diyagramları belirli manaları olan bir kısım standart şekiller veya kutucuklar kullanılarak çizilir..Akış Diyagramları (1/3)
Örnek: Telefon Etme algoritması akış diyagramı:Akış Diyagramları (2/3)(Bu şekil Çağıltay, Selbes, Tokdemir ve Turhan’ın hazırladığı Programlamaya Giriş ders notu, Bölüm 1’den ndan alınmıştır.)
Bu örnekte “http://www.dahiweb.com/algoritma-ve-akis-diyagrami-ornekleri-temeller” kaynağından yararlanılmıştır.Örnek:Klavyeden girilen 3 sayıyı toplayan ve ortalamasını alarak sonuçları ekrana yazdıran programın algoritmasını ve akış diyagramını tasarlayınız.Akış Diyagramları (3/3)1. Başla2. Birinci sayıyı oku ve x ‘ e kaydet.3. İkinci sayıyı oku ve y ‘ ye kaydet.4. Üçüncü sayıyı oku ve z’ ye kaydet.5. top=x+y+z işlemini yap.6. ort=top/3 işlemini yap.7. top ve ort değerlerini ekrana yazdır.8. BitirAkış DiyagramıAlgoritma ProgramProgram Çıktısı