24.09.2013
4.56 / 25 oy

Akış Şeması Örnekleri

Çay Demleme Algoritması

Problem: Çay demleme işleminin akış şemasını çizin.

Nasıl Çözeriz? Hepimiz mutlaka çay demlemişizdir. Nasıl yapağımızı şöyle bir düşünelim: Çaydanlığa su koyarız ve kaynatırız. Su kaynayınca çayı demleriz. Bu arada çaydanlığa tekrar su koyarız ve suyun kaynamasını bekleriz. Su kaynayıp çay da demini aldıktan sonra artık çayımız servise hazır hale gelir. Bizden istenen bu işlemleri adım adım düşünmek ve algoritma haline getirmektir.

Karşıdan Karşıya Geçme Algoritması

Problem: Yaya olarak yolun karşısına geçeceksiniz. Yaya geçidi yoktur, yol iki şeritli ve refüjlüdür. Yapılacak işlemin akış şemasını çizin.

Nasıl Çözeriz? Karşıdan karşıya geçerken dikkat edeceğimiz en önemli nokta yaya geçidi olmayan yerdeki davranış biçimimiz olmalıdır. Yaya geçidi ve trafik ışıkları olmadığı için yolu kendimiz kontrol etmeliyiz. Yolun karşısına baktığımızda trafiğin normal akışında araçlar bize göre sol taraftan gelir. Yolun ortasına geldiğimizde ise durum değişir. Diğer şeritte araçlar bize göre yolun sağından gelmektedir.

Çorap Giyme Algoritması

Problem: Dört çekmeceli bir dolapta, çekmecelerin birinde çoraplarınız bulunuyor. Sabah kalktınız ve çoraplannızı giyeceksiniz. Çoraplarınızı bulmak için yapılacak işlemin akış şemasını çizin.

Nasıl Çözeriz? Yapılacak şey çok basittir: Çekmecelerin hepsine sırayla bakmak. Bu işlemi adımlamamız gerektiğinde sırayı yukarıdan aşağı ya da aşağıdan yukan yapmamız sonucu değiştirmez. İnsanlann genel alışkanlığı, çekmecelere bakmaya çoğunlukla üst sıradan başlamaktır. Çözümü de bu şekilde kuralım.

Çözümde bir ayrıntıya dikkati çekelim: Çoraplarımızın kesinlikle çekmecelerden birinde olduğunu biliyoruz. O halde, ilk üç çekmecede çoraplarımız yoksa dördüncü çekmece için sorgulama yapmamız gerekmez. Çorapların orada bulunması gerekir.

Radyo istasyonu Bulma Algoritması

Problem: Bir arkadaşınız telefon etti ve en sevdiğiniz şarkıcının bir radyo programında konuk olduğunu söyledi. Radyosunun ibresi bozuk olduğu için hangi istasyon olduğunu anlayamadığını da ekledi. Siz de hemen radyonuzu açtınız ve bu istasyonu aramaya başladınız. Bu istasyonu bulmak için yapmanız gereken işlemin akış şemasını çizin.

Nasıl Çözeriz? Radyoyu açtığımızda ibre herhangi bir yerde olabilir. İbrenin bulunduğu yerden aramaya başlarsak ve aradığımız kısımda istasyonu bulamazsak kalan kısım için aynı işlemi baştan sona yapmamız gerekir. İşi uzatmış oluruz. İlk başta ibreyi sol ya da sağ herhangi bir başa alırsak arama işini bir seferde tamamlarız. Hangi taraftan başladığımız işlemin sonucunu değiştirmez. Okuma ve yazma yönümüz soldan sağa doğru olduğu için bir çoğumuz düşünmeden ibreyi sol başa getirecek ve soldan sağa arama yapacaktır. Biz de çözümü buna göre kuralım.

Otobüs Bekleme Algoritması

Problem: Bir otobüs durağındasınız ve otobüs bekliyorsunuz. Evinize gideceksiniz. Otobüse binene kadar yaşadığınız deneyimlerin akış şemasını çizin.

Nasıl Çözeriz? Otobüs beklerken doğal olarak yönümüz otobüsün geleceği taraftadır. Durakta bekleyenlerin çoğu hep sol tarafa dönük durmaktadır. Gelen otobüslerin numarasına ya da tabelasına bakanz. Gelen otobüs beklediğimiz otobüs değilse diğer otobüslere bakanz. Beklediğimiz otobüs geliyorsa bilet ya da paramızı hazırlanz.

Trafik Algoritması

Problem: Araba ile yolculuk yapıyorsunuz ve ışıklı bir kavşağa yaklaşıyorsunuz. Işığın durumuna göre nasıl davranmalısınız? (Gece saaderinde sürekli yanan san ya da kırmızı ışıklan dikkate almayın)

Nasıl Çözeriz? İki noktayı dikkade düşünelim: Birincisi, ışığın rengi ne olursa olsun sonunda yapacağımız işlem kavşaktan geçmektir. İkincisi ise ışıklann yanma sırasıdır. Yeşil ışıktan sonra san, san ışıktan sonra kırmızı, kırmızı ışıktan sonra san ve daha sonra yeşil ışık yanacaktır. Amacımız kavşaktan geçmek olduğu için ilk koşul sorumuzu, ışığın yeşil olup olmadığını öğrenmek için sorabiliriz. Sorulan renk sırasını bozmadan sorarsak çözümümüz de kanşık olmaz. İki çözüm varsa her zaman daha az karmaşık olan tercih edilir.

Çözümü inceleyecek olursak soruları arka arkaya soruyoruz. Işık yeşil değilse, ışık san da değilse tek seçeneğimiz kalıyor: ışık kırmızıdır; duruyoruz. Ay-nca san ışıkta, biraz sonra zaten kırmızı yanacağını bildiğimiz ve hemen geçemeyeceğimiz için yavaşlayıp duruyoruz. Işığı sürekli kontrol ederek yeşilin yanmasını bekliyoruz.

Sınav Algoritması

Problem: Bir sınavdasınız. Arkadaşınızın saati yok ve fısıldayarak size sınavın bitmesine kaç dakika kaldığını sordu. Siz de söylediniz. Bu işlemin akış şemasını çizin.

Nasıl Çözeriz? Arkadaşımıza cevap verebilmemiz için öncelikle sınavın bitiş saatini bilmemiz gerekiyor. Merkezi sınavlarda gözetmenler tahtaya sınavın başlama ve bitiş saatlerini yazmak zorundadırlar. Bir okul sınavında ise öğretmen sınavın kaç dakika süreceğini sınav kağıdına yazmış olmalıdır. Tahtaya (ya da sınav kağıdına) bakarak sınavın bitiş saatini öğreniriz. Saatimize bakarak saatin kaç olduğunu öğreniriz. Akıldan küçük bir hesap yaparak sınavın bitmesine kaç dakika kaldığını bulur ve sonucu arkadaşımıza söyleriz.

Telefon Algoritması

Problem: Bir telefon görüşmesi yapacaksınız. Yapmanız gereken işlemleri gösteren akış şemasını çizin.

Nasıl Çözeriz? Bu soruyu doğru çözebilmek için bir telefon görüşme-f Bajla sinde karşılaşabileceğimiz tüm durumlan tek tek düşünmemiz gerekiyor. Algoritmayı kurallan-na uygun oluşturabilmek için bazı durumlan açıklığa kavuşturmak gerekir: örneğin numaranın meşgul olması ile numaranın düşmemesi farklı durumlardır. Numaranın meşgul olması, numaranın düştüğü ve karşıdaki kişinin başka biriyle görüştüğü anlamına gelir. Her ikisinin de sinyal tonlan farklıdır. Çevir sesi alınmaması, numaranın düşmemesi ya da numaranın meşgul olması gibi durumlarda ise kullanıcılar farklı davranabilirler. Kimi bir süre sonra tekrar aramayı denerken kimi tamamen işlemi bitirebilir. Tabi her zaman görüşme gerçekleşmeyebilir. Telefon çalabilir ancak evde kimse olmayabilir. Bu durumda arama işlemi iptal edilebilir veya bir süre sonra yeniden denenebilir (örneğin, yandaki çözümde eğer telefon çaldığı halde açılmıyorsa işlemi bitirmeyi tercih ettik). Bazı çağrılarımıza telesekreterler cevap verebilir (arak telesekreterler -cep telefonları dahil- tüm telefon sistemlerinde yaygın olarak kullanılıyor). İşte tüm bu durumları çözümümüzde gösterebilmeliyiz.

Tüm bu durumlan ve ihtimalleri tartıştıktan sonra karmaşık görünen telefon görüşmesinin açık ve anlaşılır bir algoritmasını yapabiliriz.

Asansör Algoritması

Problem: Bir asansörün nasıl çalıştığını gösteren akış şemasını çizin.

Nasıl Çözeriz? Asansör, çağn geldiği zaman hareket eder. Çağrı da iki durumda gelir: ya kabin içinden gidilecek katın düğmesine basılır ya da herhangi bir kattan asansör kapısının yanındaki çağrı düğmesine basılır. Aslında asansör için iki durum da teknik olarak aynıdır ve yapacağı tek bir iş vardır: istenilen kata gitmek. Sonuçta, herhangi bir şekilde çağrıyı alan asansör -aşağı ya da yukarı- istenilen kata gider.

Asansör Gezinimi Algoritması

Problem: Bir asansörün çağn gelen bir kata nasıl gittiğini gösteren algoritmayı tasarlayın.

Nasıl Çözeriz? Bir önceki sorunun daha aynntılı bir çözümünü gerçekleştireceğiz ve asansörün herhangi bir kata nasıl hareket ettiğini anlamaya çalışacağız. İçerden ya da dışarıdan -bu önemli değil- bir çağrı geldiği zaman asansör iki hareket durumundan birini gerçekleştirir: yukan çıkar ya da aşağı iner eder. Bu iki işlemden birini seçebilmesi için önce kendi bulunduğu katı bilmesi gerekir. Asansör çağrıyı aldığı zaman, çağrı gelen katın numarasıyla kendi bulunduğu katın numarasını karşılaştırır. Bulunduğu kat, gideceği kattan büyükse sayılar eşitlenene kadar aşağı iner ve inerken her katta sayar. Bulunduğu kat gideceği kattan küçükse sayılar eşitlenene kadar yukarı çıkar ve çıkarken her katta sayar. Sayılar eşitlenince durur çünkü istenen kata gelmiştir. Hareket bidnce asansör yeni çağrıyı beklemeye başlar.

Bu algoritmanın "Dur" bölümü asansörün iniş ya da çıkış harekednin sona erdiği bölümdür. Hareket sona erince asansör yeni çağrıyı beklemeye başlar.

 

Akış Şeması Örnekleri
Bu makalenin telif hakkı ve tüm sorumlulukları yazara ait olup, şikayetler için lütfen bizimle iletişime geçiniz.
URL:
Etiketler:

Bu makale 40790 kez okundu

24.09.2013 tarihinde yazıldı
Reitix

Yorumlar

  • halukgta
    15.07.2019

    akış diyagramı olarak adlandırılması bana daha doğru geliyor, şema çok genel bir ifade sonuçta. içerik olarak ise bir ihtiyacın giderilmesi amacıyla hazırlanacak bir program algoritmasının grafiksel şekiller kullanılarak çizilmesi yapılır ve olası mantık hataları daha kodlama başlamadan giderilmeye çalışılır

  • volkanoxfb
    18.04.2019

    draw.io gibi online tarayıcı bazlı servisler ile göze hitap eden güzel akış şemaları çizebilirsiniz ama bir akış şemasının doğru ya da hatalı olduğunu söyleyebilecek bir sistem maalesef halen mümkün değil çünkü akış şeması sadece işleyişin tasarımı anlamına gelir ve bir şey programlanmadan hatasız olarak çalışıp çalışamayacağını ancak başka bir insan ve deneyimli gözler tespit edebilir

  • cenko
    18.04.2019

    akış şemasının çizimi bir programın çalışma prensiplerinin düzenlenmesi ve tasarlanması anlamına gelmektedir. ilk başta olası tüm senaryolar dikkate alınarak hazırlanmış bir akış şeması eğer doğru ve performanslı bir şekilde programlanmayı da başarırsa netice olarak ortaya kaliteli bir yazılım çıkar, kaliteli yazılımı yaygın kitlelerce kullanılabilir kulan şeyler ise arayüzü ve çözüm önerisi sunduğu problemdir

  • statik
    23.03.2019

    fibınacci sayıları gibi farklı matematiksel diziler de var akış şeması konusunda çalışması yapılabilecek, mesela fibonacci sayılarına çok benzer bir algoritma ile çalışam lucas numbers (lucas sayıları) da güzel bir çalışma egzersizi olur

  • mustafaozen
    23.03.2019

    altın orana örneğin %1 hata sapması ile yakınlaşıncaya kadar fibonacci sayıları ile iterasyon yapmak da güzel bir akış şeması hazırlama çalışması olabilir, biteceği noktada da bir eğer ifadesi olmuş olur ve sonucu yazdırır

  • celebicem
    10.03.2019

    çok katlı binalarda en az 3-4 asansör konuyor amabütün asansörler işleri bittiğinde zemin kata döndükleri için üst katlardakinin bir asansörü çağırıp binmesi demek hem zaman hem de enerji kaybı anlamına geliyor. bu yüzden örneğin 2 asansörlü binalarda bir asansörün en üstte diğerinin ise zeminde beklemesi, 3 asansör durumunda 3. asansörün de orta katta beklemesi her kata en yakın durumda asansörün çağırıldığında gelebilmesi anlamına gelir, asansör yazılımı nasıl yazılır bilmiyorum ama eğer bir gün böyle bir apartmanın yöneticisi falan olursam talep edeceğim yazılım tam olarak bu olacak

  • Mukaddes61
    19.10.2018

    gezinmesi bittiğinde tekrar zemin kata dönmesi bence yapabileceği en iyi şey, yoksa uzun apartmanlarda en üstte bekleyen asansörleri iş çıkış saatinde sıralanarak bekleyen insanlar görüyorsunuz

  • malabacak
    19.10.2018

    asansör bence çok karmaşık bir konu, örneğin en üstteki kişi çağırınca ara katlarda durmadan direk yukarı çıkan, ama geri aşağı inerken yoldan geçenleri toplamak için her katta duran bir sistem, bence çok akıllıca

  • fatih arslan
    06.05.2015

    akış şeması aslında tam olarak flow chart ya da process chart olarak düşünülebilir, ve tam olarak algoritma ile aynı şey olduğunu düşünmüyorum

  • melihcan
    13.12.2014

    aslında akış şeması=algoritma da denebilir, sadece akış şemaları daha görsel, algoritmalar ise daha teorik-adımsal açıklamalar olarak düşünülebilir

  • ilhan_34
    25.10.2014

    akış şeması ile algoritma aynı anlama mı geliyor?

  • sevecen
    25.10.2014

    algoritma seçimleri mükemmel olmuş :)

  • sacit
    17.10.2014

    hayatta başarı algoritması da yazın da arkada program bizi otomatik olarak başarılı yapsın bari :)

  • guldane
    17.10.2014

    çocuk yapma algoritması yazacaktım, millet yanlış anlar diye koymadım vallahi, ama çok yaratıcı örnekler olmuş teşekkürler :)

  • ardahan
    24.09.2013

    çay demleme algoritmasına bayıldım, harika bir yazı olmuş

Bu yazıya siz de yorum yapabilirsiniz

İnternet sitemizdeki deneyiminizi iyileştirmek için çerezler kullanıyoruz. Bu siteye giriş yaparak çerez kullanımını kabul etmiş sayılıyorsunuz. Daha fazla bilgi.