Algoritma Nedir? Algoritma Ne Demek? Algoritma Türleri Hakkında Bilgi
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 (adımlar) kümesidir.
Algoritmalar bilgisayarlar tarafından işletilebilirler. Algoritma kelimesi, Özbekistan'ın Harezm, bugünkü Türkmenistan'ın Khiva kentinde doğmuş Ebu Abdullah Muhammed bin Musa el Harezmi isimli Türk matematikçinin adından gelir. Batılılar, el Harezmi (Al-Khwarizmi)(Latincede Algoritmi) sözcüğünü telaffuz edemedikleri için terim bu şekilde kalmıştır.
Algoritma sözcüğü Ebu Abdullah Muhammed İbn Musa el Harezmi adındaki Türkistan'lı alimden kaynaklanır. Bu alim 9. yüzyılda cebir alanindaki algoritmik çalışmalarını kitaba dökerek matematiğe çok büyük bir katkı sağlamıştır. "Hisab el-cebir ve el-mukabala" kitabı dünyanın ilk cebir kitabı ve aynı zamanda ilk algoritma koleksiyonunu oluşturur. Latince çevirisi Avrupa'da çok ilgi görür - alimin ismini telaffuz edemeyen Avrupalılar "algorizm" sözcüğünü "Arap sayıları kullanarak aritmetik problemler çözme kuralları" manasında kullanırlar. Bu sözcük daha sonra "algoritma"ya dönüşür ve genel kapsamda kullanılır.
Önemli algoritma türleri:
- Arama algoritmaları
- Bellek yönetimi algoritmaları
- Bilgisayar grafiği algoritmaları
- Birleşimsel algoritmalar
- Çizge algoritmaları
- Evrimsel algoritmalar
- Genetik algoritmalar
- Kripto algoritmaları veya kriptografik algoritmalar
- Kök bulma algoritmaları
- Optimizasyon algoritmaları
- Sıralama algoritmaları
- Veri sıkıştırma algoritmaları
Programcılığa adım attığımızda ilk duyacağımız kelime "algoritma" olsa gerek.Peki nedir bu algoritma?
Teknik olarak bir tanım yapacak olursam algoritma , Bilgisayarda gerçekleşen işlem veya işlemlerin hangi sırada ve düzende gerçekleşeceğini belirleyen plandır.Fakat teknik tanımdan uzaklaşıp gerçek hayatla bağdaştıracak olursak algoritma hayatımızın herhangi bir anında yapmayı düşündüğümüz ve bunun için kafamızda tasarladığımız plandır.Örnek verecek olursak bir günü çok sade bir algoritmasını yapacak olursak gerçekleşme sırasına göre olayları sıralarız.
1.Uyan
2.Kahvaltı Et
3.İşe Git
4.Öğle Yemeği Ye
5.Eve Gel
6.Tv İzle
7.Uyu
Yukarıdaki sıralamayı incelediğimizde görüyoruzki günümüz uyanmak kavramıyla başlıyor , uyumak kavramıyla bitiyor ve ara basamaklarda sırasıyla olaylar gerçekleşiyor.Bilgisayar programlarında da bunu benzeştirecek olursak göreceksinizki :
1.Programı Çalıştır
2.Oyuncu Bilgilerini Gir
3.Oyunu Oyna
4.Oyunu Kaydet
5.Oyunu Kapat
Program çalıştır talimatıyla başlıyor sırasıyla ara basamaktaki işlemler gerçekleşiyor ve kapat talimatıyla sonlanıyor.Bu örneğimiz çalıştırılabilir hale gelmiş bir program içindi.
Algoritmanın Programlamadaki Önemi Nedir ?
Programlamada belli kriterlerce yüksek mertebelere gelmiş kişilerle konuşma fırsatı bulursanız ve onlara "Hangı programlama dilini öğreneyim?" dediğinizde size verecekleri cevap , sen algoritma tasarımını çok iyi düzeyde geliştir dil kolaydır diyeceklerdir.Haksız da değiller.Fakat burda dikkat edilmesi gereken nokta ısrarla belirtiyorum programlama dilleri çocuk oyuncağı onları bir kenara atın demiyorum ama çok iyi düzeyde programlama dili bilip algoritma tasarımını bilmeyen biri hiçbir zaman iyi bir programcı olamaz diyorum.
Algoritma Hazırlama Kuralları Nelerdir?
#Yapılacak iş iyice irdelenir.Tüm olasılıklar gözden geçirilir.
#En az komutla , en kısa sürede, en doğru - en hassas sonuca ulaştıracak çözüm yolu belirlenir.
#Tanımlayıcı isimler belirlenir.
#Algoritmada her işlem adımına bir numara verilir.
#Problem çözümü için gerekli olan veriler girilir.
#Yapılacak işlemler açık şekilde verilir.
#Bulunan sonuçlar görüntülenir veya belirli ortamlarda saklanır.
Algoritma Hazırlamanın Avantajları Nelerdir?
#Programı yazmayı kolaylaştırır.
#Hatalı kodlama oranını azaltır
#Program yazımı için geçen süreyi kısaltır.
#İşlem akışını açık bir şekilde gösterdiğinden program kontrolünü kolaylaştırır.
#Sonradan yapılacak düzenlemelerde kolaylık sağlar.
Program Yazma Aşamaları Nelerdir?
Bir programı tasarlayıp ,kodlayıp kullanılabilir hale getirme aşamasında izlenecek yol şudur:
1.Ne tür bir program yazacağınıza iyice karar verin.
2.Programınızın Algoritmasını çıkarın.Kodlamaya nereden başlayacağınıza , neleri yapıp neleri yapmayacağınıza karar verin.
3.Tüm bunların sonunda kodlamaya geçin ve kodlama aşamasında 3E kuralını(En az komut, En kısa süre, En hassas sonuç) aklımızdan çıkarmayıp uymaya çalışın.
Yukarıda belirttiğim üç maddeyi gerçekleştirirseniz size aynı bir yemek tarifi gibi bir plan çıkacaktır. Kodlama aşaması aynı yemek pişirme aşaması gibi sadece tarife bakıp malzemeleri eklemek olacaktır.Tabi bu malzemelerin iyi karıştırılması kullanılması ve nerede ne kadar kullanılacağı sizin maharetinize kalmış.
İyi Günler
Bilal ADAK
Yorumların her türlü cezai ve hukuki sorumluluğu yazan kişiye aittir. Eğitim Sistem yapılan yorumlardan sorumlu değildir.