Algoritma, bir işin hangi aşamalardan geçilerek yapılacağını
gösteren çalışma planıdır. Algoritma bir programlama dili değildir. Programlama
dillerine yol gösteren bir yöntem dizisidir. Her dilde algoritma yazılıp
uygulanabilir. Örneğin bir cep telefonunun el kitapçığında yazan, rehber kaydı
girmek için izlenecek yollar, o işin algoritmasıdır.
Algoritma yazarken, programın çalışması için kullanılan
kaynakların, yapılması gereken kontrollerin veya işlemlerin açıkça ifade
edilmesi gerekir. Ayrıca iyi bir algoritma, tüm ihtimalleri kontrol edip
istenmeyen durumlarda ne yapılması gerektiğini belirtmesi gerekir.
Algoritma İle İlgili Kavramlar
Veri girişi: Çalışma zamanında çoğu zaman, işleyişin
tamamlanması için dışarıdan bir bilgi girilmesi gerekir. Algoritmanın çalışması
için ihtiyaç duyduğu veriler, işlemi başlatan kişiden veya belirtilen bir
kaynaktan alınabilir. Bu bilgiler sağlanmadan işlem devam etmez.
Kararlar: Karar ve kontrol yapıları algoritmanın akışını
yönlendiren en önemli kavramlardır. Girilen veya işlem sonucunda elde edilen
veriler, işlemin amacına göre kontrol edilir ve sonuca göre algoritma akışı
istenilen yere yönlendirilir.
İşlemler: Algoritmanın akışı boyunca veriler üzerinde
değişiklikler, yeni değer atamaları gibi işlemlere ihtiyaç duyulur.
Algoritmalar kurulurken, yapılan işlemlerin yalın halde, tek tek yazılması
okunabilirliği arttırır.
Algoritmalar adım sırası ile çalışır ve karar yapıları
sonucunda farklı bir yere yönlendirilmediği müddetçe, bir sonraki adım ile
işlemeye devam eder.
Örnek: Telefon kulübesinden telefon açmak için örnek bir
algoritma
1. Telefon kulübesine git
2. Telefon kartı al
3. Telefon sırasında kaç kişi olduğuna bak
4. Kişi sayısı sıfırdan fazlaysa 3 e dön
5. Kapı kapalıysa kapıyı aç
6. İçeri gir, kapıyı kapat
7. Telefon kartını telefona yerleştir
8. Ahizeyi kaldır
9. Numarayı çevir
10. Konuşmanın bitip bitmediğine bak
11. Konuşma bittiyse kartı al, bitmediyse 10 a dön
12. Bir daha konuşma yapılacaksa 7 e dön
13. Kapıyı aç, dışarı çık
Bu algoritmanın işlemesi için, her ihtimal gözden
geçirilerek, algoritma akışı gerekli yerlere yönlendirilir. Örneğin kapının
kapalı olması durumunda kapıyı açmak için gerekli komutlar verilmelidir. Bu
algoritmanın ihtiyaç duyduğu veriler, ya kullanıcı tarafından verilir ya da
işlem başlamadan önce belirlidir. Sıradaki kişi sayısı, telefon kartı gibi
veriler kullanıcı tarafından sağlanmış; çevrilecek numara, algoritma başlamadan
önce belirlenmiştir.
Kaynak:http://social.msdn.microsoft.com/Forums/tr-TR/991464c3-406b-494c-b7a8-8d5b8b07763d/algoritma-nedir-nasl-hazrlanmaldr?forum=csharptr