05 December 2016

Algoritma Yeteneği

İyi bir yazılımcı iyi bir algoritma yeteneğine sahip olmalıdır. Algoritma nedir denildiği zaman akla ilk gelen çeşitli çizimler, baklava şekilleri olsa da, algoritma aslında “bir problemi çözebilmek için sıralı mantıksal adımların tümüne denir”. O baklava şekilleri vs. ise algoritmanın görsel gösterimidir.

Algoritma yeteneğinin arttırılması yazılımı öğrenme aşamasında önemlidir. Algoritma yeteneğini arttırmadan direk programlama dilini öğrenmeye çalışmak yanlıştır. Bu nedenle yapılması gereken en önemli şey ilk aşamada algoritma yeteneğinin arttırılmasıdır. Bu yetenek ilk başlarda kazanılmamışsa ilerileyen aşamada yazılımcı sıklıkla kodlama sorunları ile karşılaşacaktır.

Algoritma yeteneği internetten video izlemekle, kitap okumakla, ders dinlemekle arttırılmaz. Algoritma yeteneğini arttırmanın yolu bol bol alıştırmalar yapmaktır.

Algoritmanın anlaşılması için günlük hayattan şöyle bir örnek verebiliriz;

Kek Yapımı Algoritması

  1. Kek yapımı için gerekli malzemeleri hazırla.
  2. Şeker ve yumurtayı bir kapta çırp.
  3. Yağını ekle tekrar çırp ve kontrol et.        a) kıvamlı ise 4.adıma devam et         b) kıvamlı değilse 3.adıma dön
  4.  Diğer malzemleri ekle ve çırp.
  5.  Karışımı kek kalıbına dök.
  6.  Önceden ısıtılmış fırına koy.
  7.  Pişti mi diye kontrol et.               a) pişmişse 8.adıma geç    b) pişmemişse 6.adımla devam et.
  8. Keki fırından çıkar.
  9.  Kekin soğumasını bekle
  10.  Keki servise sun.

Günlük hayattan verilen bu örnek algoritmanın anlaşılması açısından önemlidir. Bu örnekteki gibi algoritmayı oluşturmadan önce bazı kurallara dikkat etmeliyiz. Adımlar son derece belirleyici olmalıdır, belirli adım sonunda algoritma sonlandırılmalıdır, tüm ihtimaller gözönüne alınmalıdır, belirsizlik olmamalıdır.

Bilgisayarda bir sorunu çözmeden önce bir algoritma belirlemeliyiz. İlk başlarda bunu yazarak yaparsak zamanla bu yeteneğimiz gelişecek ve daha hızlı düşünmeye başlayacağız.

Bir algoritma genellikle 3 adımdan oluşur.

  1. Giriş ve ilk işlemlerin yapıldığı bölüm.
  2. Döngüsel bir bölümün olduğu, iterasyonlarla bir işlemin sürekli tekrar edilerek sonuca ulaşmayı sağlayan bölüm.
  3. Son işlemlerin yapıldığı bölüm. (elde edilen sonuçların ekrana yazılmasını sağlayan bölüm)

Comments

  1. notum yükseldi sayenizde çok ama çokkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk tesekkürler…:-):-):-)

  2. tinopoittee says:

    thank you

  3. Yazılımcı says:

    Teşekkürler 🙂 5251

  4. c# ‘a yeni başlayan biriyim. blogunuzda paylaştığınız faydalı bilgiler işime yaradı. teşekkürler.

  5. Çok gerekli bir noktaya değinmişsiniz. Teşekkürler!

  6. Anlaşılır olmuş. Teşekkürler.

  7. experwing says:

    Teşekkürler