Algoritma Nedir? Yazılımda Algoritma Mantığı Nedir?

Algoritma Nedir? Yazılımda Algoritma Mantığı Nedir?
Bilinmeyen Bilişim Kitabı

Sık sık bir yazılımcı da , sahibi olması gerektiğinden bahsediyorum. Peki Nedir? , Nedir? sorularını cevaplamaya çalışalım.

SORU:

10.Sınıfta okuyorum algoritma ve görüyoruz algorıtmanın mantığını sınıftakiler dahil tam kavrıyamadık hocanın anlatımı felan tam iyi olmuyor algorıtmanın mantğını tam olarak nasıl kavrıyabiliriz?

CEVAP:

Sınıfta hocanızın yüz yüze anlattığı şeyi anlamadıysanız buradan anlamanızda kolay olmayacaktır. Ben yinede anlatayım. Umarım anlarsınız.

Algoritma Nedir?

Algoritma bir sorunu, problemi yada belirli bir hedefe ulaşmak için izlenen yola denir. Son derece basit anlatmaya çalışıcam. Aslında hayatınızın her alanında algoritma var. Anlamanızda zor değil ama matematik derslerinde Algoritma konusunu anlatırken hocaların işin içine x,y,z karıştırması kafa karışmasına neden oluyor.

Akış Diyagramı Nedir?

Akış diyagramı ise yapılması gereken işlemlerin adımlarını şema ile gösterilen grafiktir. Algoritmanın mantığını daha iyi anlayabilmek için bir örnek yapalım.

Algoritma DiyagramGünlük hayatımızdan bir örnek verelim. Sağda ki akış diyagramında da görüldüğü gibi bir sorunumuz var; Lamba çalışmıyor. Şimdi bu sorunu çözmek için algoritma mantığını kullanıcaz.

Sorun: Lamba Çalışmıyor.

Soru: Lambanın Fişi Takılı mı?
Hayır: Fişi tak (Sorun çözüldü. Bu noktadan sonra diğer adımlara bakmaya ve işlem yapmaya gerek kalmaz)
Evet: O zaman başka bir sorun var. Çözüm bulmak için yeni bir soru sormak gerek;

Soru: Ampul patlak mı?

Evet: Ampulü değiştir (Sorun çözüldü. Bu noktadan sonra diğer adımlara bakmaya ve işlem yapmaya gerek kalmaz)
Hayır: O zaman yeni bir lamba al.

Bu algoritma sayesinde sorunun lambadan kaynaklandığını anladık ve çözüm olarak yeni bir lamba alınması gerektiği sonucuna vardık.

Tabi bu diyagramı çeşitlendirmek mümkün. Fişi takınca yada ampulü değiştirince çalışmaması durumunda yapılması gerekenler eklenebilir. Kafa karıştırmamak ve kolay olması adına böyle bir örnek seçtik.

Yazılımda

üzerine kuruludur. Yapmak istediğiniz bir şeyi adım adım yaparsınız. Basit bir örnekle yazılımda üye giriş formu yapmak için Algoritmayı kullanalım. Kullanıcı sadece kullanıcı adı ve şifre belirtecek, “Giriş” butonuna basarak

Yazılım tarafında kullanıcı “Üye ol” butonuna bastıktan sonra şu Algoritma vardır:

Soru: Üye olacak kişi, kullanıcı adı girmesi gereken kısma kullanıcı adı yazdı mı?

Hayır: Hata mesajı çıkar ve kullanıcı adını yazması gerektiğini belirt.
Evet: Evet ise şifre bölümü kontrol edilir.

Soru: Üye olacak kişi, şifre girmesi gereken kısma şifre girmiş mi?

Hayır: Hata mesajı çıkar ve şifre girmesi gerektiğini belirt.
Evet: Evet ise bu sefer kullanıcı adının veri tabınında kayıtlı olup olmadığı kontrol edilir.

Soru: Belirtilen kullanıcı adı veri tabanında kayıtlı mı?

Hayır: Hata mesajı çıkar ve böyle bir kullanıcı adının olmadığını belirt.
Evet: Evet ise o kullanıcı adına ait girilen şifrenin doğruluğunu kontrol et.

Soru: Belirtilen şifre kullanıcı adına mı ait?

Hayır: Hata mesajı çıkar, kullanıcı adı ve şifrenin uyuşmadığını belirt.
Evet: Evet ise giriş işlemini gerçekleştir.

SONUÇ

Yazılımda AlgoritmaAlgoritma ve yapısını en iyi ve çözerek kavrarsınız. Özellikle yazılımcı olmak yada yazılım okumak istiyorsanız algoritmaları iyi öğrenmeniz gerekiyor. Aksi taktirde mantığı kavrayana kadar çok ciddi sıkıntılar çekersiniz. Bol bol alıştırma yapın ve algoritmik düşünce yapınızı geliştirin. Umarım faydalı bir anlatım olmuştur ve algoritmayı anlayamayan kardeşlerim azda olsa anlamışlardır.

Bilinmeyen Bilişim Kitabı
  • Umut Keskin

    “Neden-sonuç çözümlemesi” diyebilir miyiz buna hocam?

    • Sebep-Sonuç dersek algoritmanın çapını küçültmüş oluruz. Algoritmayı sadece bir sorunu çözmek için kullanmamız durumunda Sebep-Sonuç çözümlemesi dememiz doğru olabilir. Fakat yapmak istediğimiz bir şeyde (Örnek: Yazıda ki üye girişi algoritması) algoritmayı kullanmamız durumunda sebep-sonuç dememiz yanlış olur.

  • Can Kızıltan

    Abi yemin ediyorum ilk okuldan beri anlamadığım matematiği bana şu yazıyla hem merak ettirdin hem sevdirdin hemde içimde matematiği ögrenme düşüncesi oluşturdun 😀

  • ihtiyar

    Algoritma kelimesi onu bulan orta asya (Türkistan’lı) Al harezm’e dayanır. kendisi cebiri bulan ve mantığın temellerini atan bir Türk’tür. El Cebir kelimesinin batı’da telefuz farkıyla algorthim şekline dönüşmesiyle bu şekilde anıyoruz. Horasan ve Fergana vadisinden çıkan (şimdiki özbekistan-kazakistan- iran da kalan bölge) bu mantık, matematik ve astronomi alanındaki türk alimlerin babür şah’ın fetihleriyle hindistana doğru ilerlemişler ve yerleşmişlerdir. Bu gün hindistan’ın neden çok yazılım ihrac ettiği, mühendislik ve matematik alanında geliştiği sorusunun yanıtı da budur.