Algoritma

Bir işi gerçekleştirmeden önce yaptığımız planlamadır.
Günlük hayatta sürekli olarak yazılı veya sözlü olarak plan kullanırız. Örneğin her gün yattığımızda ya da sabah kalktığımızda o günün planını yaparız. (Sabah 7 de kalkacağım. Kahvaltımı yaptıktan sonra okula gideceğim, Okuldan çıkınca …)
Karşımıza çıkan problemleri aşabilmek için yine plana ihtiyaç duyarız. (Ör: Okula nasıl gidersin? )
Algoritma herhangi bir problemin çözülebilmesi için izlenecek yöntemlerin aşama aşama maddeler halinde planlanmasına denir.

Algoritma, verilen herhangi bir sorunun çözümüne ulaşmak için uygulanması gerekli adımların hiç bir yoruma yer vermeksizin açık, düzenli ve sıralı bir şekilde söz ve yazı ile ifadesidir. Algoritmayı oluşturan adımlar özellikle basit ve açık olarak sıralandırılmalıdır. Algoritmik çözüm yöntemlerine ilk örneği günlük yaşantımızdan verelim.

Örnek: Örneğimiz bir insanın evden çıkıp ise giderken izleyeceği yolu ve işyerine girişinde ilk yapacaklarını adım adım tanımlamaktadır.

Çözüm 1:
Evden dışarıya çık
Otobüs durağına yürü
Durakta gideceğin yöndeki otobüsü bekle
Otobüsün geldiğinde otobüse bin
Bilet kartını okut
İneceğin yere yakınlaştığında arkaya yürü
İneceğini belirten ikaz lambasına bas
Otobüs durunca in
İşyerine doğru yürü
İş yeri giriş kapısından içeriye gir
Çalışma arkadaşlarınla selamlaş
İş giysini giy
İşini yapmaya başla

Yukarıdaki örnekte görüldüğü gibi, evden işe gidişte yapılabilecek işlemler adım adım sırasıyla, kısa ve açık olarak tanımlanmaya çalışılmıştır. Yukarıdaki algoritma kişinin otobüsü kaçırma olasılığı düşünülmeden oluşturulmuştur. Kişi durağa geldiğinde bineceği otobüsü kaçırmış ise algoritmamız aşağıdaki şekilde değiştirilebilir.

Çözüm 2:
Evden dışarıya çık
Otobüs durağına yürü
Otobüsün saati geçmiş?
Durakta gideceğin yöndeki bir sonraki otobüsü bekle
Bir sonraki otobüs gelene kadar 4. adimi uygula
Otobüsün geldiğinde otobüse bin
Bilet kartını okut
İneceğin yere yakınlaştığında arkaya yürü
İneceğini belirten ikaz lambasına bas
Otobüs durunca in
İş yerine doğru yürü
İş yeri giriş kapısından içeriye gir
Çalışma arkadaşlarınla selamlaş
İş giysini giy
İşini yapmaya başla.

Her iki örnekte görüldüğü gibi sorunu çözüme götürebilmek için gerekli olan adımlar sıralı ve açık bir biçimde belirlenmiştir. Algoritmanın herhangi bir adımındaki küçük bir yanlışlık doğru çözüme ulaşmayı engelleyebilir. Bu nedenle algoritma hazırlandıktan sonra dikkatle incelenmeli ve varsa adımlardaki yanlışlıklar düzeltilmelidir.

Aşağıda değişik işlemlere ilişkin algoritma örnekleri verilmiştir.

Örnek: İki sayıyı toplamak için gerekli programa ait algoritmanın oluşturulması.
Algoritma:

1. Birinci sayıyı gir
2. İkinci sayıyı gir
3. İki sayının toplamını yap
4. Toplamın değerini yaz
5. Bitir.

Bu tam bir algoritmadır. Sözcüklerin ortaya çıkaracağı yanlış anlamaların ortadan kaldırmak amacıyla semboller ve matematik dilini gerektiren bazı kısaltmalar kullanmak daha uygun olacaktır.
Bir algoritma yazılırken su metot izlenmelidir:
-Programda kullanılacak elemanları temsil etmek üzere uygun isimler veya değişkenler seç.
-Bazı isimlere başlangıç değeri olarak çözümün gerektirdiği uygun değerler ver.
-Gerekirse programa girilecek verileri düzenle.
-İşlemleri gerçekleştir.
-Çıkısı düzenle.
-Bitir.

Yukarıda iki sayının toplanması için oluşturduğumuz algoritmayı bu yeni gereksinimlere uyarak yeniden yazalım. Toplam adi için Z, Birinci Şayi için X, İkinci Şayi için Y değerleri kullanılırsa;
Algoritma:
1. X değerini gir
2. Y değerini gir
3. Z= X+Y
4. Z' yi yaz
5. Bitir.
Görüldüğü üzere bu şekilde bir algoritma ile çözüm yolunu izlemek daha kolaydır. Bundan sonra verilen örneklerde bu tip algoritma kullanılacaktır.

Örnek: İki sayının ortalamasını bulan programa ait algoritmanın oluşturulması
Algoritma:

1. X değerini gir
2. Y değerini gir
3. Z= X+Y
4. Ort=Z/2
5. Ort değerini yaz
6. Bitir.
Bu örnekte Ort değeri ile iki sayının ortalaması temsil edilmiştir.

Örnek: Beş sayının toplamını ve ortalamasını veren programa ait algoritmanın oluşturulması
Toplam adi için Top, Ortalama adi için Ort, Girilen sayılar için X, Arttırma için Sayaç kullanılırsa
Algoritma:

1. Top=0, Sayaç=0
2. X'i gir
3. Top=Top+X
4. Sayaç= Sayaç +1
5. Eğer Sayaç 5 ten küçük ise ise A2'ye git
6. Ort=Top/5
7. Top ve Ort değerlerini yaz
8. Bitir.

Örnek: Kenar uzunlukları verilen dikdörtgenin alan hesabını yapan programa ait algoritmanın hazırlanması. Kenar uzunlukları negatif olarak girildiği durumda veri girişi tekrarlanacaktır.
Dikdörtgenin kısa kenarı: a, Dikdörtgenin uzun kenarı: b, Dikdörtgenin alanı: Alan
Algoritma:

1. a değerini gir
2. a değeri 0 dan küçük ise 1. adimi tekrarla
3. b değerini gir
4. b değeri 0 dan küçük ise 3. adimi tekrarla
5. Alan= a*b
6. Alan değerini yaz
7. Bitir.

Uygulama: Rakam tahmin oyunu yaptırılacak. 0-9 arasında rasgele girilecek sayıyı 3 tahmin hakkında bilmeye çalışan; eğer tahmin doğru çıkarsa kaçıncı hakkında bildiğini yazan; eğer 3 tahmin hakkında da bilemezse oyunu kaybettiniz mesajını yazan programın algoritmasını yazınız.