16 Aralık 2015 Çarşamba

Algoritma Nedir ve Algoritma Örneği


Merhaba arkadaşlar,  bu makalemizde algoritma nedir, algoritmayı neden yazarız ve algoritmayı yazarken dikkat etmemiz gereken kurallardan bahsedeceğim. Sonrasında algoritma nasıl olmalıdır sorusuna da cevap bulabileceğiniz minik bir örnek uygulama yapacağız.
Programlama ortamına yeni adım atmışsanız ve bu konular hakkında hiç bilginiz yokken kendinizi algoritma dersi içerisinde bulduysanız size göre iş biraz zor gözüküyor gibi olabilir. Bu tür karmaşıklıklardan uzak durmanızı ve acilen dersi anlamaya odaklanmanızı öneririm. :)
Hadi ısınma turumuzu tamamladığımıza göre algoritma nedir diyerek başlayalım. Birçoğunuz özellikle bu yıl üniversiteyi seçenler ilk kez bu derste adını duymuş olabilirler. Yazılım ile uğraşacaksanız bundan sonra sıkça duyacağınız bu kavram nedir?
Algoritma dediğimiz kavram, bir problemi çözmek veya belirli bir amaca ulaşmak için çizdiğimiz yoldur. Mevcut bir problemin çözümü sırasında izlenecek olan adımlardır bir diğer tanımlamayla algoritma. Problemin adımlarını belirlerken başlangıç ve son arasındaki diğer olaylar sırayla yazılır. Adımları yazarken dikkat etmemiz gereken ise mantıksal olarak sıradır. Düşündüklerimizi adımlar halinde yazmaktır.  
 Çok sık göreceğiniz algoritma bir programlama dili değildir. Sadece problemin çözümlenmesi için gerekli olan adımların sırayla belirtilmesidir. 
Hadi bir algoritma örneğinden bahsedelim. Arkadaşlarınızla buluşmak için dışarı çıkacaksınız hava durumuna göre ne giyeceğinize karar vermeniz gerekecek. Böyle bir senaryonun algoritmasını yazalım.
     1. Başla
     2. Akıllı telefonundan hava durumu uygulamasına bak.
     3. Hava sıcaklığını öğren.
     4 .Eğer hava sıcaklığı 20 derece üzerindeyse tshirt giy.
     5. Eğer hava sıcaklığı 20 dereceden düşükse kazak giy.
     6. Son
Dilerseniz şimdi bir örnek uygulama yapalım. 
Problem: Bir bakteri her 10 dakikada bir mitoz bölünüyor. Kullanıcının belirleyeceği kadar zaman geçtikten sonra, kaç adet yeni bakteri oluştuğunu hesaplayan programı yazınız. 
Bu tarz bir problemle karşılaştığımız zaman yapmamız gereken bizden istenen problemi çözüm aşamasında hangi işlemleri tek tek yaparsak bunları belirtmemiz gerekecektir.

  1. Başla
  2. Kullanıcının girdiği dakika bilgisini her 10 dakikada bir bölünme gerçekleşiyorsa kaç kez bölündüğünü bulmak için girilen değeri 10’a bölerek bölünme adedini bulma.(Bakteri bölünme hızı 10 dakika)
  3. Bakteri mitoz bölünme ile her seferinde iki farklı bakteri oluşturduğu için toplam kaç farklı bakteri oluştuğu hesaplanırken 2 üssü şeklinde 2.adımda bulunan bölünme adedi şeklinde hesaplanıyor olması gerekecektir. (2 üssü bölünme adedi)
  4. Dur
Algoritmayı da yazdığımıza göre şimdi bunun programını yazalım. Programı yazarken programlama dili olarak C# uygulama geliştirme ortamı olarak da Visual Studio kullanacağım.
File menüsü altından bir New Project diyelim. 














Şablon olarak kendimize bir Console projesi oluşturalım. Projenin isimlendirilmesi kısmında Name ve Solution Name isimlerini verelim. Bilgisayarda bu projenin nereye kaydedildiği bilgisini de görüyor olacağız.
















Projemizin türünü belirlediğimize göre artık kodlamayı yapabiliriz.
Kullanıcı etkileşimli bir örneğimiz olduğu için yapmamız gereken kullanıcıdan “Kaç Dakika” bilgisini alıyor olmamız gerekecektir. Kullanıcının girmiş olduğu değere göre kaç tane yeni bakteri oluştuğunu bulabiliriz. Kullanıcı tarafından girilen değeri, bakterinin 10 dakikada bir bölündüğünü göz önüne alarak, kaç kez bölünme işleminin gerçekleştiğini bulmak için kullanacağız. Bu işlemi yapan bir metod hazırlayalım.
         1. Metoda, bölünme işleminin yapılacağı toplam süreyi saniye cinsinden alan bir parametre tanımlayalım. (int sure)
         2. Girilen bu değer metod içerisinde kullanılacaktır. Her 10 dakikada bölünme işlemi gerçekleştiği göz önüne alınarak bu girilen değerin kaç kez bölünme gerçekleştirdiği hesaplanır. (sure/10)
         3. Her bir bakterinin mitoz bölünme sonucu 2 tane yeni bakteri oluşturduğu bilgisini daha önceden bildiğimizi varsayarak bölünme adedi kadar yeni bakteriler oluştuğu düşünülür ve bunu hesaplamak adına 2 üssü bolünme adedi bilgisi kullanılır.
Tanımlamış olduğumuz metodu main dışarısına class içerisine yazıyor olmamız gerekecektir.











Bir Console projesinde yazmış olduğumuz kodları Visual Studio ortamında çalıştırmak için kullanmamız gereken bazı yapılar mevcuttur.
         1. CTRL+F5 ile çalıştırabiliriz.
         2. F5 ile çalıştırırsak kod hemen derlenip çalışacak ve birden kapanacaktır. Bu konsol ekranı görebilmemiz için Console.Read() komutunu kullanabiliriz.
         3. Visual Studio File menüsü altındaki sırada bulunan Start’a basarak çalıştırabiliriz. Yine ekranın hemen kapanmaması için Console.Read() komutunu kullanabiliriz.
Console projelerde uygulamayı çalıştırdığımız anda kodlar main içerisinde sırasıyla satır satır çalışır ve main’den çıktığı anda uygulama kapanır. Dolayısıyla kodları main içerisine yazmamız gerekecektir. Main dışarısına yazdığımız metoda çağrıda bulunmak istersek yine main tarafından çağırmamız gerekecektir.








Kullanıcı uygulamayı çalıştırdığı anda uygulama hakkında bilgi alması ve ondan “Kaç Dakika” bilgisini girebilmesi için ekrana Console.WriteLine() komutunu kullanarak bilgi yazdıralım.




Metoda BolunmeHesapla ismini verelim bu isim bizim için metodu kullanmak istediğimiz zaman ulaşabilmemiz için gerekli olan o metodu çağırmaya yarayan ifadedir.
     Programını da tamamlamış olduk. İyi Çalışmalar bir sonraki makalemizde görüşmek üzere :) 

1 yorum:

SQL Çalışma Sorularının Çözümü

 -Ürünler tablosundaki ürünlerden Rengi siyah,silver ya da multi renkte olanları fiyat bilgisine göre büyükten küçüğe getirilip gösterilecek...