ALGORİTMA NEDİR? AKIŞ ŞEMASI NASIL KULLANILIR?

3003

Size şunu desem, aslında yaptığınız her şey bir algoritmaya dayanıyor. Mesela okulda/işte bir gününüz. Nasıl mı?

Standart bir okul/iş günü neler yaptığınızı düşünün. Sabah yataktan kalkarsınız. El-yüz yıkayıp diş fırçalarsınız. Kıyafetlerinizi değiştirirsiniz. Kahvaltı yaparsınız. Sonra arabanızla veya yürüyerek gideceğiniz yere doğru yola koyulursunuz. Öğlene kadar ders/mesai devam eder. Öğlen yemek yersiniz. Yemekten sonra belli bir saate kadar ders/mesai devam eder. Size bugün ne yaptın sorusu yöneltildiğinde bu şekilde anlatmaz mısınız bir gününüzü? Peki bunu algoritmaya dökelim.

1 adım: BAŞLA

2.adım: Sabah kalk.

3.adım: Elini yüzünü yıka.

4.adım: Dişini fırçala.

5.adım: Kıyafetlerini değiştir.

6.adım: Kahvaltı yap.

.

.

.

…(son)adım: BİTİR

Tam olarak algoritma dediğimiz yukarıdaki örnek gibidir. Yapmayı düşündüğümüz her şeyi adım adım yazarız. Temel mantığını ben şöyle tanımlıyorum: Yapmayı planladığımız işi, eksik veya yanlış yapmamak için açık açık yazarken adımlarını belirtip tekrar baktığımızda anlayabileceğimiz şekilde hazırlamaktır. Birde herkes tarafından kabul edilen bir tanımlama yaparsak; algoritma, bir sorunu çözmek veya belirlenmiş bir amaca ulaşmak için tasarlanan yola, takip edilen işlem basamaklarına denir. Şimdi ilk söylediğimi tekrar düşünün, yaptığınız her şey isteyerek veya istemeyerek bir düzen içerisinde ilerliyor yani algoritmik bir düzeni var.

Ancak algoritmanın bazı kuralları var. Yaptığımız her şeyi adım adım bilgisayara anlatıyormuş gibi düşünün. Bir şeyi yapabilmek için başlaması gerekir ve işi bitince bitirmesi gerekir. Başla ve Bitir demek zorundayız. Yaptığı işin düzgün olması için adım adım her şeyi söylemeliyiz. Yemek yapmayı bilmeyen birine yemeğe domates koyması gerektiğinde ne deriz? Misal, domatesi soyup küp küp doğra, soğanlar pembeleşince koy. Yani ona önce kabuklu mu kabuksuz mu koyacağının cevabını verdik. Daha sonra ne şekilde doğrayacağını söyledik. En son yemeğe ekleneceği vakti belirttik. Böylece yemeğin içinde domates konusunda sıkıntı yaşamayacağız. Algoritmayı da aynı mantıkla düşünürseniz yazmakta hiçbir zorluk yaşamazsınız.

Elips: Algoritmanın başladığı yada sona erdiğini belirtmek için kullanılır.

Dikdörtgen: Hesaplama yada değişken ataması yapmak için kullanılır.

Paralelkenar: Herhangi bir birimden veri girişi yapılacağını gösterir.

Eşkenar Dörtgen: Aritmetiksel ve mantıksal ifadeler için karar verme ve karşılaştırma işlemleri yapar.

Dalgalı Dikdörtgen: Monitör çıktısı oluşturmak için kullanılır.

Oklar: Diyagramın akış yönünü gösterir.

Akış şemasını ve algoritmayı temel olarak açıkladığıma göre nasıl kullanıyoruz ona geçelim. Bize bir problem veriliyor. Verilen problemi çözebilecek bir mantık geliştirip bunu algoritmaya döküyoruz. Daha sonra kolay anlaşılması için akış şemasına geçiriyoruz. Derste anlattığım basit problem durumlardan birisi ile göstermek istiyorum.

Problem Durumu: Birbirinden farklı olarak verilen iki adet sayıdan, büyük olanı bulup gösteren programın algoritmasını yazınız, akış şemasında gösteriniz.

Problem durumumuzu okuyoruz. Diyor ki dışarıdaki kullanıcıdan iki sayı iste. Birinci girilen sayı ikinci girilen sayıdan büyükse ekrana birinci girilen sayıyı, değilse ikinci girilen sayıyı ekranda göster. O zaman ne yapacağız? İki sayıyı kıyaslayacağız.

ALGORİTMA

1: Başla

2: sayi1 i gir.

3: sayi2 yi gir.

4: Eğer sayi1 > sayi2 ise ekrana “Sayi1 büyüktür.” yaz.

5: Değilse (sayi2 > sayi1) ekrana “Sayi2 büyüktür.” yaz.

6: Bitir.

Bu algoritmada dışarıdan girilen iki sayıyı, birinci girilen sayı ve ikinci girilen sayı diye uzun uzun yazmak yerine adını kısaltıp kullanmaya karar verdik. Yani değişken tanımlamış olduk. Değişken verilerimizi daha basit şekilde tanımlamamızdır. Burada biz değişkenlerimizi sayi1 ve sayi2 olarak tanımladık. Daha sonra koşulumuzu belirttik. Problemde dediği gibi büyük olanı seçmemiz gerekiyordu. Seçtikten sonra da büyük olanı ekranda gösteriyoruz. Bilgisayarımızın ne zaman başlayıp ne zaman bitireceğini bilmesi için de başla-bitir dedik.

AKIŞ ŞEMASI

Şemayı çizerken şekilleri açıklamada belirttiğim gibi kullandık. Programın başlayıp bittiğini elipsle belirttik. Girdilerimizi paralelkenar ile gösterdik. Koşulumuzu eşkenar dörtgenin içine yazdık. Koşulumuzun sonucuna göre ekranda ne yazacağını gösterdik. Oklarda bize ilerleyeceğimiz yönü gösterdi. Burada bahsetmediğim sadece E ve H harfleri var. Koşula baktıktan sonra “Evet, sağlıyor.” diyorsak E harfinden ilerlememiz gerektiğini, “Hayır, sağlamıyor tam tersi.” diyorsak H harfinden ilerlememiz gerektiğini gösteriyorlar. Yani doğru sonuç girilen sayıya göre değiştiği için 2 ihtimalimiz var. Bir noktaya daha dikkat etmenizi rica ediyorum. İki sonuçta Bitir’e gitmiş. Çünkü sonuç ne olursa olsun program bitmeli. Bunlara dikkat etmemiz yeterli.

Sıkça duyduğunuz algoritma ve akış şeması kısaca böyle. Mantığını daha kolay anlamanıza yardımcı olması için ben kolay bir örnek kullandım. Daha fazla algoritma-akış şeması örneklerini internette bulabilirsiniz. Öğrendiğimden beri yaptığım her şeyi içimden algoritmaya dökmeye başladım ve hala yapıyorum. Aklımda daha kolay kalıyor. Ayrıca bir iş yaparken sıkıntı yaşadığımda kolayca sorunlu olan kısmı bulmamı sağlıyor. Bu yüzden sizlere de hayatınızda kullanmanızı tavsiye ederim.

Önceki İçerikLİP BALM(DUDAK NEMLENDİRİCİSİ) YAPALIM
Sonraki İçerikSADAKAT
Adım İrem Gül. Bilgisayar öğretmeniyim. Tam bir başak kızıyım. Hayatı benim açımdan görün istedim ve bu bloğu açtım. Dünya’ya İrem’in penceresinden bakmaya hazır mısın?