2. Algoritma cümlelerle veya sembollerle oluşturulabilir. Algoritmanın
sembollerle gösterilmesine AKIŞ DİYAGRAMI denir. Algoritmanın
cümlelerle oluşturulmuş haline ise SATIR ALGORİTMA denir.
Bilgisayann yapısına uygun yazılmış algoritmalara ise PROGRAM
denir.
Bir çok programcı, programlama dillerinden birisiyle programlanın
yazmadan önce programın akış diyagramını Çizmeyi adet haline
getirmişlerdir. Bazı programcılar ise büyük akış diyagramlarını
anlamanın ve kontrol etmenin çok zor olduğunu söyleyerek
algoritma oluşturmadıklarını söylemektedir. Büyük projelerde ise
programın belirli bir bölümünü gösteren algoritmalar hazırlanabilir.
Bu şekilde bir program çok fazla sayıda algoritma ile açıklanabilir.
Küçük programlar için akış diyagramı, problemin akışını takip etmek
için faydalıdır. Özellikle programcılığı yeni öğrenen kimselere
problemin algoritmasını veya akış diyagramını önce hazırlayıp
kontrol etmesi, daha sonra programı yazması önerilir.
3. Akış diyagramıyla ilgili, kitaplarda birçok şekil
bulunsa da problemlerin çözümü sırasında en
fazla ihtiyaç duyulan şekiller aşağıdaki gibidir.
Akış Şeması Şekil ve Sembolleri Akış Şeması
Çizilirken Dikkat Edilecek Noktalar Diyagram her
zaman başla ve bitir deyimlerini ifade eden şekil
ile başlar ve sonlanır.Şekiller birbiriyle orantılı
olacak şekilde, muntazam mümkünse bilgisayar
ortamında çizilir.Akışı yönlendiren oklar her
zaman şekillerin ortasına gelecek şekilde
konumlandırılır.Kullanılan değişkenler ve yapılan
hesaplamalar şekillerin içerisinde belirtilir.
4. 1. Algoritmanın başlangıç ve bitişin de kullanılır.
2. Klavye aracılığı ile bilgi girişi yapılacağını belirtir.
3. Herhangi bir değerin ekrana veya yazıcıya çıktısının alınacağı zaman
kullanılır.
4. Herhangi bir matematiksel işlem yapılacağı zaman kullanılır.
5. 5. Aritmatiksel veya mantıksal olarak karar verme durumlarında kullanılır.
6. Yapılacak iş birden çok yapılacaksa(Döngü mantığı) bu sembol kullanılır.
7. Oklar veri akışını yönlendirebilmek için kullanılan elemanlardır.
6. Örnek 1: Klavyeden girilen 3 sayıyı toplayan ve
ortalamasını alarak sonuçları ekrana yazdıran programın
algoritmasını ve akış diyagramını tasarlayınız.
Şimdi bu örneği çözmeden önce şöyle bir düşünelim. Bu
problemin çözümü için öncelikle elimizde verilerin olması
gereklidir. yani 3 adet sayı girilmesi gerekli. sayılar
girildikten sonra sayılar toplanacak çıkan toplam 3 e
bölünüp ortalaması bulunacak ve sonuçlar ekrana
yazdırılacak. Şimdi bu düşündüklerimizi uygulayalım… 1.
Değişkenler
x=Birinci sayı
y=ikinci sayı
z=üçüncü sayı
top=sayıların toplamı
ort=sayıların ortalaması
7. Şimdi değişkenlerimizi yazdık. Artık adım adım kafamızda
tasarladığımız basamakları algoritma içerisinde yazalım.
Adım 1-Başla
Adım 2-Birinci sayıyı oku ve x ‘ e kaydet.
Adım 3-İkinci sayıyı oku ve y ‘ ye kaydet.
Adım 4-Üçüncü sayıyı oku ve z’ ye kaydet.
Adım 5-top=x+y+z işlemini yap.
Adım 6-ort=top/3 işlemini yap.
Adım 7-top ve ort değerlerini ekrana yazdır.
Adım 8-Bitir
Şimdide algoritmadaki adımları akış diyagramına aktaralım.
8.
9. Algoritmanın, görsel olarak simge ya da sembollerle ifade
edilmiş şekline “akış şemaları” veya FLOWCHART adı verilir. Akış
şemalarının algoritmadan farkı, adımların simgeler şeklinde
kutular içine yazılmış olması ve adımlar arasındaki ilişkilerin ve
yönünün oklar ile gösterilmesidir. Programın saklanacak esas
belgeleri olan akış şemalarının hazırlanmasına, sorun
çözümlenmesi sürecinin daha kolay anlaşılır biçime getirilmesi,
iş akışının kontrol edilmesi ve programın kodlanmasının
kolaylaştırılması gibi nedenlerle başvurulur. Uygulamada
çoğunlukla, yazılacak programlar için önce programın ana
adımlarını (bölümlerini) gösteren genel bir bakış akış şeması
hazırlanır. Daha sonra her adım için ayrıntılı akış şemalarının
çizimi vardır. En basit şekliyle dikdörtgen kutulardan ve oklardan
oluşur. Akış şeması sembolleri ANSI (American National
Standards Institute) standardı olarak belirlenmiş ve tüm
dünyada kullanılmaktadır.
10. 1.DOĞRUSAL AKIŞ ŞEMALARI
İş akışları,giriş,hesaplama,çıkış biçiminde olan akış şemaları bu grup
kapsamına girer
ÖRNEK 1:İki sayının çarpımının bulunmasıyla ilgili algoritma şöyledir.
Algoritma
Adım 1-Başla
Adım 2-A'yı oku
Adım 3-B'yi oku
Adım 4-C=A*B
hesapla
Adım 5-c’yi yaz
Adım 6-Dur
akış Şeması
11. Örnek 2:İki sayının farkını ve bölümünü bulup yazıcı ile yazan algoritma ve akış
şeması şöyledi
Algoritma
Adım 1-Başla
Adım 2-A'yı oku
Adım 3-B'yi oku
Adım 4-D=A-B
Adım 5-E=A/B
Adım 6-D'yi yaz
Adım 7-E'yi yaz
Adım 8-Dur
Akış Şeması
12. 2.MANTIKSAL AKIŞ ŞEMALARI
Geniş ölçüde mantıksal kararları içeren akış şemalarıdır.Hesap düzenleri
genellikle basittir
Örnek1:A ve B gibi iki sayıdan büyüğünü printerle yazdıran algoritma ve akış şeması
şöyledir
Algoritma
Adım 1-Başla
Adım 2-A,B'yi oku
Adım 3-A=B ise Adım 7'ye
git
Adım 4-A>B ise Adım 6'ya
git
Adım 5-B'yi yaz Adım 8'e
git
Adım 6-A'yı yaz Adım 8'e
git
Adım 7-"A veB
eşit"mesajını yaz
Adım 8-DUR
Akış Şeması
13. 3.YİNELİ (İTERATİF,ÇEVRİMLİ,DÖNGÜLÜ)AKIŞ ŞEMALARI
Sorunun çözümü için,çözümde yer alan herhangi bir adım ya da aşamanın
birden fazla kullanıldığı akış şemalarına denir.İş akışları genel olarak giriş
ya da başlangıç değeri verme,hesaplama,kontrol biçiminde olmaktadır
Örnek 1: Klavyeden girilen
bir yazıyı 5 kez yazdıran
algoritma ve akış şemasını
oluşturunuz.
( Y : Yazı, S : Sayaç )
A1 : Başla
A2 : Oku Y
A3 : Yaz Y
A4 : S = S + 1
A5 : Eğer S < 5 ise A3 e git
A6 : Dur
BAŞLA
OKU Y
S = 0 ,
5, 1
YAZ Y
S
DUR
Akış Şeması
15. Örnek-1 : 5– 50 arasında
yer alan çift sayıların
toplamını
bulan programın akış
diyagramı ve metinsel
algoritmasını yapalım
Metinsel algoritma
A1 : T=0
A2 : Döngü D = 2 den 50’ye
2’şer ilerle
A3 : T=T+1
A4 : Döngü Sonu D
A5 : D yaz
A6 : Bitir.
Akış Şeması
16. Girilen 2 sayıdan büyük olanı ekrana yazdıran programın
algoritmasını ve akış diyagramını tasarlayınız.
Değişkenler
Birinci sayı: x
İkinci sayı: y
Algoritma
Adım 1: Başla
Adım 2:Birinci sayıyı gir.(x)
Adım 3:İkinci sayıyı gir.(y)
Adım 4:Eğer x>y ise ekrana 1.
sayı büyüktür yaz.
Adım 5:Eğer y>x ise ekrana 2.
sayı büyüktür yaz.
Adım 6:Ekrana sayılar birbirine
eşittir yaz.
Adım 7:Bitir
Akış Şeması