NASIL YAPILIR? Algoritmalar ve Problemin Okunması

furkanalkaya

Kayıtlı Kullanıcı
Katılım
1 Mar 2020
Mesajlar
272
Tepkime puanı
247
Puanları
48
Yaş
28
Konum
Kayseri
Web sitesi
www.furkanalkaya.com
Algoritmalar

Öncelikle programlamaya giriş yapmak isteyen fakat yanlış yönlendirilen arkadaşlar için algoritmalardan bahsetmemek doğru olmaz. Algoritmaya kısaca herhangi bir olayın işleyişi diyebiliriz. Yani olayın çalışmasının başlangıcından bitişine kadar tüm adımlarının eksiksiz bir şekilde yazılması demek o olayın algoritması demektir. Açıkçası dünya üzerinde algoritmanın rol oynamadığı herhangi bir iş yok demek yanlış olmaz. Çünkü herhangi bir iş yapmaya kalktığımızda bu işteki bütün adımları doğru yapmazsak ortaya çıkan şey pek sağlıklı olmaz. Örneğin nefes almak adım adım yapılan bir iş. Demek istediğim algoritmanın her şeyde mevcut olması. Algoritmanın adının kaynağı Harezmi’nin (arapça söyleyişiyle el-harezmi) Fransızca ifade edilişinin İngilizceye geçmesi sonucunda “algorithm” ve Türkçemizde ise “Algoritma” dan gelmektedir.

7m6f49.jpg

Örneğin 14+37’yi toplamaya kalktığımızda ilk yapacağımız işlem 4 ile 7’yi toplamak fakat toplamanın neden sağdan başladığını bile düşünmüyoruz. Veyahut matematiğin önemli buluşlarından birisi ve bir kabul olan 0’ı düşünmüyoruz. Bir başka pek düşünmediğimiz şeylere örnek verecek olursak, matematikte evrensel olarak sağdan sola toplama yapılmasının nedenini düşünmüyoruz. Çoğu kodlama yapan insan deneme yanılma yoluyla yazmakta ve bu şekilde para kazanmakta. Fakat deneme yanılma yolu sizce sağlıklı mı?

Bir algoritmayı kurarken en ufak ayrıntıyı bile bilmemiz gerektiğinin farkında olmalıyız. Bir bilgisayar programcısının en önemli yardımcısı kağıt ve kalemdir. Evet, kağıt ve kalem. Aklımızdan yaptığımız ve mantığını kurdum kodu yazmaya geçelim dediğimiz anda yanlışı yaptık bile. İlk defa karşımıza çıkan bir problemi kağıt üstünde çözüp kağıt üstünde yüzde yüz çalıştığından emin olmazsak yazamayız. Kodlama yapıldığı sırada mantık geliştirilmez. Kağıt üstünde kurulduktan sonra kodlamaya geçilir. Tabii bunlardan bahsederken kısa kodlamalardan bahsetmiyorum. Uzun aşamalı kodlamalarda bu şekilde yapmalıyız. Kağıt kalemi vurguladım fakat kağıt ve kalemden kasıt bir Word belgesi veya not defteri de olabilir.

D1z03w.jpg

Algoritmalardan bahsediyorsak akış şemalarından da bahsetmemiz gerekir. Akış şeması dediğimiz şey algoritmanın şekillerle gösterilen halidir. Diyelim ki bir dikdörtgen görüyoruz ve o dikdörtgen ekrana çıktı anlamına geliyor. Başka bir şeklinse başka bir anlamı var. Bu akış şemalarından daha önemlisi bizim için yapılacak olan işin en baştan doğru yazılmasıdır. Peki bu işlem nasıl yapılıyor? En önemli şey başlamak. Bu arada başlamak bir işi bitirmenin yarısı değildir. Başlamak başlamaktır. Bir algoritmayı tasarlamadan önce neler yapmalıyız?

xOMmo3.png

Problemin Okunması

Bizden neyin istendiğini anlamamız gerekli. Bununla da kalmayıp ne kadar isteniyor, nasıl bir üretim bekleniyor yani o algoritmanın sonucunda ne çıkması bekleniyor tüm bunların iyice analiz edilmesi gerekli. Hangi ekipmanlara, nelere ihtiyacım var? Bizim ülkemizde programcılıkta algoritma dendiği zaman en ünlü olan standart algoritma çay demleme algoritmasıdır. Bir çay nasıl demlenir şeklinde algoritmalar mevcut. Algoritma geliştirirken belirtilen isteğin özel mi yoksa genel mi olduğunu belirlememiz gerekir.

Örneğin çay demleme algoritmasından bahsettik çay demlemek genel bir algoritma fakat yarım saatte çay demlemek özel bir algoritmadır diyebiliriz. Özel algoritmalar her zaman doğru sonucu vermeyebilir. Yazdığımız bütün programları ve bütün kodları, algoritmaları bu mantıkla ve en kısa şekilde yazmaya çalışacağız. Sağlıklı bir program yazılırken en kısa haliyle fakat eksiksiz bir şekilde olmalı.

WM2Mvm.png

xOMmo3.png

 
5,690Konular
16,886Mesajlar
9,808Kullanıcılar
mustafa1980Son üye
Üst