Bir önceki yazımızda Algoritma nedir? Nasıl yazılır? gibi konulardan bahsetmiştik. Bu yazımızda da Akış Şeması nedir? diğer adıyla Akış Diyagramı nedir? Akış Şeması şekilleri nelerdir? ve Akış Şeması oluşturma konularını öğreneceğiz.
Algoritma ile ilgili detaylı bilgi almak isterseniz Algoritma Nedir? Ne İşe Yarar? Neden Bu Kadar Önemlidir? yazımı okuyabilirsiniz.
Bu yazıyı tamamladıktan sonra algoritma mantığını tam olarak pekiştirmek için her seviyede örneklerin bulunduğu Algoritma Örnekleri (Basit, Orta ve İleri Seviye) yazımı inceleyebilirsiniz.
Algoritmaları İfade Etme Türleri
Algoritmaları genel olarak 3 farklı şekilde ifade edebiliyoruz. Bunlar:
- Algoritmanın metin olarak yazılması : Bu yöntemde algoritmanın tüm adımları düz metin olarak açıkça yazılır.
- Algoritmanın sözde kodlarla yazılması : Bu yöntemde algoritmanın tüm adımları yarı kodlarla veya kısaltmalarla yazılır.
- Algoritmanın akış şemasının çizilmesi : Bu yöntemde algoritmanın tüm adımları belirli şekillerle ifade edilir.
Şimdi örnek bir algoritma belirleyelim ve bu algoritmayı 3 farklı şekilde nasıl ifade edebileceğimize bakalım.
Örnek Algoritma : Bir kenar uzunluğu ve o kenara ait yüksekliği girilen üçgenin alanını hesaplayan algoritmayı 3 farklı şekilde yazınız.
Algoritmanın Metin Olarak Yazılması
A1 Başla
A2 Üçgenin kenar uzunluğunu gir
A3 O kenara ait yüksekliği gir
A4 Kenar uzunluğu ile yüksekliği çarpıp 2’ye böl ve Sonucu alan değişkenine ata
A5 Alan değişkenini ekrana yaz
A6 Dur
Algoritmanın Sözde Kodlarla Yazılması
A1 Başla
A2 kenarUzunlugu gir
A3 yukseklik gir
A4 alan = (kenarUzunlugu * yukseklik) / 2
A5 alan değişkenini yaz
A6 Dur
Algoritmanın Akış Şeması ile İfade Edilmesi
Artık, algoritmaları ifade etme türlerinden olan akış şeması nedir, akış şeması şekilleri nelerdir detaylarıyla bakalım.
AKIŞ ŞEMASI NEDİR?
Düz metin olarak yazılan bir algoritmanın her adımının farklı bir görsel şekil içerisine yazılması ve bu adımların birbirlerine oklar ile bağlanması ile oluşturulmasına akış şeması veya akış diyagramı diyoruz.
Yazılan algoritmanın her adımı bir şekil ile temsil edilir. Akış şeması oluştururken kullanacağımız her şeklin farklı bir anlamı bulunuyor.
Örneğin kullanıcıdan bilgi girilmesi istendiğinde farklı bir şekil, koşul durumlarında farklı bir şekil, işlemlerin yani hesaplamaların yapıldığı adımda farklı bir şekil vb..
Akış şeması şekillerine birazdan detaylı olarak değineceğim.
Akış şeması ile oluşturulan bir algoritma, düz metin olarak oluşturulan algoritmaya göre genelde daha anlaşılır olarak kabul ediliyor. Bu yüzden algoritmalar oluşturulurken, akış şemaları düz metinlere göre daha fazla tercih ediliyor.
AKIŞ ŞEMASI ŞEKİLLERİ
Akış Şeması Sembolleri | Açıklama Bilgisi |
---|---|
Algoritmanın başladığını yada sona erdiğini belitmek için kullanılan akış şeması sembolüdür. | |
Bilgi girişi yapılacağı durumlarda kullanılan akış şeması sembolüdür. Örneğin 2 sayının ortalamasını hesaplamak için, kullanıcıdan sayıları girmesini istediğimiz durumda kullanılır. | |
Bir değişkene değer ataması yaparken veya hesaplama işlemlerini yaparken kullanılan akış şeması sembolüdür. | |
Soru sorulan veya karşılaştırma yapılan durumlarda kullanılan akış şeması sembolüdür. Örneğin 2 > 0 (iki sıfır’dan büyükse ) ise veya 2 sayıyı topladın mı? gibi soru ve karşılaştırma durumlarında kullanılır. Soru veya karşılaştırmanın sonucuna (EVET veya HAYIR) göre işlemlere devam edilir. | |
Hesaplanan sonuçların veya üretilen bilgilerin kullanıcıya gösterilemesi için kullanılan akış şeması sembolüdür. | |
Yapılan işlem eğer birden fazla defa tekrar edecekse yani bir döngüye giren işlem olduğu durumlarda kullanılan akış şeması sembolüdür. | |
Örneğin bir süreci veya işlemi alt basamaklara bölerek yapıyoruz diyelim. Alt basamakta gerçekleşecek işlemleri tanımladığımız akış şeması sembolüdür. Alt basamaktaki işlemlerin detayları yazılmaz. Sadece işlemin tanımı yazılır. | |
Oluşturulan akış şeması bir sayfaya sığmayacak kadar büyükse daha küçük parçalara ayırabiliyoruz. Bu küçük parçaları birbirleri ile ilişkilendirmek için yani bağlamak için kullanılır. | |
Oluşturulan akış şeması sembollerini birbirleri ile ilişkilendirmek için yani bağlamak için kullanılır. |
Şimdi örnekler üzerinde biraz daha pekiştirelim.
Örneklerimizin daha iyi anlaşılması için olabildiğince basit seçeceğim.
Örneğin 2 sayının ortalamasını hesaplayan algoritmayı düz metin olarak yazalım. Daha sonra düz metinde yazmış olduğumuz algoritmayı akış şeması sembolleri ile yapalım.
A1 Başla
A2 Birinci sayıyı gir (a)
A3 İkinci sayıyı gir (b)
A4 İki sayıyı toplayıp sonucu toplam değişkenine ata (toplam = a + b)
A5 toplam değişkenini 2’ye böl ve sonucu ortalama değişkenine ata (ortalama = toplam / 2)
A6 ortalama değişkenini yaz
A7 Dur
Bu problemi çözmek için gerekli bütün adımları sıralı bir şekilde yazarak algoritmamızı tamamladık. Gördüğünüz gibi hiçbir detayı gözardı etmeden her adımı detaylı bir şekilde yazdık.
Şimdi de akış şeması sembolleri ile yapalım.
Gördüğünüz gibi her adımda yapılacak işlem veya duruma göre ilgili sembolü seçip akış şemamızı oluşturduk.
İkinci örneğimizde de birbirinden farklı girilen 2 sayıdan hangisinin küçük olduğunu bulan algoritmayı düz metin olarak yazalım. Daha sonra düz metinde yazmış olduğumuz algoritmayı akış şeması sembolleri ile yapalım.
A1 Başla
A2 Birinci sayıyı gir (a)
A3 İkinci sayıyı gir (b)
A4 Eğer a < b ise ekrana “Birinci sayı daha küçüktür” yaz
A5 Eğer a < b değil ise ekrana “İkinci sayı daha küçüktür” yaz
A6 Dur
Şimdi de akış şeması sembolleri ile yapalım.
Akış şeması nedir? veya Akış diyagramı nedir? öğrendiğimize göre son olarak bu akış şemalarını hangi programı kullanarak veya hangi siteden online olarak yapabileceğimize bakalım.
AKIŞ ŞEMASI OLUŞTURMA PROGRAMI
Akış şeması oluşturmak için kullanabileceğiniz ücretli ve ücretsiz birçok program bulunuyor. Ücretli bir program arıyorsanız Microsoft Visio, ücretsiz bir program arıyorsanız Calligra Flow programını önerebilirim.
Herhangi bir program kurulumu yapmadan online olarakta akış şeması oluşturabilirsiniz.
Benim de online olarak kullandığım Flowchart Maker & Online Diagram Software sitesini önerebilirim.
Sitenin Arayüzü
Umarım sizin için faydalı bir yazı olmuştur.
Yeni bir yazımda görüşmek üzere.