Algoritma günlük hayatımızda kullandığımız birçok mevzu içinde varlığını sürdürüyor. Sadece insanoğlu, bunun pek de bilincinde değiller. Algoritma, kelime anlamıyla bir amaca ulaşmak yada belirli bir problemi çözmek için kullanılan yoldur. Problemleri adım adım çözme işlemine algoritma denir ve insanoğlu günlük yaşantılarında pek fazlaca kez bu yönteme başvururlar. Sadece meydana getirilen işler fazlaca fazla sıradanlaştığı için kimse, fiil yada mevzu içindeki algoritmanın farkına varamaz.
Algoritma, çoğu zaman matematik ve programlama alanlarında kullanılan sonlu işlemler kümesidir. Bu küme, bir başlangıç durumundan adım atar ve belirli bir bitiş durumunda sonlanır. Türk Dil Kurumu’na göreyse algoritma, belirli bir probleminin çözümü için, sonlu sayıda adım şeklinde tasarlanmış, sonlu bir kurallar kümesidir. Algoritmanın ne olduğuna dair sorulara son zamanlarda daha sık rastlamamızın en büyük sebebi ise artık neredeyse her insanın bir parçası olduğu toplumsal medya platformları. Netice olarak bu platformların hepsi belirli bir algoritma üstüne kuruludur.
Algoritma Ne İşe Yarar?
Algoritma, günlük yaşantımızın birçok alanında bizlere destek verir. Şundan dolayı algoritmanın aslolan varoluş sebebi mesele sorun çözmektir. Programlama alanında bilgisayarın karşılaşmış olduğu sorunları, insanların çözdüğü benzer biçimde çözmesini sağlar. Algoritma temelde üç bölümden oluşuyor. Bunlar; giriş kısmı, işlemlerin döngüye sokulup sonucun elde edilmiş olduğu bölüm ve çıkan sonucun alındığı bölümdür. Algoritmaların daha anlaşılır şekilde yazılması için akış diyagramları kullanılır.
Algoritmayı günlük yaşamdan bir örnek vererek açıklamaya çalışırsak, kek yapmak için her insanın aşağıda yer edinen adımları takip etmesi gerekiyor,
Şeker ve yumurtayı derin bir kabın içinde çırp,
Süt, vanilya, sıvı yağ, un ve kabartma tozu ekle,
Elde ettiğin karışımı kek kalıbına dök,
Kalıbı fırına sür,
20 dakika içinde kek hazır.
Yukarıdaki kek hazırlama adımları aslen her insanın kullandığı bir algoritmadır. Algoritma, bir eylemi gerçekleştirirken yada bir problemi giderirken insanı karmaşıklıktan kurtaran işlemlerdir.
Algoritma Niçin Gereklidir?
Algoritma geliştirmek yalnızca matematik ve programlama alanlarında değil, günlük hayatımızda da bizlere pek fazlaca kolaylık sağlar. Birçok insan iş yada kişisel hayatında algoritmaları kullanıyor. Yaşantımızda belirli bir seviye oturtmak için algoritma kullanımı neredeyse bir gerekliliktir. Öğrencilik yıllarınızı hayal edin; ödevler, sınavlar, toplumsal yaşam, aile yaşamı… Bunların hepsini bir düzene sokarsanız, daha azca güç harcamış olmuş olursunuz. Algoritmanın ne işe yaradığını dair sorular yalnızca vatanımızda değil dünyada da fazlaca fazla sorulmaya başlandı. Bunun sebebi ise algoritmanın kaosu önleyici ve işleri kolaylaştırıcı etkiye haiz olması. Hepimiz yaşamının daha azca yorucu olmasını ister, işte tam da burada algoritmalar devreye giriyor.
Günlük Yaşamdan Algoritma Örnekleri
Günlük yaşantımızda birçok alanda algoritmalardan faydalanırız. Yiyecek yaparken, matematikle ilgili bir problemi çözerken, sabahları rutin iş hazırlığımızı yaparken kullanabileceğimiz pek fazlaca algoritma örneği bulunuyor. Algoritmayı, yukarıda da bahsettiğimiz benzer biçimde aşamalı ve planlı bir halde işlerimizi yerine getirmek olarak tanımlayabiliriz.
Aşağıda, bozuk bir lambanın {nasıl} onarım edileceğiyle ilgili bir algoritma içeriyor. Bu algoritmayı adım adı uygularsanız, sorununuzu daha kısa sürede çözüme kavuşturmuş olmuş olursunuz.
1. Lambanın fişi takılı mı?
Hayırsa fişi tak,
Evetse ampul patlak mı diye denetim et,
2. Ampul patlak mı?
Evetse ampulü değiştir,
Hayırsa lambanın çalışıp çalışmadığına bak,
3. Lamba çalışıyor mu?
Hayırsa yeni masa lambası al,
Evetse mesele çözüldü.
Yukarıda yer edinen algoritma benzer biçimde aslen günlük hayatımızda onlarca algoritmayla yaşıyoruz. En kolay günlük aktiviteler dahi kendi içinde belirli bir düzene haiz. Eğer bu düzene sadık kalırsanız, işlerinizi fazlaca daha kolay ve kısa sürede halledebilirsiniz.
Algoritma ile Programlama Arasındaki Bağlantı Nedir?
Yazının en başlangıcında da söylediğimiz benzer biçimde algoritma, yalnızca günlük hayatımızdaki aktivitelerde olmaz. Algoritma ile programlama örnekleri her yerde karşımıza çıkabilir. Programlar, belirli algoritmalar üstüne yazılır. Bu iki kavramın beraber kullanıldığı işlerin neticeleri çoğu zaman oldukça yararlı olur. Mesela gün içinde akıllı telefon sahibi her insanın kullandığı WhatsApp, Instagram benzer biçimde programların arkasında bir algoritma bulunuyor. Aslen algoritma ile programlama, bilgisayarların da tıpkı insanoğlu benzer biçimde düşünebilmesini mevzu alıyor ve bu özellikleri insanlara sunuyor.
Programlama, bir problemi çözmek için yapılır. Bundan dolayı programlamadaki temel hedef, kodu iyi düşünerek adım adım yazmaktır. Kod yazarken, fazlaca bilinmeyenli denklem sorusu çözer benzer biçimde gidiş yolu ve elde edilmiş sonucun doğruluğundan güvenilir olmak için her açıdan düşünmemiz gerekir. Aslen bu da bir algoritmadır. Elimizdeki karmaşık bir suali cevaplamanın yollarını aramaktır. Bu yüzden algoritma ile programlamaya giriş bir bütündür diyebiliriz.
Algoritma {Nasıl} Geliştirilir?
Algoritma yazmak yada geliştirmek o denli da kolay değildir. Bu işlemleri gerçekleştirmek isteyenler dikkat etmesi ihtiyaç duyulan birkaç husus bulunur:
Ilk olarak yazılacak algoritmanın net ve anlaşılır bir dilde olması gerekir.
Algoritmayı geliştirirken tüm ihtimaller göz önünde bulundurulmalıdır.
Algoritmanın sonsuz döngülere girmediğinden güvenilir olunmalıdır.
Algoritmada düzenleme yapılacaksa adımlar fazlaca fazla değiştirilmemelidir. Aksi halde hata oranı artar ve algoritmanın çalışmamasına yol açabilir.
Algoritma geliştirmedeki aslolan amaç, ilk yazım aşamasında karşılaşılan hataları gidermektir. Bundan dolayı algoritma geliştirmek de minimum algoritma yazmak kadar zor olsa gerek. Algoritma geliştirmek, pek fazlaca açıdan lüzumlu kimi durumlarda ise zorunluluktur. Mesela Instagram üstünden gidelim. Instagram, belirli süre aralıklarıyla güncelleniyor. Bu güncellemeler bizim için tek tuşla indirilebilen yenilikler benzer biçimde gözükse de aslen yazılımcılar tarafınca uygulamanın algoritmasının geliştirilerek bizlere sunulmasıdır.
Algoritma ve Akış Diyagramı Nedir?
Bu iki kavram çoğu zaman birbirleriyle anılırlar. Yukarıda da söylediğimiz benzer biçimde akış diyagramları, algoritmanın daha iyi ve kolay bir halde anlaşılmasını sağlar. Akış diyagramları şekillerden meydana gelir ve her şeklin bir anlamı bulunur.
Günlük yaşam içinden diyagram örnekleri vermek gerekirse, aşağıda klavyede yazılan iyi sayının ortalamasını ekrana yazdıran programın akış diyagramı içeriyor.
Başla
X Oku
Y Oku
Top. = X+Y
Ort. = Top/2
Yaz Ort.
Dur
Algoritma Hakkında Yararlanılabilecek Kaynaklar Nedir?
Algoritma hakkında pek fazlaca kitap bulunuyor. Aşağıda yer edinen algoritma kitaplarında yararlanabilirsiniz.
Açıklamalı Algoritma: Bu kitap, algoritma için başlangıç seviyesindedir. İçerisinde kolay algoritma ile akış diyagramı örnekleri içeriyor.
Algoritma Geliştirme ve Programlamaya Giriş: Bu kitap ise çoğu zaman algoritma ve programlamaya giriş derslerinde kullanılıyor. Algoritma dersleri için oldukça yararlı olan bu kitap, mevzuyu anlamanızı kolaylaştıracak birçok örneği içinde barındırıyor.
Veri Yapıları ve Algoritmalar: Daha ileri düzey olan bu kitap ise çoğu zaman program yazan, matematik ve mühendislik sorunlarını bilgisayarda çözüme kavuşturmak isteyen kişiler tarafınca kullanılıyor.
Netice olarak algoritmanın ne olduğuyla ilgili probleminin sonucunda yalnızca matematik ve programlamaya yer veremeyiz. Algoritma ve programlama her ne kadar iç içe geçmiş olsalar da hayatımızın neredeyse her alanında algoritmalardan faydalanıyoruz. Algoritma geliştirme de bundan dolayı devamlı insanlığın bir ihtiyacı olacak.