YAZILARIM

ALGORİTMA NEDİR?

Belirli bir sorunu çözmenin yöntemi olarak tasarlanmış sıralı adımlardır. Bir problemi çözmenin bilinen en iyi yöntemi; o problemi; kendisini oluşturan daha küçük problemlere ayrıştırıp, bu küçük problemleri belirli bir sırada tek tek çözmektir. Bu yöntemi bulan kişi, 780 yılında Özbekistan'ın Harezm ilinde dünyaya gelmiş olan Ebu Abdullah Muhammed bin El-Harezmi'dir. Batı dillerinde ismi Al Gorizmi şeklinde telaffuz edilmesinden dolayı günümüzde "ALGORİTMA" sözcüğünü kullanmaktayız.

Her ne kadar kodlama, programlama, algoritma gibi kavramlar genellikle bir çok kişiye çok uzak kavramlarmış gibi gelse de aslında kodlama istisnasız hepimizin doğumumuzdan bu yana hatta belki de istemsizce bile yapabildiğimiz, sahip olduğumuz bir yeteneğimiz.

Şu anda bu yazıyı yazarken benim yaptığım eylem de, sizin bu yazıyı okurken sizin yaptığınız eylem de tamamiyle kodlama ve kod çözme dışında bir eylem değil. Konuşmak; ağzıızdan çıkardığımız seslerin, belirli bir dilin kurallarına göre kodlanmasıdır. Aynı şekilde dinleyen kişi de o dilin sözcük kodlarını kendi beyninde işlemişse, söylediğimizi (ses kodlarımızı) kolayca çözümleyip bizi anlayabilir. Yazı, sözcüklerin şekillerle kodlanmasıdır. Doğum anımızdan bu yana beynimizin biz farkında olmasak bile yaptığı; sesleri, olayları, durumları kendince kodlama ve yeri geldiğinde yine kendince çözümlemedir.

Gelin algoritmanın hayatımızdaki yerine yine günlük bir problemimiz üzerinden bakalım.

Problem : Acıkmak.

Var oluşumuzun temel ve en öncelikli problemlerinden biri.

Bu temel problemimizi çözmek için bir karar vermeliyiz. Bu akşam ne yiyelim? Evde mi pişirelim? Dışarıdan mı söyleyelim? Bunlar da ana problemimizin alt problemleri.

Kararımız evde pişirmek ise yeni sorumuz: Ne pişirelim? Bir alt problem daha. Ve çözüme yönelik kararımızı verelim:

Tabii ki omlet :)

Omlet Nasıl Pişirilir? - Algoritmasının akış şeması

Akış Şeması Sembolleri

Not ortalaması hesaplama algoritmasının akış şeması

Görüldüğü üzere aslında kodlama, analiz, çözümleme, algoritma gibi kavramlar beynin temel işlevleri olduğu için beyin sahibi tüm canlıların doğuştan edinmiş oldukları yeteneklerdir. Hiçbirimizin yaşantısından uzak kavramlar değildir.