Davut KARA

Bilişim Sistemleri Mühendisi

Bu blog, 5 yıl önce, bilişim ve diğer konularda hakkında, makalelerime yer vermek amacı ile açılmıştır.

Algoritma ve Flowchart Nedir ?

164324831-e1389193763843
Algoritma nedir diye bir tanım yapacak olursak algoritma bir programın yada bir sistemin çalışma adımlarıdır diyebiliriz. Düzgün bir algoritma içinde tüm adımları ve tüm olasılıkları hesaba katmalıyız. Eğer bu adımlarda bir eksiklik olur ve sistem içinde olaşabilecek ihtimallere birer çözüm üretemezsek, sistem hataları karşımıza çıkacaktır.

Her şeyin algoritmasını yazabilirsiniz, burada önemli olan nokta oluşabilecek tüm ihtimal ve adımları göz önünde bulundurmaktır. Mesela otobüse bineceksiniz kartınıza var mı ? diyelim ki var peki kartınız dolu mu? bunun gibi bir çok küçük veya büyük adımlar oluşturulabilir. Elimizde komut verebileceğimiz bir robot olduğunu varsayalım. Eğer yukarıdaki 2 sorunun cevabını ve buna uygun direktifleri ona vermezsek robot otobüse bindiğinde kartı yanına almamış olabilir, veya kartı yanına aldı diyelim, kartın içinde kontör bulunmayabilir, böyle bir durumda muhtemelen kaptan onu orta kapıdan kovalayacaktır 🙂

İşte algoritma çalışma düzeninde tüm ihtimalleri göz önünde bulundurmalı ve bu ihtimaller doğrultusunda hangi yolları izleyeceğini bilmelidir.

Algoritma dediğimiz olay daha çok çalışma sisteminin satır satır yazılmasıdır, bu satırlara numara verilir ve bu satırlarda yapılacak veya kontrol edilecek noktaların işlemleri yazarak ifade edilir.

Peki ya flowchart nedir ? flowchart ise algoritmanın şema haline getirilmiş halidir, algoritmayı kağıt üstünde resmederek, izlenecek adımların daha kolay ifade edilmesini sağlar.

Bir program yapılırken her seferinde flowchart çizimi ve algoritma yazımı yapılır mı?

Programı yazan kişi eğer ki yapılacak adımları kendi göz önünde bulundurabiliyor ve gereksinim duymuyorsa algoritmayı tamamen kafasında halledebilir, bu durumda algoritmayı sözel olarak ifade etmesine veya flowchart çizmesine gerek yoktur. Ancak başka bir programcının yazılan programı anlayabilmesi için, bazı noktalarda algoritmayı açıklama ihtiyacı duyabilir. Bu durumda programa etki etmeyen yorum satırlarını kullanarak programa küçük notlar bırakabilir.

Programlamaya yeni başlayan birisi alogirtmayı yazı olarak ifade etmeye ve flowchart çizmeye gerek duymalı mıdır ?

Algoritma soyut bir düşünce yapısı olduğu için, program yazmaya yeni başlayanlar algoritmayı kavramakta zorlanırlar. İşte bu gibi durumlardan kurtulabilmek için algoritmayı somutlaştırmak gerekir. Bunu somutlaştırmayı da algoritmayı yazarak ifade edebilir veya flowchart çizerek yapabilirsiniz. Bu sayede kağıt üzerinde görerek daha kolay kavramanıza, işleyiş tarzını ve işlem önceliğini öğrenmenize yardımcı olur.

Bu yazı dizisinin devamında algoritma ve flowchart örnekleri yapacağım, flowchartın şekilsel ifadelerine değineceğim. Takipte kalın 🙂