Herkese merhabalar,
Bu yazı blog'umun, aynı zamanda devam edecek olan algoritmalar serimin ilk yazısı olacak. Bu yüzden kısa bir giriş yapmak istiyorum.
Fazla terim kullanmaya, ıvır zıvır bilgi vermeye niyetim yok. Ancak programlamaya yeni başlayan insanların bazıları, algoritma kelimesinden korkarlar. Bu yüzden yazılara geçmeden önce, algoritmanın ne olduğunu anlamak gerekir.
Wikipedia demiş ki, "Algoritma, matematikte ve bilgisayar biliminde bir işi yapmak için tanımlanan, bir başlangıç durumundan başladığında, açıkça belirlenmiş bir son durumunda sonlanan, sonlu işlemler kümesidir."
Ardından da, "Yani belli bir problemi çözmek veya belirli bir amaca ulaşmak içi çizilen yola algoritma denir."
İkinci tanım daha basit ve asıl olan algoritma kavramıdır. Yani algoritmanın hayatınıza girmesi için, ortada illa ki matematiksel veya bilgisayarla ilgili bir konu olması şart değildir. Ufak bir örnek vereyim.
Kadın çocuğuna seslendi. "Oğlum bakkaldan ekmek al, eğer ekmek yoksa pide al."
Bu günlük hayattan çok basit bir algoritma örneğidir. Çocuk bakkala gider, ekmek sorar, ekmeğin olup olmamasına göre gerekeni yapar ve döner. Bu ve bunun gibi bir sürü algoritmayı, farkında olarak veya olmayarak, beynimizde işler ve ona göre davranırız.
Algoritmanın asıl anlamını kavradığınızı umuyorum. Şimdi gelelim programlama'da algoritma nasıl kullanılır, ne işe yarar.
Mesela elinizde bir ödev var. Bu ödevde bir sürü 2. dereceden denklem sorusu var. Köklerini bulmanız için tek tek hesap yapmanız gerekecek. Elinizde anında kök bulan bir alet olsa iyi olmaz mıydı ? İşte burada bir kök bulma algoritması devreye girecek. Elinize programlayabileceğiniz bir cihaz alıp, kök bulma algoritmasını 5 dakikada programlayacak ve bu programla hızlı bir şekilde ödevinizi bitireceksiniz.
Zamanım oldukça siteye yeni algoritmalar koyacağım. İşinize yarar veya yaramaz, o sizin takdiriniz. Anlatım şekli elimden geldiğince basit olacak, algoritmanın yaptığı işin ekran görüntülerini de koymaya çalışacağım. Herhangi bir dilde kod yazmak yerine türkçe pseudocode kullanacağım ki, algoritmayı her dile uygulayabilesiniz.
İlginiz için teşekkürler.
Editör olduğum yazılım sitesindeki yazının linki.
www.pythongucu.tk vardı reyiz donanımhaberden geliyorum
YanıtlaSilSaygılar