Algoritma ve Veri Yapıları : Algoritmada olması gerekenler ve Algoritma ifade şekilleri
İlki bu yazı olan, “Algoritma ve Veri Yapıları” konularını öğrenirken aldığım notları derleyip böyle paylaşacağım.
Algoritma :
Bir problemi çözmek için gerekli olan sıralı ve mantıksal adımların tümü Algoritma olarak adlandırılır.
Algoritmada Olması Gerekenler:
- Etkin
- Sonlu
- Kesin
- Giriş ve Çıkış
- Başarım ve Performans
Etkin :
Bilgisayar düşünemez. Bu yüzden Algoritmanın her adımı anlaşılır, basit ve kesin bir biçimde ifade edilmiş olmalıdır. Yorum gerektirmemelidir, belirsiz ifadelere sahip olmamalıdır. Gereksiz tekrarlarda bulunmayan diğer algoritmalar içerisinde de kullanabilir olmalıdır.
Sonlu :
Her Algoritmanın bir başlangıç noktası, belirli işlem adımı ve bitiş noktası içermelidir. Sonsuz döngüye girmemelidir.
Kesinlik :
İşlem sonucu kesin olmalı, aynı veri için her yeni çalıştırılmasında aynı sonucu üretmelidir.
Giriş ve Çıkış :
Algoritma giriş (üzerinde işlem yapılacak değerler) ve çıkış (yapılan işlemler neticesinde üretilen sonuç değerler) değerlerine sahip olmalıdır.
Başarım ve Performans:
Amaç donanım gereksinimi (bellek kullanımı gibi), çalışma süresi gibi performans kriterlerimi dikkate alarak yüksek başarımlı programlar yazmak olmalıdır.
Bunlar bir Algoritmada olması gerekenlerdir. Şimdi ise çok çok çok basit bir Algoritma örneğine bakalım.
Rutin Olarak Okula Gitme Algoritması:
- Başla
- Uyan
- Duş al
- Hazırlan
- Kahvaltı yap
- Dışarı çık
- Otobüs bekle
- Otobüse bin
- Okulun önünde in
- Okula giriş yap
- Son
Algoritma İfade Şekilleri :
1. Algoritmanın metin olarak yazılması
2. Pseudo Code
3. Algoritma Akış Şemaları
Algoritmanın Metin Olarak Yazılması:
Çözülecek provlem,adım adım metin olarak yazılı ve her satıra numara verilir. “Başla” ile başlayıp “Son” ile biter.
1- Başla
2- Sayıyı (A) gir
3- Sayının karesini hesapla (Kare = A*A)
4- Sonucu (kare) yaz
5- Son
Pseudo Code:
Günlük konuşma diline benzeyen ama herhangi bir programlama dilinin detaylarından uzak Algoritma ifade şeklidir.
Verilen bir sıcaklık derecesine göre suyun durumunu belirten bir pseudo code:
1- Program açıklama mesajı yaz
2- Kullanıcının sıcaklığı girmesi için bir uyarı mesajı yaz
3- Girilen sıcaklığı oku
4- Eğer sıcaklık 0 derece ise Durum = “Buz”
5- Eğer sıcaklık > = 100 ise Durum = “Buhar”
6- Değilse durum = “Su”
7- Sonucu yaz
Algoritma Akış Şemaları:
Adımlar simgeler şeklinde kutular içinde yazılmış olması ve adımlar arasındaki ilişkilerin ve yönünün oklar ile gösterilmesidir.
Şekillerin, aşağıdaki resimde de görebileceğiniz gibi çeşitli anlamları vardır.