Algoritma yazılımın temellerinden bir tanesidir. Algoritma bize program yazma konusunda her zaman yardımcı bir konudur. 2011-2012 MEB Modüllerinde belirtilenlere göre; "Algoritma kelimesi, Özbekistan'ın Harezm, bugünkü Türkmenistan'ın Khiva kentinte doğmuş Ebu Abdullah Muhammed bin Musa el Harezmi isimli Türk matematikçinin adından gelir. Bu alim 9. yüzyılda cebir alanındaki algoritmik çalışmalarını kitaba dökerek matematiğe çok büyük katkı sağlamıştır." Yani algoritma kelimesi bir Türk tarafından bulunmuş ve matematikte bize en büyük katkıyı sağlamıştır. Algoritma bir problemin çözüm aşamaları tarafımızdan belirlenen yolların takipçisidir. Bir problemi ele alarak kendimiz Algoritma adımları sırasında düzenleyerek programımızı oluşturabiliriz. Eğer adımlara göre gitmezsek çalışmamızın başlangıcında, ortasında veya sonunda hatalar ile karşılaşabiliriz buda programımızın kullanabilirliğini ve esnekliğini düşürerek karşı taraftaki insanın gözünde kötü gözükebilir. Ve de iş kaybımıza neden olabilir. Peki bu algoritmadaki aşamalar nedir? İşte aşamalarımız;
1. Problemi Tanımlama
Bu aşamada önceki paragrafta belirttiğim gibi ilk önce problemimizi tanımlayarak programımızda aşamaları takip ederiz. Bu aşamada buna örnektir. Programımıza yazmadan önce problemimizi belirleyerek programımızı yazmaya başlarız. Problemi belirleme aşaması önemli bir aşamadır ufak bir hatayı atlarsak gerçek problemi çözemeyiz ve istediğimiz sonuca ulaşamayız. Haliyle problemimizi tanımlayamayız.
2. Problemi Geliştirme
Bu aşamada ise problemimize gerçek bir sonuç aramak için yola koyuluruz. Bir probleme bir çok çözüm yolu arayarak bu aşamayı kaydedebiliriz. Ama bir probleme bir çözüm yolu bulursak problemde gelişmeler kaydedemeyiz. O yüzden birden fazla çözüm yolu bu aşamayıda bitiririz.
3. Sistem Uyumluluğunu Tespit Etme (Girdi-Çıktı Belirleme)
Sonuçlarımızın kullanıcılara düzgün yansıtılması gerekmektedir. Sonuçlarımızın çıktısını düzgün bir biçimde tasarlamak bizim elimizdedir. "Bir döküm biçimi tasarlanırken anlaşılır ve kullanılabilir olmasına özen gösterilmelidir." Bu madde bu aşamanın asıl açıklamasıdır. Eğer özen göstermezsek çıktımız kötü bir görüntü olabilir. Bu aşama yazılım temel özelliklerinden "Kullanılabilirlik" maddesinin bir nevi benzeridir.
4. Çözümü Kâğıt Üzerinde Gösterme (Prototip Oluşturma)
Algoritmamızı geliştirdikten sonra kolay ve anlaşılabilir olmasın için algoritmamızı prototip haline getirebiliriz. Buda önceki aşamamızda belirttiğim yazılım temel özelliklerinden "Kullanılabilirlik" maddesinin bir nevi benzeridir.
5. Çözümü Deneme
Bu aşama algoritmamızın uzun olarak çözülmesi değilde kısa yoldan çözümlere başvurarak yapılmasını incelemesidir. Ve doğru olup olmadığının kontrolüdür.
6. Çözümü Geliştirme
"Bu aşamada doğruluğu kontrol edilmiş çözümün tekrar edilen blokların daha kısa yoldan ulaşılması durumları gözden geçilir." MEB 2011-2012 Modül.
7. Oluşabilecek Hatalar
"Hazırlanan algoritmalarda en sık karşılaşılan hatalar mantık hatalarından oluşmaktadır. Mantık hataları ise problemin çözüm adımları belirlenirken yapılan yanlışlıklardan hatalardır." MEB 2011-2012 Modül.
Algoritma Örnekleri
Örnek: Öğreniğimiz bir öğrencinin evden çıkıp okula giderken izleyeceği yolu ve okula girişinde ilk yapacaklarını tanımlamaktadır.
Çözüm:
- Evden dışarıya çık.
- Otobüs durağına yürü.
- Durakta gideceğin yöndeki otobüsü bekle.
- Otübüsün geldiğinde otobüse bin.
- Biletini bilet kumbarasına at.
- İneceğin yere yakınlaştığında arkaya yürü.
- İneceğini belirten ikaz lambasına bas.
- Otobüs durunca in.
- Okula doğru yürü.
- Okul giriş kapısından içeriye gir.
- Sınıf arkadaşlarınla selamlaş.
- Sırana Otur.
- Öğretmenin gelmesini bekle.
Bana göre algoritma nasıl oluşur sorusuna en iyi cevap; Bir olayın baştan sona olan detaylarıyla açıklanması. Siz de programlarınızı böyle aşamalarla kaydettikçe programlarınızı istediğiniz şekilde ve hatasız bir şekilde kodlayabileceksiniz.
Bu Örnek MEB 2011-2012 modüllerinden alınmıştır.
Kaynak: Algoritma Nedir? | Berk Öztoprak