Algoritma Nedir?
Algoritma, bir problemi çözmek veya belirli bir sonuca ulaşmak için izlenen sıralı ve sonlu işlem adımlarıdır. Bilgisayar programlarının temelinde algoritmalar bulunur. Ancak algoritma yalnızca programlama ile ilgili değildir. Günlük hayatta belirli bir sıraya göre yaptığımız birçok işlem de algoritmik bir yapıya sahiptir.
Bir algoritmanın amacı, çözülmek istenen problemi açık ve uygulanabilir adımlara ayırmaktır. Bu adımlar takip edildiğinde aynı koşullar altında aynı sonuca ulaşılması beklenir.
Algoritmanın Temel Özellikleri
Bir işlem dizisinin algoritma olarak değerlendirilebilmesi için bazı temel özelliklere sahip olması gerekir.
Kesinlik
Algoritmadaki her adım açık ve anlaşılır olmalıdır. Bir işlem farklı kişiler tarafından farklı biçimlerde yorumlanmamalıdır.
Örneğin “sayılardan birini seç” ifadesi belirsizdir. Bunun yerine “iki sayıdan büyük olanı seç” gibi kesin bir ifade kullanılmalıdır.
Sonluluk
Bir algoritma belirli sayıda işlemden sonra tamamlanmalıdır. İşlemler hiçbir zaman sona ermiyorsa algoritma amacına ulaşamaz.
Bu nedenle algoritmanın bir başlangıç noktası olduğu gibi bir bitiş noktası da bulunmalıdır.
Girdi
Algoritmanın işlem yapabilmek için dışarıdan aldığı verilere girdi denir.
Örneğin iki sayının toplamını hesaplayan bir algoritmada kullanıcıdan alınan iki sayı algoritmanın girdileridir.
Bir algoritmanın hiç girdisi olmayabileceği gibi birden fazla girdisi de olabilir.
Çıktı
Algoritmanın işlemler tamamlandıktan sonra ürettiği sonuca çıktı denir.
İki sayıyı toplayan algoritmada hesaplanan toplam değeri çıktıdır. Algoritmanın amacı, aldığı girdileri belirli işlemlerden geçirerek anlamlı bir sonuç üretmektir.
Uygulanabilirlik
Algoritmadaki her adım gerçekleştirilebilir olmalıdır. Gerçekleştirilmesi mümkün olmayan veya nasıl uygulanacağı belli olmayan işlemler algoritmayı kullanışsız hale getirir.
Algoritma Nasıl Oluşturulur?
Bir algoritma hazırlarken doğrudan işlem adımlarını yazmaya başlamak yerine önce problem doğru şekilde anlaşılmalıdır.
Genel olarak şu sıra izlenebilir:
- Çözülmesi gereken problem belirlenir.
- Gerekli girdiler tespit edilir.
- Ulaşılması gereken çıktı belirlenir.
- İşlemler mantıklı bir sıraya konur.
- Karar verilmesi gereken durumlar belirlenir.
- Algoritmanın her koşulda sona erip ermediği kontrol edilir.
- Sonuç test edilir.
Bu yöntem, karmaşık problemleri daha küçük ve yönetilebilir parçalara ayırmayı kolaylaştırır.
Basit Bir Algoritma Örneği
İki sayının toplamını bulan basit bir algoritma şu şekilde kurulabilir:
- Başla.
- Birinci sayıyı al.
- İkinci sayıyı al.
- İki sayıyı topla.
- Sonucu ekrana yazdır.
- Bitir.
Burada iki sayı girdiyi, yapılan toplama işlemi işlem adımını ve elde edilen toplam ise çıktıyı oluşturur.
Karar Yapıları
Bazı algoritmalarda işlemler her zaman aynı sırayla devam etmez. Belirli bir koşula göre farklı işlemler yapılabilir.
Örneğin bir öğrencinin notunun 50 veya üzerinde olup olmadığı kontrol edilebilir:
- Notu al.
- Not 50 veya üzerindeyse “Başarılı” yaz.
- Değilse “Başarısız” yaz.
- Bitir.
Bu tür yapılarda algoritma, verilen koşulun sonucuna göre farklı bir yol izler.
Algoritma Neden Önemlidir?
Algoritma oluşturmak, program yazmadan önce problemin nasıl çözüleceğini belirlemeyi sağlar. İyi hazırlanmış bir algoritma, programlama aşamasındaki hata ihtimalini azaltır ve çözümün daha kolay anlaşılmasını sağlar.
Algoritmik düşünme becerisi yalnızca kod yazarken değil, karmaşık problemleri analiz ederken de kullanılır. Büyük bir problemi küçük adımlara ayırmak, yapılacak işlemlerin sırasını belirlemek ve olası durumları önceden değerlendirmek daha sistemli çözümler geliştirilmesini sağlar.
Kısaca Hatırlayalım
- Algoritma, bir problemin çözümünü adım adım ifade eder.
- İşlem adımları açık ve kesin olmalıdır.
- Algoritma sonlu sayıda adımda tamamlanmalıdır.
- İşlem yapmak için kullanılan verilere girdi denir.
- İşlem sonucunda elde edilen verilere çıktı denir.
- Algoritmalar programlama sürecinin temelini oluşturur.