Merhaba. Bu yazıda programlamanın temeli olan Algoritma ve Akış diyagramlarını ilk kez duyan birinin bile anlayabileceği şekilde açıklamaya çalışacağım. Tanımları kısa tutup daha çok örneklerle bunu anlayacağız, hemen başlayalım;

 

Algoritma Nedir?

Kısaca, bir işi yapmak için atılacak adımların önceden planlanmasıdır. Buradaki “bir iş” bir problemi çözmekte olabilir, bir işi sonuçlandırmakta olabilir.

 

Algoritma tanımını kabaca öğrendikten sonra biraz algoritmadan bahsedelim sonrasında örneklerle pekiştirelim;

 

Programlamada kullanılan dilin ne olduğu farketmez, hepsinin temeli algoritmaya dayanır. Siz bir işin yapılacak işlem basamaklarını önceden hazırladığınızda ne yapacağınızı biliyor olursunuz ve geriye sadece kodlamak kalır. Kodlama tarafı da en zoru gibi görünsede aslında en basiti olur (ne yapacağınızı bildiğinizde).

 

Aslında algoritmalar sadece programlamada kullanılan bir şey değil, hayatımızın her anında farkında olmadan kullanıyoruz, örneğin çay demlerken, okula giderken hatta bardağa su doldururken bile farkında olmadan bir algoritmaya göre hareket ediyoruz :)

 

Şimdi klasik çay demleme örneğimizle bunu daha iyi anlayalım;

  • Adım 1-) Başla
  • Adım 2-) Çaydanlığa su doldur
  • Adım 3-) Ocağı yak
  • Adım 4-) Çaydanlığı ocağa koy
  • Adım 5-) Bekle
  • Adım 6-) Su kaynadı mı? Evet ise Adım 7'ye git, Hayır ise Adım 5'e git
  • Adım 7-) Çayı demle
  • Adım 8-) Çaydanlığa su ilave et
  • Adım 9-) Çaydanlığı ocağa koy
  • Adım 10-) Bekle
  • Adım 11-) Su kaynadı mı? Evet ise Adım 12'ye git, Hayır ise Adım 10'a git
  • Adım 12-) Bekle
  • Adım 13-) Çay demlendi mi? Evet ise Adım 14'e git. Hayır ise Adım 12'ye git
  • Adım 14-) Ocağı kapat
  • Adım 15-) Servis yap
  • Adım 16-) Bitir

 

Örneğimizi çokta açıklamaya gerek yok, çay demlemenin adım adım yazılmış hali yani çay demlemenin algoritması en basit haliyle budur. Sadece şunu bilelim, her algoritma “Başla” ile başlar, “Bitir” ile biter.

 

Birde bardağa su doldurmanın algoritmasına bakalım, sonra akış diyagramlarına geçelim;

  • Adım 1-) Başla
  • Adım 2-) Sürahide su var mı? Evet ise Adım 3'e git, Hayır ise sürahiye su doldur ve Adım 2'ye geri dön
  • Adım 3-) Bardağı al
  • Adım 4-) Sürahiden bardağa su doldur
  • Adım 5-) Bekle
  • Adım 6-) Bardak su ile doldu mu? Evet ise Adım 7'ye git, Hayır ise Adım 5'e git
  • Adım 7-) Sürahiyi yerine geri koy
  • Adım 8-) Afiyet olsun
  • Adım 9-) Bitir

Gibi :)

 

En basit haliyle algoritma örnekleri bu şekilde, bunlar daha da detaylandırılabilir ben konuyu basit bir şekilde anlatmak için örnekleri de basit tuttum.

 

Şimdi sıradaki konumuz;

 

Akış Diyagramları (Şemaları) Nedir?

Yukarıdaki örneklerde algoritmanın işlem basamaklarını alt alta adım adım yazdık. Çok basit bir işlem için bu işlem basamakları karışık olmaz ancak daha detaylı ve uzun işlemlerde bu karmaşık olacaktır. O yüzden okunurluğu kolaylaştırmak adına Akış Diyagramları'nı kullanıyoruz. Yani akış diyagramları, işlem basamaklarını bazı geometrik şekillerle ve oklarla görselleştirmeye yarar.

 

Her bir geometrik şeklin bir anlamı ve kullanım alanı var, şimdi bunlara bir bakalım;

SembolSembol AdıSembol Açıklaması
ElipsAkış diyagramının başlangıç ve bitiş noktalarını gösterir.
Paralel KenarPrograma veri girişi (kullanıcıdan bilgi almak vb.) için kullanılır.
DikdörtgenAritmetik işlemler ve her türlü atama işlemlerinin temsil edilmesi için kullanılır.
AltıgenProgram içindeki bazı bölümlerin tekrar edeceğini (döngü) belirtir.
Eşkenar DörtgenKarar verme işlemini temsil eder. Verilen karar sonucunda (Evet, Hayır) belirli bir yöne yönlendirilir. 
-Ekrana bir bilgi çıkışı vermek için kullanılır.
OklarDiyagramın akış yönlerini göstermek için kullanılır.

 

Şimdi bardağa su doldurma örneğimizi birde akış diyagramlarıyla hazırlayalım o işlem basamaklarının görselleştirilmiş hali nasılmış onu görelim;

 

Şuana kadar yaptığımız örnekler günlük hayatta yaptığımız işlere yönelik örneklerdi. Birde kullanıcıdan veri girişi alabileceğimiz 2 sayının ortalamasını veren ve bu ortalamanın tek mi çift mi olduğunu söyleyen bir örnek olsun;

 

İlk önce işlem basamaklarını yazalım;

  • 1-) Başla
  • 2-) Birinci sayıyı gir ve girilen değeri “sayi1” değişkenine ata
  • 3-) İkinci sayıyı gir ve girilen değeri “sayi2” değişkenine ata
  • 4-) Birinci sayı ve ikinci sayıyı topla ve sonucu “toplam” değişkenine ata
  • 5-) “toplam” değişkeninin değerini 2'ye böl ve sonucu “ortalama” değişkenine ata
  • 6-) “ortalama” değişkeninin değerini ekranda göster
  • 7-) “ortalama” değişkeninin 2'ye bölümünden kalan sonuç 0 mı? Evet ise ekrana “Sayı çift” Hayır ise “Sayı tek” yazdır
  • 8-) Bitir

 

Şimdi de bu örneğin akış diyagramını çizelim;

 

Evet algoritma ve akış diyagramları bu şekilde. Yazıyı daha fazla uzatmaya gerek yok diye düşünüyorum yinede özet geçecek olursak;

Algoritma, bir işi yapmak için atılan adımların işlem basamakları halinde yazılması.

Akış diyagramı da işlem basamaklarının geometrik şekillerle görselleştirmektir.

 

 

Yazı bu kadar, umarım faydalı olur