2 Kasım 2014 Pazar

Algoritma Nedir ?

Programlamaya Giriş ve Algoritmalar - Ders Notları

Algoritma sözcüğü nereden gelir?
 
Algoritma kelimesi, Özbekistan'ın Harezm, bugünkü Türkmenistan'ın Khiva kentinde doğmuş Ebu Abdullah Muhammed bin Musa el Harezmi isimli Türk matematikçinin adından gelir. Batılılar, el Harezmi (Al-Khwarizmi) (Latincede Algoritmi) sözcüğünü telaffuz edemedikleri için terim bu şekilde kalmıştır.

Algoritma Nedir?
Tüm programlama dillerinin temeli algoritmayla başlar. Aynı zamanda algoritma tek bir problemi çözecek davranışın, temel işleri yapan komutların veya deyimlerin adım adım ortaya konulmasıdır ve bu adımların sıralamasına göre işlem yapılmasıdır.

Algoritma bir programlama dili değildir.
Bir problem çözülürken algoritmik ve sezgisel (herustic) olmak üzere iki yaklaşım vardır. Algoritmik yaklaşımda da çözüm için olası yöntemlerden en uygun olan seçilir ve yapılması gerekenler adım adım ortaya konulur.

Algoritma türleri:
  • Arama algoritmaları
  • Bellek yönetimi algoritmaları
  • Bilgisayar grafiği algoritmaları
  • Birleşimsel algoritmalar
  • Çizge algoritmaları
  • Evrimsel algoritmalar
  • Genetik algoritmalar
  • Kripto algoritmaları veya kriptografik algoritmalar
  • Kök bulma algoritmaları
  • Optimizasyon algoritmaları
  • Sıralama algoritmaları
  • Veri sıkıştırma algoritmaları
Algoritmayı belirtmek için ; metinsel olarak düz ifade ve akış diyagramı olmak üzere 2 yöntem kullanılır. Algoritmalar bilgisayarlar tarafından işletilebilirler.

Algoritmada 3 temelden oluşmaktadır :
  1. Değişkenler: Değerleri tutan elemanlardır.
  2. Algoritma:  Çözüm adımlarının mantıksal bir sıra ile yazılmasıdır.
  3. Akış Diyagramı: Algoritmanın şekiller ile tasvir edilmesidir.
Her algoritma aşağıdaki kriterleri sağlamalıdır.
  1. Girdi    : Sıfır veya daha fazla değer dışarıdan verilmeli.
  2. Çıktı    : En azından bir değer üretilmeli.
  3. Açıklık  : Her işlem (komut) açık olmalı ve farklı anlamlar içermemeli.
  4. Sonluluk: Her türlü olasılık için algoritma sonlu adımda bitmeli.
  5. Etkinlik  : Her komut kişinin kalem ve kağıt ile yürütebileceği kadar basit olmalıdır.
Verilen iki sayının toplamının bulunmasının algoritması aşağıdaki gibi yazılır.
A1 Başla
A2 Birinci Sayıyı Oku
A3 İkinci Sayıyı Oku
A4 İki Sayıyı Topla
A5 Dur
Algoritmaya dikkat edilirse işlemlerin sıralanmasında, işlem önceliklerinin göz önünde bulundurulduğu görülür. Ayrıca algoritma yazımı sorun çözümünün başladığını gösteren “Başla” ifadesi ile başlamakta ve işlemlerin bittiğini belirten “Dur” ifadesi ile sona ermektedir.

Günlük hayattan ufak bir davranışın algoritmasını çıkaralım :

Telefon kulübesinden telefon açmak için örnek bir algoritma
A1 Telefon kulübesine git
A2 Telefon kartı al
A3 Telefon sırasında kaç kişi olduğuna bak
A4 Kişi sayısı sıfırdan fazlaysa 3 e dön
A5 Kapı kapalıysa kapıyı aç
A6 İçeri gir, kapıyı kapat
A7 Telefon kartını telefona yerleştir
A8 Ahizeyi kaldır
A9 Numarayı çevir
A10 Konuşmanın bitip bitmediğine bak
A11 Konuşma bittiyse kartı al, bitmediyse 10 a dön
A12 Bir daha konuşma yapılacaksa 7 e dön
A13 Kapıyı aç, dışarı çık

Hiç yorum yok:

Yorum Gönder