Programlama Temelleri 2 (Algoritma Mantığı Ve Akış Diyagramı)

KaptanTR

Alpha Wolf
17 Nis 2015
1,650
1,584
25
p0qbke2.png


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.




a7yw9d0.png


Algoritmaların Sınıflandırılması


7z6nljh.png



a7yw9d0.png

Algoritma Geliştirme Modelleri


f18lqty.png



a7yw9d0.png

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

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



a7yw9d0.png

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.

oa85nfx.png


a7yw9d0.png

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.



a7yw9d0.png


~~ Ö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

Akış Diyagramı

bzmukt4.png



a7yw9d0.png


~~ Ö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

Akış Diyagramı

h6uy0tu.png



a7yw9d0.png


~~ Ö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

Akış Diyagramı

efky4co.png



a7yw9d0.png

~~ Ö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

Akış Diyagramı

rewfwo3.png


a7yw9d0.png

~~ Not ~~

Algoritma derslerimiz haftaya son bulacaktır. Sonrasında C/C++ konuları ile ilerleyeceğiz, takipte kalınız. 🙂


ctf0sk9.png
 

trombolol33001

Katılımcı Üye
19 Kas 2021
420
142
18
p0qbke2.png


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.




a7yw9d0.png


Algoritmaların Sınıflandırılması


7z6nljh.png



a7yw9d0.png

Algoritma Geliştirme Modelleri


f18lqty.png



a7yw9d0.png

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

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



a7yw9d0.png

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.

oa85nfx.png


a7yw9d0.png

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.



a7yw9d0.png


~~ Ö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

Akış Diyagramı

bzmukt4.png



a7yw9d0.png


~~ Ö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

Akış Diyagramı

h6uy0tu.png



a7yw9d0.png


~~ Ö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

Akış Diyagramı

efky4co.png



a7yw9d0.png

~~ Ö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

Akış Diyagramı

rewfwo3.png


a7yw9d0.png

~~ Not ~~

Algoritma derslerimiz haftaya son bulacaktır. Sonrasında C/C++ konuları ile ilerleyeceğiz, takipte kalınız. 🙂


ctf0sk9.png
Elinize sağlık hocam gene sağlam bir içerik.
 

egemizah

Katılımcı Üye
19 Şub 2021
865
429
p0qbke2.png


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.




a7yw9d0.png


Algoritmaların Sınıflandırılması


7z6nljh.png



a7yw9d0.png

Algoritma Geliştirme Modelleri


f18lqty.png



a7yw9d0.png

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

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



a7yw9d0.png

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.

oa85nfx.png


a7yw9d0.png

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.



a7yw9d0.png


~~ Ö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

Akış Diyagramı

bzmukt4.png



a7yw9d0.png


~~ Ö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

Akış Diyagramı

h6uy0tu.png



a7yw9d0.png


~~ Ö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

Akış Diyagramı

efky4co.png



a7yw9d0.png

~~ Ö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

Akış Diyagramı

rewfwo3.png


a7yw9d0.png

~~ Not ~~

Algoritma derslerimiz haftaya son bulacaktır. Sonrasında C/C++ konuları ile ilerleyeceğiz, takipte kalınız. 🙂


ctf0sk9.png
elinize sağlık Hocam
 

KaptanTR

Alpha Wolf
17 Nis 2015
1,650
1,584
25

CiHaN-i TuRaN

Kıdemli Üye
29 Tem 2017
3,472
988
Elinize sağlık. güzel ve faydalı konu algoritmayı ve matematik bilenler çabuk programcı ve mühendis olurlar
 

AKTUĞ1

Yazılım Ekibi Analist
23 Haz 2015
2,373
355
p0qbke2.png


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.




a7yw9d0.png


Algoritmaların Sınıflandırılması


7z6nljh.png



a7yw9d0.png

Algoritma Geliştirme Modelleri


f18lqty.png



a7yw9d0.png

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

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



a7yw9d0.png

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.

oa85nfx.png


a7yw9d0.png

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.



a7yw9d0.png


~~ Ö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

Akış Diyagramı

bzmukt4.png



a7yw9d0.png


~~ Ö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

Akış Diyagramı

h6uy0tu.png



a7yw9d0.png


~~ Ö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

Akış Diyagramı

efky4co.png



a7yw9d0.png

~~ Ö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

Akış Diyagramı

rewfwo3.png


a7yw9d0.png

~~ Not ~~

Algoritma derslerimiz haftaya son bulacaktır. Sonrasında C/C++ konuları ile ilerleyeceğiz, takipte kalınız. 🙂


ctf0sk9.png
Anlaşılır bir konu olmuş. Eline sağlık
 
Üst

Turkhackteam.org internet sitesi 5651 sayılı kanun’un 2. maddesinin 1. fıkrasının m) bendi ile aynı kanunun 5. maddesi kapsamında "Yer Sağlayıcı" konumundadır. İçerikler ön onay olmaksızın tamamen kullanıcılar tarafından oluşturulmaktadır. Turkhackteam.org; Yer sağlayıcı olarak, kullanıcılar tarafından oluşturulan içeriği ya da hukuka aykırı paylaşımı kontrol etmekle ya da araştırmakla yükümlü değildir. Türkhackteam saldırı timleri Türk sitelerine hiçbir zararlı faaliyette bulunmaz. Türkhackteam üyelerinin yaptığı bireysel hack faaliyetlerinden Türkhackteam sorumlu değildir. Sitelerinize Türkhackteam ismi kullanılarak hack faaliyetinde bulunulursa, site-sunucu erişim loglarından bu faaliyeti gerçekleştiren ip adresini tespit edip diğer kanıtlarla birlikte savcılığa suç duyurusunda bulununuz.