- 17 Nis 2015
- 1,686
- 1,770
Yazılım Geliştirme Sürecinde Algoritma Mantığı ve Önemi
> Yazılım geliştirme süreçlerinde, algoritmalar programlama ile tasarım arasında yer almaktadırlar.
> Yazılım mimarları büyük projelerde, bazen karışık bir işin çözümüne algoritma oluşturur sonrasında ise yazılımcı bu algoritmaya istinaden programlama yapmaktadır.
> Yazılımcı, orta ve küçük kapsamlı projelerde kendine ait algoritma belirleyerek programını buna göre yazarak oluşturmaktadır.
> Günümüzde artık, iş yazılım programları geliştirilirken bazı işler için algoritma yazımı yapmadan programlama yoluna da direkt gidilebilmektedir.
Algoritmaların Sınıflandırılması
Algoritma Geliştirme Modelleri
Satır Algoritma ve Sözde Kod
Klavyeden girilen iki sayıyı toplayıp ekranda gösteren programın algoritması
~~ Satır Algoritma İle Gösterilmesi ~~
1. Başla
2. Birinci sayıyı (A) klavyeden oku.
3. İkinci sayıyı (B) klavyeden oku.
4. Girilen sayıları toplayarak sonucu oluştur (C=A+B).
5. Sonucu (C) ekrana yazdır.
6. Dur.
~~ Sözde Kod İle Gösterilmesi ~~
1. Başla
2. A oku
3. B oku
4. C=A+B
5. C yaz
6. Dur
~~ Satır Algoritma İle Gösterilmesi ~~
1. Başla
2. Birinci sayıyı (A) klavyeden oku.
3. İkinci sayıyı (B) klavyeden oku.
4. Girilen sayıları toplayarak sonucu oluştur (C=A+B).
5. Sonucu (C) ekrana yazdır.
6. Dur.
~~ Sözde Kod İle Gösterilmesi ~~
1. Başla
2. A oku
3. B oku
4. C=A+B
5. C yaz
6. Dur
Algoritmanın Hazırlanma Aşamaları Nasıl Gerçekleşir
> Algoritmada bulunan adımlar program da sonlu sayı da işlem yapmayı sağlamalıdır.
> Adımlar sıralı bir şekilde ve mantık çerçevesinde olmalıdır.
> Farklı değerler ile gerçekleştirilmiş olan aynı işlemi tekrar yazmak yerine tüm bunları alt fonksiyonlar oluşturarak yapmak daha uygun olacaktır.
> Gereksiz olan tüm işlemlerden kaçının.
> Belleğin daha verimli olabilmesi için gereksiz tamlama ve fazlalıklardan kaçının.
> Oluşturmuş olduğunuz her algoritmanın bir sonucu ve çıktısı olmalıdır.
> Oluşturacağınız algoritma da ki sayılar 1’den başlayarak numaralandırılmalıdır.
> Oluşturulan algoritmalarda ki satırlar ‘’1. Başla’’ şeklinde bulunmaktadır.
> Oluşturulan bütün algoritmalar ‘’Dur’’ ile biter.
> Algoritmalarda kullanmış olduğunuz ‘’Git’’ işlem akışını yönlendirme komutuna göre satır numaraları ile birlikte kullanılmalıdır.
> Algoritmalarda bulunan adımlar, sınırlı sayılarda, net, keskin ve açık bir şekilde olmalıdır
Akış Diyagramı (Flow Charts)
Akış diyagramı algoritmaların belirli bulunan şekil ve simge ile ifa edilen şekli olmakla birlikte algoritma sunumlarında yaygın bir şekilde kullanılmaktadır. Akış diyagramları, algoritmaların kolay anlaşılmasını, takip ve kontrol edilebilmesini sağlamaktadır. Algoritmaların dezavantajları ise uzun olmalarıdır.
Algoritmalarda Kullanılan Sembollerin Anlamları
Başla / Dur: Bu işlem her akış diyagramında baş ve sonda olmak üzere standart bir şekilde bulunan işlemdir.
Veri Girişi: Veri giriş simgesi bilgisayara klavyeden (elle giriş) bilgi girişinde kullanılmaktadır.
Kullanma sırasına göre bu simgeler içine aktarılacak olan verinin adı yazılmaktadır. Birden fazla değişken aralara virgül konularak yazılabilir. Bu sebeple klavyeden girilmiş olan değerler sırayla değişkenlere aktarılacaktır.
Örnek olarak simgeye ‘’c,d’’ yazılmışsa ve klavyeden girilmiş olan değer ‘’1’’ ve ‘’2’’ ise c=1, d=2 olacaktır.
İşlem: İşlem programın çalışmasında gerçekleşecek olan işlemlerin ifade edilmesinde kullanılır. Simge içerisinde programların o basamağına gelindiği sırada uygulanacak olan işlem ifadeleri yazılmaktadır.
Döngü: Programlarda bazen bazı işlem dizleri ardışık değerlerle veya belirli koşullar sağlanıncaya kadar tekrarlanmaktadır.
Bu tekrarlama işlemlerine döngü (cycle) adı verilmektedir.
Döngü simgesinin içinde olan döngü değişkeni, başlangıç, bitiş ve adım değerleri yazılmaktadır.
Yazım şekli nasıl olmalıdır?
Döngü değişkeni eşittir = başlangıç, bitiş değeri, adım
Artan döngü veya azalan döngü olarak da oluşturulabilmektedir.
Artan döngülerde genellikle bitiş değeri başlangıç değerinden büyük olur, adım pozitif olur.
Azalan döngülerde genellikle bitiş değeri başlangıç değerinden küçük olur, adım negatif olur.
Karar: Kontrol edilen ve karşılaştırma gibi karar verici işlemler için kullanılan simgedir.
Oluşturulmak istenen simgeler içine yazılmalıdır.
Bilgi / Veri Yazma: Ekranlarda veri veya bilgi yazdırma için kullanılmaktadır.
Yazdırılmak istenen konu bir mesaj ise tırnak içinde yazılmalı eğer bir değişken yazılıyorsa simgenin içine değişken adı yazılmalıdır.
Birden çok değişken yazılmak istendiği takdirde değişken adlarının aralarına virgül konularak yazılmalıdır.
Bağlantı: Akış diyagramında kullanılan birleştirici simgedir.
Bu simgeler farklı dallarda işlem akışını bir araya getirmek amacı ile kullanıldığı gibi, bir sayfaya sığmayan akış diyagramı ve son sayfa da bulunan akış diyagramını birleştirme amacı ile kullanılır.
İşlem Akış Yönü Okları: Akış diyagramında algoritmanın akışının hangi tarafta bulunduğunu gösteren oktur.
Yukarı da ki yazımızda sizlere akış şeması ve algoritma mantığından bahsettik. Bu sistem bir bütündür. Bir işlem diğer işlem ile mutlak bağlantılıdır. Herhangi bir işlem sizi bir diğer işleme aktaracak ve algoritmanızı bir bütün halinde oluşturmanızı sağlayacaktır. Kavramların önemi algoritma ve akış şemasının bütününde oldukça önemlidir.
~~ Örnek 1 ~~
Birbirinden farklı olarak girilen iki adet sayıdan, büyük olanı bulup gösteren algoritma ve akış diyagramını tasarlayınız.
Algoritma
1. BAŞLA
2. OKU sayi1
3. OKU sayi2
4. EĞER sayi1>sayi2 İSE YAZ sayi1
5. DEĞİLSE YAZ sayi2
6. BİTİR
2. OKU sayi1
3. OKU sayi2
4. EĞER sayi1>sayi2 İSE YAZ sayi1
5. DEĞİLSE YAZ sayi2
6. BİTİR
Akış Diyagramı
~~ Örnek 2 ~~
Verilen tamsayının sıfır, pozitif ya da negatif olup olmadığını bulan algoritma ve akış diyagramını tasarlayınız.
Algoritma
1. BAŞLA
2. OKU sayi
3. EĞER sayi >0 İSE YAZ "Bu sayı pozitiftir"
4. EĞER sayi <0 İSE YAZ "Bu sayı negatiftir"
5. EĞER sayi =0 İSE YAZ "Bu sayı sıfırdır"
6. BİTİR
2. OKU sayi
3. EĞER sayi >0 İSE YAZ "Bu sayı pozitiftir"
4. EĞER sayi <0 İSE YAZ "Bu sayı negatiftir"
5. EĞER sayi =0 İSE YAZ "Bu sayı sıfırdır"
6. BİTİR
Akış Diyagramı
~~ Örnek 3 ~~
Ekrana 10 defa programcının adını yazan algoritmayı yapınız.
Algoritma
1. BAŞLA
2. Sayac = 1
3. YAZ "Ahmet"
4. Sayac = Sayac + 1
5. EĞER Sayac<=10 İSE GİT Adım3
6. DUR
2. Sayac = 1
3. YAZ "Ahmet"
4. Sayac = Sayac + 1
5. EĞER Sayac<=10 İSE GİT Adım3
6. DUR
Akış Diyagramı
~~ Örnek 4 ~~
Kullanıcıdan alınan sayının tek ya da çift kontrol edip ekranda yazdıran algoritması.
Algoritma
1. BAŞLA
2. Sayısal ( sayı )
3. YAZ ("Sayıyı gir")
4. Sayı <- oku()
5. EĞER Sayı (Sayı%2==0)
6. YAZ ("Sayı çift")
7. DEĞİLSE
8. YAZ ("Sayı tek")
9. BİTİR
2. Sayısal ( sayı )
3. YAZ ("Sayıyı gir")
4. Sayı <- oku()
5. EĞER Sayı (Sayı%2==0)
6. YAZ ("Sayı çift")
7. DEĞİLSE
8. YAZ ("Sayı tek")
9. BİTİR
Akış Diyagramı
~~ Not ~~
Algoritma derslerimiz haftaya son bulacaktır. Sonrasında C/C++ konuları ile ilerleyeceğiz, takipte kalınız.