You are on page 1of 23

Akış Diyagramları

Kaba-kod ve Akış Diyagramı


• Kaba-kod: Bir algoritmanın yarı programlama dili kuralı, yarı
konuşma diline benzer şekilde ortaya
konulması/tanımlanmasıdır.
• Akış Diyagramı: Algoritmanın görsel/şekilsel olarak ortaya
konulmasıdır.
– Akış diyagramı standartları vardır.
– Standartlardan birine uyularak bir algoritmanın akış diyagramı yazılır.
• Gerçek kod: Algoritmanın bir programlama diline dökülmüş
halidir.
Akış Diyagramı Şekilleri
• Başla/Dur Başla Dur

• Giriş/Çıkış Klavye Kart Kağıt Ekran

• İşlem/ Fonksiyon çağırma İşlem


Fonksiyon
Çağırma

• Koşullu dallanma / döngü Koşullu Döngü


Dallanma
Akış Diyagramı Şekilleri
• Kayıt Sakla Doğrudan Ardışıl
Veritabanı

• Yönlendirme

• Etiketleme
İç Dış
Örnek: Aritmetik Ortalama
• Klavyeden girilen iki sayının aritmetik ortalamasını alan
programın akış diyagramını çiziniz?
Başla

A, B

Ort=(A+B)/2

“Ortalama
=“ Ort

Dur
Koşullu Dallanma (İki farklı işlem)
if (Koşul)
İşlem 2
else
İşlem 1
Hayır Evet
Koşul
?

İşlem 1 İşlem 2
Koşullu Dallanma (Olumluda işlem)
if (Koşul)
{ Evet
Koşul
işlem 1 ?
…... Hayır İşlem 1
işlem 2
}
İşlem N
Koşullu Dallanma (İç içe karşılaştırma)
İf (koşul1)
if (koşul2)
Hayır Evet
….. Koşul1
if (koşul(N-1))
?
İşlem N
else
İşlem 1 Hayır Koşul2 Evet
İşlem (N-1)
….. ?
else
İşlem 2 İşlem 2
else
İşlem 1

Switch Hayır Koşul Evet


Case a=1 (N-1)?
işlem 1
Case a=2
İşlem (N-1) İşlem N
işlem 2
Case a=3
işlem 3
Switch Case

Kaynak: https://appdividend.com/2019/09/14/switch-case-in-cpp-program-cpp-switch-example/
Döngü (While)
while (Koşul)
Giriş
{
İşlem N
işlem 1 Koşul
….
İşlem 1
işlem N
Çıkış
}
Döngü (Do While)
do
Giriş
{
işlem 1 İşlem 1
….
işlem N İşlem N
} while (Koşul)
Koşul

Çıkış
Döngü (For – Birinci Gösterim)
for (başlangıç; koşul; artım)
{ Giriş
işlem 1
…. Başlangıç Artım
İşlem N
işlem N
} Koşul İşlem 1

Çıkış
Döngü (For – İkinci Gösterim)
for (başlangıç; koşul; artım)
{
Giriş
işlem 1
….
İşlem N
işlem N Başlangıç
} Koşul
Artım İşlem 1

Çıkış
İç İçe Döngü
Giriş
for (…) {
Başlangıç
while (…) {
Koşul
for (…) { Artım
İşlem 1
….. Koşul
İşlem N
İşlem N
} Başlangıç
} Koşul
Artım İşlem 1
}

Çıkış
Örnek : Faktöriyel Hesabı
• Klavyeden girilen bir sayının faktöriyelini hesaplayan fonksiyonun akış
diyagramını çiziniz?
• N=5 5!=5*4*3*2*1 = 1*2*3*4*5
Başla
• sayac++ ifadesi denkliği sayac=sayac+1
f=1
main ()
N
{ unsigned int sayac, f=1,N
puts (“Sayı Giriniz:”); sayac=2
f=f*sayac
scanf(“%d”, &N); sayac<=N
sayac++
for (sayac=2; sayac <=N; sayac++)
f=f*sayac;
printf(“%d Faktöriyel=%d”, N, f); “Faktöriyel =“ f

}
Dur
Örnek : İkinci Dereceden Denklemin Kökleri

• A, B, ve C katsayıları kullanıcı tarafından ikinci dereceden bir


denklemin köklerini hesaplayan fonksiyonun akış diyagramını
çiziniz? Başla
1
“Denklemin
katsayılarını giriniz.”
X=B/(2*A)
A,B,C
“Tek kök vardır”
Delta=B*B-4*A*C X

Evet
X1=(-B-sqrt(Delta))/(2*A) Delta>0 Hayır
2
X2=(-B+sqrt(Delta))/(2*A) ?

Hayır Delta=0 Evet


?
1
“X1=“ X1
“X2=“ X2

Dur 2
Örnek: Matris Toplama/Çarpma
• Verilen A ve C matrislerinin toplamını D matrisine yazan
fonksiyonun akış diyagramını çiziniz?
Başla
Giriş

i=0
i<M
i++

k=0
D[i] [k]=
k<n
A[i] [k]+C[i] [k]
k++

Çıkış

Dur
Örnek: Bağlantılı Listeye Ekleme
• Bir bağlantılı listeye verilen bir veriyi ekleyen
fonksiyonun akış diyagramını çiziniz?
Örnek: Ağaçta Arama
• Bir ikili ağaçta verilen bir sayıyı arayan fonksiyonun akış
diyagramını çiziniz?
Fonksiyon Çağırma Örnekleri-1
• Üç sayının ortalamasını hesaplama

Kaynak: J. B. Taliba https://www.slideshare.net/dinakan1/01-2-introduction-to-flowcharting


Fonksiyon Çağırma Örnekleri-2

Kaynak: https://chortle.ccsu.edu/StructuredC/Chap03/struct03_16.html
Fonksiyon Çağırma Örnekleri-3

Kaynak: http://bilgisayarbilim.com/programlama-yapisi/
Fonksiyon ve Switch-Case

Kaynak: https://idarousse.com/hair_rm.php

You might also like