Her şeyin bir mantık çerçevesinde geliştiğini gerçek hayattan biliyoruz. Algoritmaya en iyi örnek yarınımız hakkında yaptığımız planlar: Sabah 7.30 da uyanacağım. Kahvaltımı yapacağım. 8.00 da dişlerimi fırçalayacağım. 9.00 da okulda olacağım.. Veya daha iyi bir örnek yemek tarifidir. Yemek yaparken her şeyin bir sırası vardır, belli bir miktarı vardır. Önce malzemeler hazırlanır. Sonra miktarı ayarlanır ve sıraya göre gidilir. Bu tip örnekler çoğaltılabilir. Önemli olan kurallara uyulmuş olmaktır. Kurallara uyarsak ve mantığı düzgün kurarsak hayatımız düzenli olacak(ilk örnek) ve yemeğimiz(ikinci örnek) lezzetli olacaktır.
Algoritma geliştirmek programlamanın temelidir. Çok iyi öğrenilmesi gereken bir konudur. Algoritma bize mantıklı ve sıralı düşünmenin kolaylığını sağlar. Yazılan tüm programların bir algoritması vardır. Her program algoritma mantığı ile işler.
Nedir bu algoritma diyecek olursak: Belli bir problemi çözmek ve belirli bir amaca ulaşmak için izlenen yoldur.
Örnek: Kullanıcıdan iki sayı alacağız ve bunları toplayıp ekranda göstereceğiz.
Adım 1: İlk sayıyı al.
Adım 2: İkinci sayıyı al.
Adım 3: İlk sayı ile ikinci sayıyı topla.
Adım 4: Toplamı ekranda göster.
Bu adımları takip edersek istediğimiz amaca ulaşırız.
Algoritma istenen sonucu elde etmek için yapılan bir planda olabilir. Düşünmenizi ve mantıklı yollar çizmenizi sağlar. Düşünülmesi gereken girilen veriler ve çıktıların nasıl olacağıdır. Size bir problem verildiğinde direkt olarak programlamaya başlarsanız sıkıntı yaşamanız muhtemeldir. Öncesinde algoritma geliştirmek bir zorunluluktur.. Düşünün. Bu problemi çözmek için ne yapabilirim. Benden ne isteniyor? Mantıklı bir çözüm ne olabilir. İlk adım şu olmalı.. İkinci adım bu olmalı.. diyerek probleme odaklanın. Programlamada bir başka avantajda yanlışta olsa doğruda olsa bir şeylere kesin hükümler verebilmektir. Şu! yok yok bu! demek yerine şu! deyip denemektir. Üzülerek belirteyim ki bilgisayarlar ikilemde kalanları sevmiyor.
Algoritmanın başlıca özellikleri vardır. Bunları 5 özellik olarak belirtebiliriz:
1.Girdi
2.Çıktı
3.Açıklık
4.Sonlu olma
5.Anlaşılırlık
Girdi kavramını açıklayalım. Her programda belirli bir girilen işlemler vardır. Bunu fabrikaya giren ham maddeler olarak örnekleyebiliriz. Fabrikayı bir program olarak düşünürsek ham maddeler bizim girdilerimizdir. İsterseniz bu örnekten devam edip "Çıktı" kavramına geçelim. Fabrikamıza ham maddelerimizi gönderdik ve istediğimiz ürünlerin çıkması gerekiyor. Biz fabrikaya ne tür işlemler uygularsak o tür sonuçlar çıkar. İşte fabrikadan çıkan ürünlerde çıktı dır. "Açıklık" kavramı adı üstünde yazılan her adımın açık olması gerektiğidir. "Sonlu olma" kavramı programın bir bitiş noktasının olmasıdır. "Anlaşılırlık" ise yazılan algoritmanın programlama diline kolayca çevrilebilir olmasıdır.
Bir sonraki dersimizde görüşmek üzere..
