Algoritma ve Akış Diyagramı Örnekleri

Algoritmaya giriş yaparken akış diyagramlarında eşkenar dörtgenlerin karar verici (karşılaştırmalı) durumlarda kullanıldığını ve ana hat itibariyle diyagramlarda temelde kullanılan 6 şekli önceki yazımızda ifade etmiştik. Farklı anlatımlarda farklı sembollerin de kullanıldığını belirterek bu yazıda da akış diyagramlarında karar verici adımların döngülerini ve örneklerini göstereceğim.



Şemsiye Almayı Mıyım Diyagramı Örneği

“Evden çıkarken şemsiye almalı mıyım” sorusu için bir algoritma ve akış diyagramı yapacak olsaydık mantık örgüsüne böyle bir akış diyagramı oluşurdu.

Adım0: Başla

Adım1: Yağmur Yağıyor Mu?

Adım2: Cevap “Evet” ise Adım4’e git

Adım3: Cevap “Hayır” ise Adım9’a git

Adım4: Şemsiye ara

Adım5: Şemsiye buldun Mu?

Adım6: Cevap “Evet” ise Adım8’e git

Adım7: Cevap “Hayır” ise Adım1’e git

Adım8: Şemsiyeyi yanına al ve Adım10’a git

Adım9: Şemsiyeyi yanına alma

Adım10: Bitir

Görüldüğü üzere karşılaştırmalı durumların oluşturduğu döngüyü de her bir adımda belirttik. Bu algoritmanın akış diyagramını yapacak olursak:

Kahve Makinesi Çalışma Diyagramı Örneği

Basit bir kahve makinesinin çalışma mantığını diyagram haline getirecek olursak:

Hastane İşleyiş Diyagramı Örneği

Farklı bir örnekle bir hastanenin işleyiş diyagramını yapacak olsaydık:

Bu örnekte dikkat edilmesi gereken fark her bir kapalı çevrimin bir döngü olduğudur. Örnek olarak Hasta Kayıtlı Mı? sorusu için eğer cevap hayırsa program hasta kaydı isteyecektir. Hasta kaydı girildikten sonra döngünün devamında ise program tekrar hasta kayıt kontrolü yapacak ve artık hasta kayıtlı olduğu için program bir sonraki adımdan devam edecektir. Aksi durumda hasta kaydı yapılmayıp bir sonraki aşamaya geçilmek istendiğinde ise program bu adımda tekrar bir döngü içine girecek ve tekrar hasta kaydı soracaktır.

Acil Yardım Hattı Diyagramı Örneği

Diğer bir örnekte acil yardım hattının işleyiş diyagramını inceleyebiliriz.

Klima Sıcaklık Kontrol Diyagramı Örneği

Bir diğer akış diyagramı örneğinde ise kapalı bir çevrimi gösteren klimanın sıcaklık kontrol diyagramını inceleyelim.

Burada ise farklı olarak veri tabanından daha önce girilen sıcaklık değerini çağırmak için silindir şekli kullanılmıştır.

Daha fazla örneği daha sonra yine buraya ekleyeceğim. Bir önceki yazı olan algoritma ve programlamaya giriş’i henüz okumadıysanız buradan okuyabilirsiniz.

ALGO4778J5DE918DYC
Algoritma Nedir? Program Nedir? – Programlamaya Giriş

Bu yazıda algoritma ve program nedir, akış şemaları nedir bundan bahsederek programlaya giriş yapacağım.

Algoritma Nedir?

Algoritma, yapılmak ve yaptırılmak istenen bir işlemin, adım adım sıralanarak işlem basamaklarına bölünmesidir. Algoritmaların belirli şartları sağlamaları gerekmektedir:

concepts of programming languages - Guide For New Programmers
  • Her algoritmada mutlaka bir girdi bulunmalıdır.  
  • Girdiye karşılık olarak algoritma sonucunda mutlaka bir çıktı elde edilmelidir.
  • Algoritma her basamağında açıklık ilkesine uymalı ve okuyana net bir karar verdirmelidir.
  • Çıktıya ulaştıran algoritma belirli bir basamak sayısına sahiptir.

Algoritma, kısaca bizim bilgisayara yaptıracağımız işlerin sıralı olarak nasıl yapılacağını listeleme biçimidir.

Örnek olarak, kenar uzunlukları kullanıcı tarafından girilen bir dikdörtgen prizmanın hacmini hesaplamak istediğimizi varsayalım.

Bunun için yazmamız gereken algoritma, her adımı numaralandıracak olursak:

Adım0: Başla

Adım1: Kısa kenar, uzun kenar, yükseklik ve hacim değerlerini tanımla

Adım2: Kısa kenarın uzunluğunu oku

Adım3: Uzun kenarın uzunluğunu oku

Adım4: Yükseklik uzunluğunu oku

Adım5: Sayıları çarp ve hacim değerine ata

Adım6: Hacim değerini görüntüle

Adım7: Dur

şeklinde olacaktır.

Görüldüğü üzere her adımda yazacağımız programın ne yapması gerektiğini belirleyerek hem yazan kişi için hem de programın işlemleri doğru olarak yerine getirebilmesi için belirli bir mantıksal olay örgüsü kurmuş olduk.

Peki bahsettiğimiz program nedir, programların mantığı nasıl çalışır önce onu bir inceleyelim.

Program nedir?

Bir problemin, çeşitli makine dilleri kullanılarak bilgisayar ve bilgisayar mantığında çalışan cihazlara, onların anlayabileceği şekilde işlenmesine programlama, bunun sonucunda oluşan belirli bir çalışma algoritmalarına sahip kodlara (yazılımlara) ise program denir. Bir veya birden fazla algoritma dizilerinin birleşimi bir programı oluşturur. Bu programlar, programlama dili olarak adlandırılan, makinelerin çalışma mantığına uygun olarak oluşturulan iletişim dilleri ile yazılır. Programlama dillerine ve programlama dillerinin tarihine daha sonra detaylı olarak değineceğim.

Örnek olarak yukarıda bahsettiğimiz algoritma örneğini programa dönüştürecek olsaydık.

C++ programlama dili kullanarak:

#include<iostream>
using namespace std; 
int main(){
int kisaKenar, uzunKenar, yukseklik, hacim;
cin >> kisaKenar;
cin >> uzunKenar;
cin >> yukseklik;
hacim=kisaKenar*uzunKenar*yukseklik;
cout <<hacim<<endl;
}

şeklinde olacaktır.

Aynı algoritmayı Java dilini kullanarak programa dönüştürecek olursak:

import java.util.Scanner;
public class Main{
public static void main(String[] args) {
Scanner input = new Scanner(System.in);
double kisaKenar = input.nextDouble();
double uzunKenar = input.nextDouble();
double yukseklik = input.nextDouble();
double hacim = kisaKenar*uzunKenar*yukseklik;
System.out.println("Hacim: "+hacim);
     }
}

şeklinde olacaktır. Görüldüğü üzere 2 farklı programlama dili ile aynı algoritmayı kullanarak hacim hesabı yapmak mümkündür.

Akış Diyagramları Nedir?

Algoritmaların daha iyi anlaşılabilmesi için belirli şekillerle çizilmelerine akış diyagramı denir.

Akış diyagramları oluşturulmadan önce:

  • Algoritmanın adımları belirlenmeli,
  • Her adım için kullanılacak şekiller belirlenmeli.   

Yukarıda vermiş olduğumuz algoritma için akış şeması yazacak olursak:

şeklinde olacaktır.

Bu yazıda algoritma ve programlaya giriş yaptık, akış diyagramları ve algoritma ile ilgili örneklere ise buradan ulaşabilirsiniz.

ALGO1W69O39TC88429