ALGORİTMA VE AKIŞ ŞEMASI

Bilgisayarların çok iyi çözdüğü problemler, algoritmik yapıda olanlardır yani adım adım işlemlerden oluşan yapılardır. Bu işlemler bilgisayarın anlayabileceği biçimde ifade edilir ve bilgisayar bu satırları sıra ile çalıştırır.
Evden okula gitmek, kütüphanede aradığın kitabı bulmak gibi günlük işlerimizde dahi algoritmaları kullanırız.


ALGORİTMA











SİSTEMATİK PROBLEM ÇÖZME YAKLAŞIMI
> Girdi
> Çıktı
> Matematik
> Koşullu yürütme
> Tekrarlama

     














AKIŞ ŞEMASI


Herhangi bir problemin çözümüne dair adımları göstermeye algoritma denir.
Bilgisayar biliminde algoritma, bir programın ilerleyiş adımlarını göstermek için kullanılır.
Algoritmaları iyi bilmek, doğru şekilde ve doğru zamanda uygulamak ilginç ve önemli programlar yapmanızı sağlar.













Basit bir örnek (Girilen iki sayıyı toplayan algoritma)
1.Başla
2.Değişkenler (toplam,s1,s2)
3.Birinci sayıyı gir
4.Birinci sayı = s1
5.İkinci sayıyı gir
6.İkinci sayı = s2
7.toplam=s1+s2
8.Sonucu (toplam) ekranda göster.
9.Bitir



Algoritmaların daha anlaşılır olabilmesi için akış şemaları kullanılır.

Akış şemasına bakan insanlar, hangi kodları yazması gerektiğini ve algoritmanın nasıl bir şekilde işlediğini anlamaktadırlar. 




Akış Şeması Şekilleri

1. Elips

Algoritma her zaman "Başla" komutu ile başlar, "Bitir" komutu ile biter.

"Başla" ve "Bitir"i belirtmek için "elips"i kullanırız.






2. Paralelkenar

Programımıza klavye ile veri girişi yapılacağı ya da veri işlendikten sonra ekranda veri çıkışı bilgisini veren semboldür.




3. Dikdörtgen
Hesaplama veya değişken ataması yapılacağını bildirir.


4. Eşkenar Dörtgen
Programda bir karşılaştırma durumunun olduğunu, yani programın "Evet" veya "Hayır" cevaplarına göre bir yol izleyeceğini bizlere aktarır.





5. Yön Okları
   Akış şemasının ilerlediği yönü gösterir.





6. Altıgen
Tekrarlanacak işlemler (döngü) için kullanılır.




7. Yamuk Dörtgen
Ekrana yazdırmak için kullanılır.





8. Daire
Akış şemaları arasında bağlantı kurmak için kullanılır.



ÖRNEK 1

- Girilen iki sayıyı toplayan algoritmanın akış şeması
1.Başla
2.Değişkenler (toplam,s1,s2)
3.Birinci sayıyı gir
4.Birinci sayı = s1
5.İkinci sayıyı gir
6.İkinci sayı = s2
7.toplam=s1+s2
8.Sonucu (toplam) ekranda göster.

9.Bitir












ÖRNEK 2
-Doğum yılına göre yaşını bulup hesaplayan ve 18 yaşından küçükse kayıt olmasına izin vermeyen akış şemasını çiziniz.
          1.Başla
          2.Değişkenler (yas, dogumYili)
          3.Doğum Yılını gir
          4.dogumYili = Doğum Yılı
          5.yas = 2019 - dogumYili 
          6.Yaşı (yas) 18 veya 18’den büyükse Adım 8'e git
          7.Yaşı (yas) 18'den küçük ise Adım 9'a git
          8.Yaşınız 18 veya 18'den büyük kayıt olabilirsiniz.
          9.Yaşınız 18'den küçük kayıt olamazsınız.
         10.Bitir



ÖDEV

Bir üniversite öğrencisinin dönem geçme notunu
hesaplayıp, bu nota göre geçme kalma durumunu
ekranda gösteren akış şemasını aşağıdaki şartlara göre
yapınız.

İki vize ve bir final sınav notu vardır.

Dönem geçme notu, vize notlarının %40'ı, final notunun
%60'ı alınıp toplanarak elde edilir.

Dönem geçme notu 50’dir.


Döngü Mantık Yapısı
Döngüler tekrarlayan bir yapıdır. Çoğu problem, aynı işlemi farklı verileri kullanarak tekrar etmeyi gerektirir. Bu yüzden bu yapı son derece önemlidir. 3 farklı döngü yapısı vardır.

1) While/While End Döngüsü:
Bu döngü yapısı bilgisayara koşul doğru olduğu sürece işlemleri tekrarlanmasını belirtir. 

While <koşullar>

{

    Yönerge

    Yönerge
     ..........
                    }
While End

Döngünün başlangıcında, döngü içerisinde yer alan yönergelerin işlenip işlenemeyeceğine ilişkin karar vermek için koşul kontrol edilir. Eğer koşul yanlış olursa döngü içerisindeki hiçbir yönerge işleme alınmaz. Eğer koşul doğru ise döngü içerisindeki tüm yönergeler çalıştırılır ve tekrar döngünün başına dönülür. döngü koşul durumu yanlış olana kadar devam eder.


2) Repeat / Until Döngüsü:
Bu döngü bilgisayara, yönergeleri Repeat ve Until komutları arasında bir koşul doğru olana kadar yapmasını iletir. Bu yapı ile While yapısı arasında iki temek fark vardır.
1- While döngü yapısında döngü koşul doğru olduğu sürece çalışır, oysa Repeat yapısında koşul doğru olduğunda durur.
2- While döngüsünde koşul sürecin başında; Repeat yapısında ise döngünün sonunda kontrol edilir.

Repeat

{

     Yönerge

     Yönerge

     .............

                   }

Until <koşullar>

3) Otomatik Sayaç Döngüsü:

Bu yapıda döngünün her tekrarında bir değişkenin değeri ya arttırılır ya da azaltılır. arttırma değeri yönerge tarafından belirlenir. Bu döngüyü tasarlayan programcı, döngü tekrar sayısını kontrol etmek için bir sayaç tutar. Döngü bu sayaç bitirme sayısından büyük olana kadar tekrar eder. Başlama ve bitirme değeri ile arttırma değeri sabittir.

Loop: sayac= başlangıcından bitişine kadar artacak değer

{

     Yönerge

     Yönerge

     .............

                    }

Loop-End: sayac

ÖDEV
Bir sınıfta 20 öğrenci vardır. Bu öğrencilerin 1
sınavdan aldıkları notları tutup sınıf ortalamasını
hesaplayan programın algoritmasını ve akış şemasını
yazınız.



1 yorum: