Algoritma
Algoritma özellikle matematik ve bilgisayar biliminde bir işi yapmak için açık seçik bir şekilde tanımlanan, sonlu işlem basamakları kümesidir. Algoritma kavramının ortaya çıkışı bilgisayar dünyasının dönüm noktalarından biri olarak kabul edilir.
Algoritma sözcüğü adını Ebu Abdullah Muhammed İbn Musa El Harezmi adındaki Müslüman - Türk âlimden almıştır. Adı Latinceye Alkhorizmi, Fransızcaya Algorithme, İngilizceye ise Augrim şeklinde geçmiştir. Âlimin ismini telaffuz edemeyen Avrupalılar "algorizm" sözcüğünü "sayıları kullanarak aritmetik problemler çözme kuralları" anlamında kullanırlar. Bu sözcük daha sonra "algoritma"ya dönüşür ve yaygın olarak kullanılır. Latince çevirisinin Avrupa'da çok büyük ilgi gördüğü, “Hisab el-cebir ve el-mukabala” kitabı dünyanın ilk cebir kitabı ve aynı zamanda ilk algoritma koleksiyonunu oluşturur. Âlimin 780 (H.164) senesinde Harezm’de doğduğu kabul edilir. 850 (H.236) senesinde ise Bağdat’ta vefat etmiştir.
Algoritma herhangi bir problemin çözümü için izlenecek yol anlamına gelmektedir. Bir problemi sonlu bir zamanda çözebilmek için geliştirilmiş açık seçik, yürütülebilir, sıralı, basit ve gerektikçe tekrar eden adımlardan oluşan yöntemlerdir. Bir problemin çözüleceği yöntemi oluşturma ise algoritma tasarlama olarak tanımlanır. Bu tanıma göre bir algoritmanın özellikleri;
Açık seçik olmalı (belirsizliklere yer vermemesi) Yürütülebilir olmalı Sıralı olmalı olarak sıralanabilir. Esasen insanlar günlük hayatta farkında olmadan problemlerin çözümünde algoritma kullanırlar. Hatta günlük rutin işlerimizde yemek yaparken, sabah kalkarken, gece yatarken, işe giderken, telefonla birini ararken, birine yapmasını gerekenleri söylerken farkına varmasak da algoritma kullanırız. Nasıl mı? Mesela sabah kalktığımızda işe gitmeden önce yaptığımız işleri, işlem basamaklarına ayıracak olursak;
1. Yataktan kalk
2. Elini yüzünü yıka
3. Dişlerini fırçala
4. Pijamalarını çıkar
5. Elbiselerini giy
6. Kahvaltını yap
7. İşe git
Şeklinde ifade etmiş oluruz. İşte bu şekildeki ifadeye algoritma diyoruz. İki sayının çarpımını hesaplayan basit bir matematiksel işlemin algoritmasını;
1. Birinci sayıyı gir (a)
2. İkinci sayıyı gir (b)
3. Girilen sayıları topla ( carp=a*b )
4. Sonucu göster (carp) ve tekrar 1. adımdan başla
Şeklinde ifade edebiliriz.
Kaynakça: Bülent Çobanoğlu "Algoritma Geliştirme ve Veri Yapıları", Pusula Yayıncılık,2007
[değiştir]Örnek
Bir su istasyonu için bir program yapılacağını düşünelim, bu program su istasyonunda bulunan telefon arandığı zaman, arayan kişinin numarası alıp, ekrana adresini yazsın ,Şimdi böyle bir algoritma hazırlayalım
1 Telefonu Dinle
2 Telefon Çalmıyorsa Git Satır 1,e
3 Telefon Çalıyorsa
4 Numara Gizli ise Git Satır 1,e
5 Numarayı hafıza'da ara
6 Numara kayıtlı değilse Git Satır 1,e
7 Numaraya ait adres bilgisini al
8 Adres bilgisini Ekrana yaz
9 Git Satır 1,e
Yukarıdaki algoritmada basitce görüldüğü gibi, hazırlanacak bir programın algoritma yapısı oluşturuldu, bu algoritma, Önce telefonun çalmasını bekliyor, daha sonra numarayı alıyor, numara gizli yada, tanımsız bir numara ise tekrar dinleme geçiyori tanımlı ise, numara bilgisinden adresi bulup ekrana yazıyor.
Bir program yazmadan önce, algoritma çıkarmak önemlidir, yapılacak işlerin daha detaylı anlaşılması sağlar.