4. Bölüm Programlamaya Giriş
Algoritma ve Programlamaya Giriş Dr. Serkan DİŞLİTAŞ 4.1. C# ile Program Geliştirme Net Framework, Microsoft firması tarafından açık internet protokolleri ve standartları üzerine işletim sistemi ve donanım seviyesinden daha üst seviyede taşınabilir olarak tasarlanmış bir uygulama geliştirme platformudur. Microsoft.Net Framework Software Development Kit (SDK), yazılım geliştiricilerin.net Framework uygulamalarını yazmak, derlemek, test etmek ve dağıtmak amacıyla ihtiyaç duyduğu araçlar, dokümantasyon ve örnekleri içermektedir..net platformunun öğesi olan C# programlama dili, Microsoft tarafından C, C++, Java ve Visual Basic dillerinin bir türevi olarak geliştirilmiş en güncel ve popüler nesne tabanlı yapısal programlama dilidir (Şekil 4.1). Şekil 4.1..Net Framework bileşenleri 46
4. Bölüm: Programlamaya Giriş C++, Pascal vb. geleneksel programlama dillerinde, yazılan programın kaynak kodları derlenerek makine diline çevrilir, işletim sistemi ile doğrudan bağlantı kurularak çalıştırılır..net Framework platformunda ise yazılan programın kaynak kodları, öncelikle MSIL (Microsoft Intermediate Language) yapısına çevrilmektedir. MSIL kodları işlemci tarafından tanınmaz ve doğrudan çalıştırılamaz (Şekil 4.2.). CLR (Common Language Runtime) yapısı ile MSIL kodları, işletim sisteminden bağımsız olarak.net Framework olan bütün bilgisayarlarda çalışır duruma getirilmektedir. CLR,.NET altyapısında programların çalışmasını kontrol eden ve işletim sistemi ile program arasında yer alan arabirimdir..net Temel Sınıf Kütüphanesi Source Code DLL / COM Diğer Programlama Bileşenleri MSIL Microsoft Intermediate Language CLR Common Language Runtime EXE Executable Machine Code Şekil 4.2. C# programlarının derlenmesi Visual Studio IDE kullanılarak Konsol, Windows Form, Mobil, Web, Web Servis vb. uygulamalar geliştirilebilmektedir. 47
Algoritma ve Programlamaya Giriş Dr. Serkan DİŞLİTAŞ 4.2. C# Program Yapısı C# programının temel yapısı Şekil 4.3 te görülmektedir. Şekil 4.3. C# program yapısı Bir C# programı; temel olarak namespace, class, method yapılarından oluşmaktadır. 48
4. Bölüm: Programlamaya Giriş Method (Metot) Geleneksel programlama dillerindeki altprogram ve fonksiyonlar,.net Framework platformunda metot olarak adlandırılmaktadır. C tabanlı dillerde ana metot main () metodu olup, diğer tanımlanan metotlar bu ana metot içerisinden çağrılarak kullanılır. Class (Sınıf) Veri ve Metotların bir araya gelmesiyle oluşan yapılardır. Namespace (İsim Uzayı) Sınıf kütüphaneleridir. C# dilinde using anahtar kelimesi ile programa namespace - sınıf kütüphaneleri eklenebilmektedir. C# ile program geliştirmede dikkat edilecek kurallar: C# dilinde Küçük-Büyük Harf Duyarlılığı vardır. C# ta tüm deyim ve ifadeler noktalı virgül (;) karakteri ile sonlanmalıdır. C# ta program icrası, main( ) metotu ile başlar. C# ta program dosya adı, sınıf adından farklı olabilir. Program içerisinde derleyici tarafından dikkate alınmayan, tek satırlık (//. ) ve çok satırlı (/*.. */) açıklama satırı verilebilir. // Bu satır açıklama satırıdır. /* */ Açıklama Satırı Açıklama Satırı Açıklama Satırı Açıklama Satırları, program içerisinde derleyici tarafından dikkate alınmayan, programın anlaşılırlığını artıran tek satır veya bloklar halindeki yazılardır. Anahtar Kelimeler (Keywords), derleyici tarafından önceden belli bir işlevi yerine getirmek için tanımlanmış kelimelerdir. Anahtar Kelimeler, isimlendirme işlemlerinde olduğu gibi kullanılamazlar. Programlama deyimi, normal yazım dilindeki bir cümle gibi, bir programdaki en küçük bağımsız birimidir. Çoğu programlama dilinde olduğu gibi C# dilinde de program deyimleri noktalı virgül (;) karakteri ile sonlandırılır. Blok, { } parantezleri kullanılarak deyimlerin bir grup içerisine alınmasıdır. Blok içerisindeki tüm deyimler, bir birim olarak adımlanır. Blok sonunda noktalı virgül (;) karakteri kullanılmasına gerek yoktur. 49
Algoritma ve Programlamaya Giriş Dr. Serkan DİŞLİTAŞ 4.3. C# Konsol Programlama Visual Studio IDE kullanarak, C# Konsol ekranına ulaşmak ve program yazmak için aşağıdaki adımlar takip edilmelidir. 1. Adım: Visual Studio IDE nin ilgili sürümü çalıştırılır. 2. Adım: Dosya Yeni Proje seçenekleri ile yeni bir proje başlatılır. 50
4. Bölüm: Programlamaya Giriş 3. Adım: Visual C# Konsol Uygulaması (.NET Framework) seçimleri yapılır. 51
Algoritma ve Programlamaya Giriş Dr. Serkan DİŞLİTAŞ 4. Adım: Proje adı verilerek Tamam denilir. Yapılan bu işlemler sonucunda Visual Studio IDE, C# Konsol programı yazmak için hazır hale getirilmiş olur. 52
4. Bölüm: Programlamaya Giriş 4.4. İlk Program C# dilinde yazılmış örnek bir program Şekil 4.4 te görülmektedir. Yazılan programın built edilmesi ve çalıştırılması için Başlat butonu kullanılır. Şekil 4.4. C# dilinde yazılmış örnek bir program ve ekran çıktısı 53
Algoritma ve Programlamaya Giriş Dr. Serkan DİŞLİTAŞ Yazılan bir programın built edilmesi durumunda, eğer hatalar varsa Şekil 4.5 te olduu gibi program çalıştırılmaz ve hata listesi verilir. Hatalar giderilmedikçe program çalıştırılamaz. Dikkat: Ancak programın daha önceden başarılı bir şekilde built edilen halinin çalıştırılmak istenip istenmediği sorgulanır. Evet seçimi yapılırsa, en son başarılı bir şekilde built edilen program çalıştırılır. Hatalı Kodlama ve Hata Listesi Dikkat: Programın başarılı bir şekilde Built edilen halini çalıştırmak için Evet denilebilir. Düzeltilmiş Program Konsol Ekran Görüntüsü 54 Şekil 4.5. C# dilinde yazılmış örnek bir programda Built Hataları
4. Bölüm: Programlamaya Giriş 4.5. Veri Giriş/Çıkış İşlemleri C# ile konsol uygulamaları geliştirirken veri giriş/çıkış işlemleri için kullanılan metotlar şunlardır: Write WriteLine Read ReadLine Aşağıda veri giriş/çıkış metotlarına ilişkin çeşitli örnekler görülmektedir. Örnek (01) C# veri giriş/çıkış örnekleri Ekrana çeşitli sayısal ve metinsel veri tiplerine sahip mesajların yazdırılması. Program Kodları Ekran Çıktısı 55
Algoritma ve Programlamaya Giriş Dr. Serkan DİŞLİTAŞ Örnek (02) C# veri giriş/çıkış örnekleri Ekrana çeşitli sayısal ve metinsel veri tiplerine sahip mesajların yazdırılması. Program Kodları Ekran Çıktısı 56
4. Bölüm: Programlamaya Giriş Örnek (03) C# veri giriş/çıkış örnekleri Ekrana çeşitli sayısal ve metinsel veri tiplerine sahip mesajların yazdırılması. Program Kodları Ekran Çıktısı 57
Algoritma ve Programlamaya Giriş Dr. Serkan DİŞLİTAŞ Örnek (04) C# veri giriş/çıkış örnekleri Ekrana çeşitli sayısal ve metinsel veri tiplerine sahip mesajların yazdırılması. Program Kodları Ekran Çıktısı 58
4. Bölüm: Programlamaya Giriş Örnek (05) C# veri giriş/çıkış örnekleri Klavyeden girilen A ve B sayısının toplamını bulup ekrana yazdıran program. Program Kodları Ekran Çıktısı 59
Algoritma ve Programlamaya Giriş Dr. Serkan DİŞLİTAŞ 60