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. Yani belli bir problemi çözmek veya belirli bir amaca ulaşmak için çizilen yola algoritma denir. Genellikle programlamada kullanılır ve tüm programlama dillerinin temeli algoritmaya dayanır. Aynı zamanda algoritma tek bir problemi çözecek davranışın, temel işleri yapan komutların veya deyimlerin adım adım ortaya konulmasıdır ve bu adımların sıralamasına dikkat edilmelidir. Bir problem çözülürken algoritmik ve sezgisel (herustic) olmak üzere iki yaklaşım vardır. algoritmik yaklaşımda da çözüm için olası yöntemlerden en uygun olan seçilir ve yapılması gerekenler adım adım ortaya konulur. Algoritmayı belirtmek için ; metinsel olarak düz ifade ve akış diyagramı olmak üzere 2 yöntem kullanılır. Algoritmalar bilgisayarlar tarafından işletilebilirler. Algoritma kelimesi, Özbekistan’ın Harezm, bugünkü Türkmenistan’ın Khiva kentinde doğmuştur.
m % n koy, tekrar 1’den başla.
Bu örnekte m%n bölmenin kalanıdır, yani 5 % 2 = 1’deki gibi. Algoritmayı 33 ve 15’e uygulayalım:
33,15
15,3
3, 0
sonuç 3
Bir de bilgisayar algoritmasına örnek verelim. Kullanıcının girdiği dört sayının ortalamasını görüntüleyen algoritmayı yazalım:
A0 –> Başla
A1 –> Sayaç=0 (Sayaç’ın ilk sayısı 0 olarak başlar.)
A2 –> Sayı=? : T=T+Sayı (Sayıyı giriniz. T’ye sayıyı ekle ve T’yi göster.)
A3 –> Sayaç=Sayaç+1 (Sayaç’a 1 ekle ve sayacı göster.)
A4 –> Sayaç<4 ise A2’ye git. (Eğer sayaç 4’ten küçükse Adım 2’ye git.)
A5 –> O=T/4 (Ortalama için T değerini 4’e böl)
A6 –> O’yu göster. (Ortalamayı göster.)
A7 –> Dur
Akış Şeması
Algoritma Hakkında Kısa Bilgi
Öncelikle tarihçesinden bahsetmek istiyorum. Algoritma; 800’lü yıllarda yaşamış olan matematikçi Muhammed İbn Musa al Khwarizmi’nin yaptığı çalışmalarda ortaya çıkmıştır. 12. Yüzyılda bu çalışmalar Latinceye çevrilirken çalışmalarının sahibi olan kişinin adından ilham alınarak al Khwarizmi adı yerine algorithm olarak çevrilmiştir. Algoritmalar bilgisayarlarda kullanılmadan önce matematik bilimi tarafından kullanılıyordu. Bu kadar tarih yeter. Konumuza geri dönelim.
Algoritma sonlu sayıda basamaktan oluşan problemleri çözmek için oluşturulmuş çözüm kümesidir. 3 temel özelliği vardır. Kesinlik, sıralı olmak ve sonluluk olarak tanımlanabilir. Biraz daha açarsak herkesin aynı bir şekilde anlayacağı kadar kesin, net bir şekilde sıralı ve sınırlı basmaktan oluşacak şekilde sonludur.
Problem Çözmek
Bilgisayar yazılımlarının genel amacı var olan bir problemi çözmektir. Problem çözmenin iki temel yöntemi vardır.
-Deneysel ve deneyimsel deneme yanılma yöntemleri,
-Algoritma yöntemi
İlkini anlayacağınız gibi gelişi güzel problem çözmektir. İkincisi ise asıl bizim üstünde duracağımız problem çözme yöntemidir. İkinciyi daha detaylı incelersek temel adımları şöyledir.
Öncelikle problem tanımlanır, girdi ve çıktıları belirledikten sonra çözüm yolları yani algoritma geliştirilir ve daha sonra çözümün denenmesi ve iyileştirilmesi yapılır. Bunlar yapıldıktan sonra algoritmanın kodlanması ve kodun denenip iyileştirilmesi yapılır.