Öğrenmenin sonsuzluğu, insana ne kadar az bildiğini gösterir. (Edward Young)

Algoritma nedir? Algoritma ile ilgili örnekler nelerdir?

algoritma

Algoritma; Bu kavramının ortaya çıkışı bilgisayar dünyasının dönüm noktalarından biri olarak kabul edilir. Algoritma sözcüğü adını Edu Abdullah Muhammed İbn Musa El Harezmi adında ki Müslüman – Türk aliminden almıştır.

Alimin ismini telaffuz edemeyen Avrupalılar “Algorizm” sözcüğünü “sayıları kullanarak aritmetik problemler çözme kuralları”anlamında kullanırlar. Bu sözcük daha sonra “Algoritma” ya dönüşür ve yaygın olarak kullanılır.

Latince çevirisinin Avrupa’da çok büyük ilgi gördüğü, “Hisab el-cebir ve el-mukabala” kitabı dünyanın ilk cebir kitabını oluşturmuştur. Aslını soracak olursanız; bu kitabın hikayeside bir hayli ilginçtir. El-Harezmi, bir cebir kitabı yazar ve Abbasi halifesi Memun’a sunar. Memun: “Harezmi, yazılanlar çok güzel lakin fazla karmaşık. Halkım bunu okur ancak anlayamaz, sen git yeniden yaz. Öyle yaz ki; herkes okuyabilsin, herkes anlayabilsin ve herkes bu kurallara uyarak problemlerini çözebilsin..” der ve bunun üzerine El-Harezmi cebir kitabını bu kurallara uyarak yazmaya başlar. El-Harezmi artık kitabını herkesin anlayabileceği bir şekilde yazmıştır.

Harezmi’nin matematikte ki en büyük hizmetlerinden birisi de, eserlerinde hem sıfırı hem de diğer rakamları kullanmış olmasıdır. Ek bilgi olarak da şunu belirtmek istiyorum; Batılıların Arap rakamları, Müslümanların Hint rakamları adını verdikleri rakamları Avrupa’ya tanıtan isim de El-Harezmi’dir.

Bahsi geçen “..sen git yeniden yaz. Öyle yaz ki; herkes okuyabilsin, herkes anlayabilsin ve herkes bu kurallara uyarak problemlerini çözebilsin..” cümlesi algoritmanın ve algoritmik anlatımın temelini oluşturmuştur ve hala da oluşturulmaktadır.

Algoritma herhangi bir problemin çözümü için izlenecek yol anlamına gelmektedir. Bir problemi sonlu bir zamanda çözebilmek için geliştirilmiş açık seçik, yürütülebilir, sıralı, basit ve gerektikçe tekrar eden adımlardan oluşan yöntemlerdir. Bir problemin çözüm adımlarını ve yöntemlerini oluşturmaya ise algoritma tasarlama olarak adlandırılır. Bu açıklama üzerine bir algoritmanın temel özelliklerini şöyle sıralayabiliriz.

  • Açık seçik olmalı. (Herkes tarafından kolay anlaşılabilir olması.)
  • Devam edilebilir, yürütülebilir olmalı.
  • Sıralı bir şekilde olmalı.
  • Sonlu bir zamanda çözülebilir olması.

Bir algoritma, programlama dilleri ile uygulandığı zaman program adını alır. Algoritmada yer alan her bir emir bildiren cümle aslında programda bir komuttur. Algoritmalar tarafından işlenen en temel elemanlara (..sayısal bilgiler, metinsel bilgiler, resimler.. vb.) ise veri adı olarak tanımlanır. Yazılan ya da yazılacak olan bir algoritmanın düzenlenmesi ve işlenmesi gerekir. Verilerin düzenlenme biçimini belirleyen yapı taşlarına veri yapıları denir. Veri (data), işlenmemiş bilgi veya bilgilerin ham halidir. Bilgi ise, en basit şekilde açıklayacak olursak; bilginin işlenmiş halidir.

Örnek verecek olursak; iki sayının çarpımını hesaplayan basit bir matematiksel işlemin algoritmasını yazacak olursak;

  1. Gir, iki sayı (a,b);
  2. Çarp, girilen iki sayıyı (carp=a*b);
  3. Göster, sonucu (carp);

Yukarıda ki verdiğimiz örnekten de anlayabileceğiniz üzere “Gir, Çarp, Göster” gibi emirler algoritmada komut, “a,b” gibi sayılar ise değişken verileri olarak adlandırılır.

Aslına insanlar farkına varmadan günlük hayatlarında algoritmaya başvururlar. Bir insanın günlük hayatta algoritmadan yararlanmadan yaşaması imkansızdır. Araba kullanırken, bilgisayar başında bir iş ile ilgilenirken, yemek yaparken ve hatta televizyon izlerken bile algoritmadan yararlanırız.

Örneğin siz bir araba kullanıyorsunuz ve trafik ışıklarına geldiniz. Karşılaşacağınız problemin algoritmasını çıkaracak olursak;

  1. Başla;
  2. Bak, ışığa (sinyal);
  3. Eğer (sinyal==”Y”) ise Geç;
    3.1. Değilse eğer(sinyal==”S”) ise, Yavaşla;
    3.1.1. Git, 2.adıma;
    3.2. Değilse Dur;
    3.2.1. Git, 2.adıma;
  4. Dur;

İşte bu ve bunun gibi birbiri ardına çözümsel odaklı gelen ifadelere toplamına algoritma adı verilir. Günlük yaşantınızda eğer gözlem yapmayı seviyorsanız ve bunu alışkanlık haline getirdiyseniz, çevremizde bazı insanların bu düşünceyi benimsemiş olduğunu görürüz. Özellikle bu bilgisayar programcılarında ve bilgisayar mühendislerinde çokça rastlanır.

Bir programcı alışverişe giderken kafasında önce liste oluşturur. İlk hangi bölümden alışverişe başlayacağına karar verir, fiyat aralığını benimser ve alışveriş alanına girer. Eğer bu alışveriş bir market alışverişi ise kasaya geldiğinde daha eline yerleştirmek için poşeti almadan kafasında nasıl bir düzen yapacağının kurgusunu tasarlar..

Not: Her program için algoritma yazılması zorunlu değildir, ancak eğer algoritmasını ilk yazıp daha sonra kodlama işlemine geçerseniz kodlamada hata minimuma inecektir ve daha rahat bir şekilde programı hayata geçireceksinizdir.

Programlama hakkında ki diğer makaleleri de okumayı ihmal etmeyin ve unutmayın ki; bu işi ortaya çıkaran bizim kanımızı taşıyordu.. Asla pes etmeyin ve sadece isteyin..

Konu ile ilgili düşüncelerini bizimle paylaşır mısınız?

  1. Sezgin diyor ki:

    Bilgi ve emeğiniz için teşekkürler. İyi çalışmalar dilerim.

    1. Proyazar diyor ki:

      Eğer makale işinize yaradı ise ne mutlu bana 🙂 Takipte kalmanızı tavsiye ederim.
      Teşekkürler değerli yorumunuz için 🙂

  2. Suskun diyor ki:

    Algoritma hakkinda baya bilgi yer aliyor. Algoritmaile ilgili örnekler de verilmiş cok guzel bir makale olmuş yazanın ellerine saglik tesekkür ederim

    1. Proyazar diyor ki:

      Beğendiğinize sevindim açıkcası 🙂

  3. Yılmaz Pakyurek diyor ki:

    Güzel Anlatılmış Bir Makale Yazara Teşekkürederim.

    1. Proyazar diyor ki:

      Beğendiğinize sevindim, yorumunuz için asıl ben teşekkür ederim.

  4. Samet Teke diyor ki:

    Teşekkür ederim. Güzel bilgiler gerçekten.

    1. Proyazar diyor ki:

      Okuduğunuz için ben teşekkür ederim @samet hocam..

Bir Cevap Yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir