20 Şub 2010 Saat 12:43 
 

C – Akış diyagramları

 

C programlama da Algoritma Hazırlama‘dan sonra değinilmesi gereken bir diğer önemli konu Akış diyagramlarıdır. Akış diyagramları problemin şekiller ile ifade edilmesidir, çözülmesi gereken problem için izlenen her bir adımı belirli şekiller ile ifade ederek daha okunaklı hale getirmek için uygulanır. Standart akış diyagramı şekilleri olsa da, akış diyagramı hazırlayan kişi kendi isteği üzerine aynı işi yapan şekiller de kullanabilir. Önemli olan programcılık mantığını anlayabilmek olduğu için kullanılan şekillerin amacına yönelik olması yeterlidir.

Akış diyagramı çizerken sık sık kullanılan şekiller şunlardır.

Akış diyagramında kullanılan şekiller

Şekiller ve kullanım amaçları yukarı gördüğünüz gibi şekillerin içerisinde yazmaktadır. Şimdi bunları birkaç örnek içerisinde, birlikte kullanarak etkileşimlerini görelim…
Girilen iki sayının toplamını hesaplayan akış diyagramı
Şekilde de gördüğünüz gibi iki sayı girilmekte, S1 ve S2 değişkenlerine atanmakta bir diğer ifade ile aktarılmaktadır. Bu sayıların toplamı da T isimli değişkene aktarılmaktadır. Burada bir ipucu vermek gerekirse S1 ve S2 değişkenlerine sayılar şekillerdeki gibi  aktarılabilirken bu işlemin daha kolay bir yöntemi bulunmaktadır. Aşağıdaki şekilde bunun bir örneğini görebilirsiniz…
Şimdi örneklerimizi biraz zorlaştırarak matematiksel işlemler üzerinden devam edelim, sıradaki örneğimizde kullanıcıdan alınan üç adet sayının ortalamasını hesaplayıp bilgi çıkışı ile ekranda görüntüleyen akış diyagramını hazırlayalım.
Girilen üç sayının ortalamasını hesaplayan akış diyagramı
İlk olarak kullanıcıdan üç adet sayı alınıyor ve bu sayılar direkt olarak ortalama değişkenine aktarılırken aynı zamanda aritmetik işlemler yapılıyor, burada dikkatinizi çekmesi gereken husus, matematiksel işlemlerdeki öncelik sırasının C dilinde de aynı şekilde kullanıldığıdır. Üçüncü aşama da görülen ORT=(A+B+C)/3 işleminde öncelikle parantez içindeki işlem daha sonra parantez dışındaki işlem yapılıyor, dolayısıyla alınan üç sayı toplandıktan sonra sayıların adedi olan 3‘e bölünüyor…
Girilen sayının Pozitif, Negatif ve ya Sıfır olduğunu bulan akış diyagramı

Yukarıdaki akış diyagramında, önce kullanıcıdan bir sayı alınıyor ve bu sayı ile ilgili karşılaştırmalar yapılarak doğru karşılaştırılmaya ulaşıldığı takdirde bilgi çıkışı kullanılarak sayının durumu yazdırılıyor, bu akış diyagramını aklınızdan herhangi bir sayı vererek deneyebilirsiniz, anlaşılması daha kolay olacaktır.

Not: Yukarıdaki akış diyagramının bir adım daha kolay şekilde hazırlanması mümkündür, bu yolu araştırıp bulmanız sizin açınızdan daha faydalı olacaktır. Bulamadığınız takdirde bana ulaşabilirsiniz…

Girilen on sayının en büyünü bulan akış diyagramı
Girilen on sayının en büyüğünü bulan algoritma da bir döngü kullanılmış ve bu döngünün dönüş sayısı S isimli değişkende tutulmuş, S<10 karşılaştırması ile de kontrol edilmiş. İlk girilen sayı EB değişkeni ile en büyük sayı olarak kabul edilmiş ve ardından gelen sayılar bu sayı ile karşılaştırılarak doğru sonuç elde edilmeye çalışılmış. Değişik bir yöntemin kullanıldığı bu akış diyagramının da daha kompleks olmayan bir yapısı bulunmaktadır, kendinizin öğrenmesi açısından bu yöntemi de araştırarak bulmanız sizin açınızdan faydalı olacağı kanısındayım…
Bölme operatörü kullanmadan sayıyı bölen akış diyagramı
Akış diyagramları ve C programlamayı öğrenebilmeniz için belkide en iyi örnek “Bölme operatörü kullanmadan sayıyı bölen akış diyagramı“dır. Zira bölme operatörünün nasıl çalıştığını anlamanız için birebir ve bunun gibi daha birçok algoritma hakkında karar verebilmenize olanak sağlayabilecek bir algoritma olduğunu düşünüyorum. Algoritmamıza bakacak olursak;
» X ve Y isimli iki değişkene dışarıdan aktarılan sayılar sırası ile bölme işlemlerinde kullanılan Bölünen ve Bölen sayıları olarak kabul ediliyor.
» İlk olarak Bölünen‘in Bölen‘den büyük olup olmadığı kontrol ediliyor.
» Eğer büyük ise, bölünen sayıdan bölen sayı çıkartılıyor ve sayaç bir arttırılıyor, bu işlem bölünen sayı bölen sayıdan küçük olana kadar devam ediyor.
» Sonuç olarak, X yani Bölünen sayı her defasında eksildiği için Bölen sayıdan küçük olduğu durumda Kalan oluyor, S değişkeni ise her seferinde arttığı için Bölüm oluyor…

If you enjoyed this post, make sure you subscribe to my RSS feed!
Tags Etiketler: , , ,
Kategoriler: Enginar işi, Yazılım
Yazar:: Hakan AKSÜZEK
Son Düzenleme: 20 Şub 2010 Saat 12:43

Birisine gönderKalıcı bağlantı
» Yazı hakkında yorumunu bildirirsen, başkaları da faydalanabilir. Teşekkürler...
 

Bu yazıya yapılan yorumlar » (Yok)

 

Yorum yazacaksan önce haketmelisin :)

Dikkat!: Yorumlariniz onaylandiktan sonra gosterilecektir, tekrar tekrar yazmaniza gerek yoktur...

 Yorum için kullanabilecekleriniz:
RSS Yorumlara abone olma
TrackBack URI

İstatistikler



    No Child Pages.

Abone Ol



    No Child Pages.

İletişim



    No Child Pages.

Indirilebilir!



    No Child Pages.

Hakkımda !



    No Child Pages.
欢迎光临~
初音