Klavyeden girilen İki sayının toplamını hesaplayıp yazan algoritma

advertisement
ALGORİTMA VE AKIŞ DİYAGRAMLARI
Algoritma, bir sorunun çözümü için izlenecek yol anlamına gelmektedir. Çözüm için yapılması gereken
işlemler hiçbir alternatif yoruma izin vermeksizin sözel olarak ifade edilir. Diğer bir deyişle algoritma,
verilerin, bilgisayara hangi çevre biriminden girileceğinin, problemin nasıl çözüleceğinin, hangi
basamaklardan geçirilerek sonuç alınacağının, sonucun nasıl ve nereye yazılacağının sözel olarak ifade
edilmesi biçiminde tanımlanabilir.
Bir sorunun çözümü için izlenmesi gerekli olan aritmetik ve mantıksal adımların söz veya yazı ile
anlatıldığı algoritmanın, görsel olarak simge ya da sembollerle ifade edilmiş şekline ise “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.
Algoritma ve akış diyagramı hazırlanırken, çözüm için yapılması gerekli işlemler, öncelik sıraları
gözönünde bulundurularak ayrıntılı bir biçimde tanımlanmalıdırlar. Aşağıda algoritma ve Akış
diyagramı hazırlanmasına ilişkin örnekler yer almaktadır.
Doğrusal Algoritmalar
İş akışları giriş, hesaplama, çıkış biçiminde olan akış şemaları bu grup kapsamına girer.
Klavyeden girilen İki sayının toplamını hesaplayıp yazan algoritma ve akış şeması
( X: Birinci sayı, Y: İkinci sayı, Z: Toplam )
A1 : BAŞLA
A2 : OKU X
A3 : OKU Y
A4 : Z = X + Y
A5 : YAZ Z
A6 : DUR
BAŞLA
OKU X
OKU Y
Z=X+Y
YAZ
Z
DUR
Algoritmaya dikkat edilirse işlemlerin sıralanmasında, işlem önceliklerinin göz önünde
bulundurulduğu görülür. Ayrıca algoritma yazımı sorun çözümünün başladığını gösteren
“Başla” ifadesi ile başlamakta ve işlemlerin bittiğini belirten “Dur” ifadesi ile sona
ermektedir.
Mantıksal Algoritmalar
Geniş ölçüde mantıksal kararları içeren akış şemalarıdır. Hesap düzenleri genellikle basittir.
Klavyeden girilen bir sayının pozitif, negatif veya sıfıra eşit olma durumunu tespit edip
yazdıran algoritma ve akış şeması.
(S: Sayı)
A1 : BAŞLA
A2 : OKU S
A3 : EĞER S > 0 ise YAZ “Pozitif”, GİT A6
A4 : EĞER S < 0 ise YAZ “Negatif”, GİT A6
A5 : EĞER S = 0 ise YAZ “Sıfıra eşit”
A6 : DUR
BAŞLA
OKU S
>
YAZ
“Pozitif”
<
YAZ
“Negatif
”
S:0
=
YAZ
“Sıfıra eşit”
DUR
Döngüsel Algoritmalar
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.
Klavyeden girilen bir yazıyı 5 kez yazdıran algoritma ve akış şeması
( Y: Yazı, S: Sayaç )
A1 : BAŞLA
A2 : OKU Y
A3 : S = 1 den 5 e kadar 1 arttır
A4 : YAZ Y
A5 : S yi kontrol et
A6 : DUR
BAŞLA
OKU Y
S = 1, 5, 1
YAZ Y
S
DUR
ÖRNEK
20 kişilik bir sınıfta 18,19,20 ve 21 yaşlarında kaç öğrenci olduğunu belirleyip yazdıran algoritma ve
akış şemasını hazırlayınız.
( Y: Öğrencinin yaşı, S: Sayaç, Y18: 18 yaşındakiler, Y19: 19 yaşındakiler, Y20: 20 yaşındakiler, Y21: 21
yaşındakiler )
A1 : BAŞLA
A2 : S =1 den 20 ye kadar 1 arttır
A3 : OKU Y
A4 : EĞER Y = 18 ise Y18 = Y18 + 1, GİT A8
A5 : EĞER Y = 19 ise Y19 = Y19 + 1, GİT A8
A6 : EĞER Y = 20 ise Y20 = Y20 + 1, GİT A8
A7 : EĞER Y = 21 ise Y21 = Y21 + 1, GİT A8
A8 : S yi kontrol et
A9 : YAZ Y18, Y19, Y20, Y21
A10 : DUR
BAŞLA
S = 1, 20, 1
OKU Y
=
Y18 = Y18 +1
Y:18
<>
=
Y19 = Y19 +1
Y:19
<>
=
Y20 = Y20 +1
Y:20
<>
=
Y21 = Y21 +1
Y:21
<>
S
YAZ
Y18,Y19,Y20,Y21
DUR
Sıralama Algoritmaları
Üç sayının en küçüğünü bulan algoritma
(X: birinci Sayı Y: ikinci Sayı Z: üçüncü sayı E: en küçük sayı)
A1: BAŞLA
A2: E = X
A3: EĞER Y < E ise E = Y
A4: EĞER Z < E ise E = Z
A5 : YAZ E
A6 : DUR
Download