Algoritma ve Akış Diyagramı Örnekleri (Doğrusal Akış Diyagramları)

Algoritmanın bir problemi çözebilmek için izlenmesi gereken basamaklar serisi olduğu daha önce söylemiştik.  Bizler için bu problemler günlük yaşantı problemleri değilde programcılık mantığı ile çözülmesi gereken problemlerdir.

Biz bu problemleri basitten karmaşığa olarak sıralandıracaz.  Bu yüzden önce temeller adı altında basit örneklerle algoritma ve akış diyagramını anlamanızı sağlıyacaz. Daha çok doğrusal akış şemaları karşınıza çıkacak bu bölümde.  Hiç merak etmeyin son derece kolay anlaşılacağından eminim :)

Örnek 1: Klavyeden girilen 3 sayıyı toplayan ve ortalamasını alarak sonuçları ekrana yazdıran programın algoritmasını ve akış diyagramını tasarlayınız.

Şimdi bu örneği çözmeden önce şöyle bir düşünelim. Bu problemin çözümü için öncelikle elimizde verilerin olması gereklidir. yani 3 adet sayı girilmesi gerekli.  sayılar girildikten sonra sayılar toplanacak çıkan toplam 3 e bölünüp ortalaması bulunacak ve sonuçlar ekrana yazdırılacak. Şimdi bu düşündüklerimizi uygulayalım…

1. Değişkenler
x=Birinci sayı
y=ikinci sayı
z=üçüncü sayı
top=sayıların toplamı
ort=sayıların ortalaması

Şimdi değişkenlerimizi yazdık. Artık adım adım kafamızda tasarladığımız basamakları algoritma içerisinde yazalım.

Adım 1-Başla
Adım 2-Birinci sayıyı oku ve x ‘ e kaydet.
Adım 3-İkinci sayıyı oku ve y ‘ ye kaydet.
Adım 4-Üçüncü sayıyı oku ve z’ ye  kaydet.
Adım 5-top=x+y+z işlemini yap.
Adım 6-ort=top/3 işlemini yap.
Adım 7-top ve ort değerlerini ekrana yazdır.
Adım 8-Bitir

Şimdide algoritmadaki adımları akış diyagramına aktaralım.

algoorn1
Örnek 2
:  Şimdiki örneğimizde biraz geometrik şekilleri anımsayalım ve bazı hesaplamalar yapalım.

Sırasıyla, bir kenar uzunluğu verilen karenin alanını ve çevresini , bir kısa kenar ve bir uzun kenar uzunluğu verilen dikdörtgenin alanını ve çevresini, yine yarıçapı verilmiş bir dairenin alanını ve çevresini hesaplayan programın algoritmasını ve akış diyagramını tasarlayınız.

Problem biraz daha büyüdü sanırım. Ama meraklanmayın problemi aşama aşama çözmeye başladıkça aslında o kadar da zor olmadığını sizde göreceksiniz.

Önce değişkenlerimizi yazalım:
Değişkenler
Kare için:
kk: karenin bir kenar uzunluğu
ka:karenin alanı
kc:karenin çevresi
Dikdörtgen için:
dkk:Dikdörtgenin kısa kenar uzunluğu
duk:Dikdörtgenin uzun kenar uzunluğu
dia:Dikdörtgenin alanı
dic:Dikdörtgenin çevresi
Daire için
r:Daire nin yarıçap uzunluğu
da:Dairenin alanı
dc:Dairenin çevresi

Önceki örneğimize göre değişken sayısı arttı. Değişkenlere isim verirken türkçe karakter kullanmamaya özen gösterin. Ayrıca bazı kelimeler programlama dillerinde reserved(rezerv edilmiş ayrılmış) kelimelerdirç Örneğin abs matematiksel bir fonksiyondur.Çoğu programlama dilinde bu fonksiyon kütüphanelerde mevcuttur.

Şimdi ise algoritmamızı yazalım.
Adım 1-Başla
Adım 2-kk,dkk,duk,r değerlerini oku
Adım 3-ka=kk*kk , kc=kk*4  (Karenin alanını ve çevresini bulan formüller)
Adım 4 dia=dkk*duk, dic=2*(dkk+duk) (Dikdörtgenin çevresini ve alanını bulan formüller)
Adım 5 da=3.14*r*r , dc=2*3.14*r (Dairenin alanını ve çevresini bulan formüller)
Adım 6 ka, kc, dia, dic, da, dc değerlerini ekrana yazdır.
Adım 7 Bitir.

Burada her algoritmanın bir başlangıca ve bir bitişe sahip olduğunu fark etmişsinizdir.

Evet sırada akış diyagramımız var.

algoorn2

Örnek 3: Bir kırtasiye de kalem defter ve silgi satışı yapılmaktadır. Birim fiyatları ve kaç adet alındığını klavyeden girilerek bir müşterinin ne kadar ödemesi gerektiğini hesaplayan programın algoritmasını ve akış diyagramını çiziniz.

Değişkenler
Ürünlerin Satış Fiyatı
Kalemin Fiyatı : k
Defterin Fiyatı: d
Silginin Fiyatı: s

Alınan Ürün Miktarları
Kalem Miktarı: k1
Defter Miktarı: d1
Silgi Miktarı: s1

Toplam Ücret: t

Algoritma
Adım 1. Başla
Adım 2. Kalemin Fiyatını giriniz. (k)
Adım 3. Defterin Fiyatını giriniz.(d)
Adım 4. Silginin Fiyatını giriniz.(s)
Adım 5. Alacağımız Kalem miktarı(k1)
Adım 6. Alacağımız Defter miktarı(d1)
Adım 7. Alacağımız Silgi miktarı(s1)
Adım 8. Ödenecek toplam ücreti hesapla t:=(k*k1)+(d*d1)+(s*s1)
Adım 9. t değerini ekrana yaz.
Adım 10.Bitir

Akış Diyagramı

algo3

Örnek 4: Klavyeden girilen vize notunun %40′ ını final notunun %60 ‘ ını alarak ortalama notu bulduran programın algoritmasını ve akış diyagramını tasarlayınız.

Değişkenler
Vize notu: v
Final notu: f
Ortalaması : ort

Algoritma
adım 1. Başla
adım 2. Vize ve final notlarını klavyeden giriniz. (v,f)
adım 3. Ortalamayı hesapla ort=(v*0.4)+(f*0.6)
adım 4. Ort değerini ekrana yaz.
adım 5. Bitir

Akış Diyagramıalgo4

Örnek 5

Bir baba ve oğlunun yaşları farkını bulan programın algoritmasını ve akış diyagramını tasarlayınız.

Değişkenler
babanın yaşı: b
oğlunun yaşı: o
yaşlar farkı: fark

Algoritma
Adım 1: Başla
Adım 2: Babanın yaşını gir.(b)
Adım 3: Oğlunun yaşını gir.(o)
Adım 4: fark=b-0 işlemini yap
Adım 5: fark değişkenini ekrana yaz.
Adım 6: Bitir

Akış Diyagramı
algo5


Evet bu  temel örnekler bize doğrusal akış diyagramını sanırım yeterince açıklamıştır. Doğrusal denmesinin sebebi programın sürekli olarak tek yönde işlemesinden dolayıdır. Programda mantıksal bir karşılaştırma veya karar verme veya döngüsel bir işlem yapılmadığı için sürekli olarak tepeden aşağıya doğru işlemektedir. Diğer makalemizde mantıksal akış şemalarından devam edicez.  Şimdilik herkese iyi çalışmalar…

Join the Forum discussion on this post

Yazar: kacarozgur

Özgür Kaçar sitemizde 38 yazı eklemiş...




Benzer Konularımıza da Göz Atın!

coded by nessus
Share
  • Hasan ŞAHİN

    Akış diyagramı tasarlayıp, tasarlanan akış diyagramını çalıştırmak için flowTurk Görsel Programlama Simülatörnü kullanabilirsiniz. bu programda flowChart’ın yapamadığı bir çok şeyde yapılabiliyor.

    programı aşağıdaki bağlantı adresinden indirebilirsiniz.

    http://www.mercanyazilim.com/sms/indir/flowturk/flowTurk.exe

    • http://dahiweb.com/ Mustafa ŞADOĞLU

      Hocam yazılım size ait galiba… teşekkür ederiz…

  • ali

    visua studio Öğrenci klavyeden 3 tane matematik dersi sınav notlarını girecek devamında da 2 tane performans notunu girecek.Program sınav notlarının ortalamasının %60 ile performans notlarnın ortalamasının %40 toplayacak eğer toplam 50 den küçük ise kaldı.50 den büyük ise geçti yazan c# console uygulamasını visual studio yardımı yazınız?

  • berkay

    hocam hoca sordu şu soruyu yapamadım cok merak ediyorum kılavyeden girilen 3 basamaklı birsayının basamaklarının küplerinin toplamının sayının kendisine eşit olup olmadıgını bulan programın akış diyagramı

  • http://www.dahiweb.com/algoritma-ve-akis-diyagrami-ornekleri-temeller kevser

    1′den n’e kadar sayılardan 7′e 5′e ve 3′e tam bölünebilen sayılan ekranda görüntüleyen proğramı yazınız

  • ebru

    klavyeden 5 adet yarıçapı verilen çemberlerin alanı ve çevresini hesaplayan program gerekli bilen varmı acaba ?

  • süle

    aciill hesap makinası algoritması

  • irem buse

    bu sorunun cevabı internette bir sürü örnekleriyle var canım :) @melike

  • irem buse

    merhabalar bi sorumuz olucaktı sizlere hocam;
    Visual studio içinde akış diyagramı çiziliyor mu ?
    çiziliyorsa bi cevap verirseniz bir sorumuz daha olucaktır

  • irem buse

    ÇOK TEŞEKKÜR EDERİZ ÇOK GÜZEL SORULAR HAZIRLAMIŞŞSINIZ ELLERİNE SAGLIK HOCAM :) SINAVIMIZ VARDI COK YARARINIZ OLDU BAŞARINIZIN DEVAMINI BEKLİYORUZ İYİ GÜNLER..

  • murat gökbudak
  • efe

    Merhaba Visiual Studio c# form uygulamasında yazdığım puzzle oyununun akış şemasını çıkarmak gerekti fakat hazırladığım akış şeması tatmin edici düzeyde olmadı. Acaba puzzle nin akış şemasını çıkartmaya yardımcı olabilirmiydiniz?
    Oluşturduğum akış şemasının linki : (word) http://dosya.co/download.php?id=51C709381

  • melis

    arkadaşlar çarkıfelek oyununun c++ kodlarına ve akış diyagramına çok acil ihtiyacım var yardımlarınızı bekliyorummmm

  • http://www.google.com WebbCry

    Nice One

  • http://pelin-_-63@hotmail.com ilkay

    her yerde hep aynı sorular daha farklı sorular ekler misiniz eklerseniz iyi olur sevinirim…

  • nüket

    Kullanıcı kaç lirası olduğunu ve dolar kur fiyatını yazdığında lirası ile kaç dolar alabileceğini ekrana “….TL=….$” şeklinde yazdıran progranımın akış şemasını yapabilirmisiniz ?

  • melike

    çember alanını bulan algoritma programı nasıl yapılıyor yardımcı olur musunuz?

  • şenol

    hocam benım sıze bır sorum olcaktı?

  • RIF@T

    çok güzel ellerinize sağlık…….

  • http://nermin.1485@hotmail.com nermin

    bi konu hakkında yardım alabilir miyim ?
    0 dan 100 e kadar olan tek sayıların karesini, çift sayıların küpünü alıp ekrana yazdıran programın program kodu lazım çok acil C# dili ile nasıl yazılacağını bilmiyorum

  • yusuf

    kalvyeden girilen 10 sayıyı tek ve çift olarak ayıran prodramın akış diyagramı veya algoritma yapabilen warsa yapsa iyi olur tşkürler

  • emrederecicek

    Merhaba Arkadaşlar Çok zorlandığım bir sorum olacak 2 gün sonra sınavım var kesin cevap gerek.Girilen sayının onlar basamağını bulan algoritmayı yazınız lütfen acil cevap gerek….

  • kml öğrencisi ceren

    çok zor soruları koymuşsunuzz biraz kolay koyun

  • http://algoritma ercan

    elinize sağlık ama çoğu hep aynı kapıya çıkıyor daha değişik örnekler varsa sizden ricam gösterir misiniz şimdiden teşekkürler

  • cansu

    klavyeden dk olan gırılen 5 çarkının toplam suresını saat olarak hesaplayan proramın akış dıyagramı lutfenn acil

  • Acil

    Eşkenar üçgenin alanı ve çevresini hesaplayan programı verebilirseniz sevinirim.

  • arzu

    kullanıcının gırdıgı sayıya kadar kac sayı vardır mod ıle ? yapamadım yardım edermısınız ??

  • serhat

    10 la 100 arasındaki asal sayıları bulan programı bulmam için yardımcı olurmusunuz?

  • http://eeeeee mehmeeett

    1 basla
    2 x sayısını gir
    3 c sayısını gir
    4 sonuç= x.c
    5 sonuc u yaz
    6 bıtiş

  • samet

    Merhabalar

    klavyeden girilen iki sayının faktöriyerlerinin toplamını bulan pascal programı ve algoritması

    yardımcı olursanız seviniirm

  • hasan

    selam.Bana turbo pascaldan klavyei org’a çevirme pogramını yazarmısın lütfenn dönem ödevi aldım bu dersimde zayıf lütfen bi yardım edermisin…

  • http://mai_siyah nisa

    klavyeden grilen sayı 10 defa ekrana yazdıran akış ve diyogramını Lütfen ya acil

  • aysun

    1995 yılında tasarruf mevduatının 2.000 tl olduğunu ve bankanın yıllık %6 faiz ödediğini varsayarak 2011 yılına kadar mevduatın kaç lira olacağını hesaplayan programın akış şemasını söyler misinizz lütfennn ??

  • mert

    %40 + %60 eğer sonuç 50> sonuç geçti ,kaldı yı gözteren akış diyagramını soylermısınız lütfenn

  • ebruu

    @yakup güler
    Adım 1. Başla
    Adım 2. Birinci sayıyı gir.(a)
    Adım 3.İkinci sayıyı gir.(b)
    Adım 4.Üçüncü sayıyı gir.(c)
    Adım 5.eğer a>b ise buyuk=a kucuk=b
    değilse buyuk=b kucuk=a
    Adım 6. eğer buyuk>c buyuk=buyuk ort=c
    değilse ort=buyuk buyuk=c
    Adım 7.eğer kucuk>ort kucuk=ort ort=kucuk
    değilse kucuk=kucuk ort=ort
    Adım 8. buyuk ort kucuk değerlerini yaz
    Adım 9..Bitir

  • yakup güler

    bana acil üç sayısnın buyukden küçüğe doru akış diyagramı lazım:9

  • angelheaven

    emeğinize tesekkur ederm.ben akıs dıagramı hazırlıorm proje on taslagı olarak.projemın bı asamasında tablo var o tabloyu akıs dıagramına nasıl aktarırım.içe içe for dongusuyle yapılmıs bır tablo

  • selen

    Merhaba harika bir şekilde anlatmışsınız emeğinize sağlık. Saygılar.