Bir problemin çözüle bilmesi için adım adım uygulanan kurallar dizisidir.Algoritmaları kullanarak programları daha kolay bir biçimde oluşturabiliriz.Algoritmaların en önemli özelliği, her türlü alternatif gidiş yolu düşünülerek sonuca ulaşıldığının garanti edilmesidir.Buna ek olarak bir algoritmada, girilen verilerin değerlendirilmesi ve buna karşılık olarak sonuçların elde edilmesi gerekir.
Algoritmalar oluşturulurken ya çeşitli şekillerden ya da bir dilden yararlanılır.Eğer algoritma oluşturulurken bir dil kullanılmışsa bu dil, matematiksel ifadelerin de bulunduğu ve konuşurken kullandığımız bir dil olduğu gibi, özel olarak algoritma tasarımı için hazırlanmış bir dilde ola bilir.Eğer ki şekillerden yararlanarak algoritma oluşturuyorsak, akış şemalarından yararlanılır.Ancak biz bu bölümde algoritmaları konuşma dili yardımıyla basit bir şekilde oluşturacağız.
Algoritmada Olması Gereken Özellikler
.Girdi/Çıktı:Her algoritmanın bir giriş ve bir çıkış değeri olmalıdır.Girdi;algoritmanın üzerinde işlem yapması için aldığı veridir;çıktı ise algoritmanın girdiye karşı elde ettiği sonuçtur.
.Açıklık:Birden fazla anlama gelebilecek yani ikilemde kalına bilecek ifadelere sahip adımlar oluşturulmamalıdır.Bu nedenle her adım açık ve anlaşılır bir biçimde ifade edilmelidir.
.Sonluluk:Bir algoritma her ne koşulda olursa olsun sonlu sayıda işlem içermeli ve bu işlemlerinde süresi sonlu olmalıdır.
.Etkinlik:Bir algoritma aynı zamanda gereksiz tekrarlardan kaçınmalıdır ve gerektiği zaman başka bir algoritma içinde de kullanılabilmelidir.
Örnek:
Girilen bir sayının karesini alıp ekrana yazdıran bir alogoritmasını oluşturalım.
Girdi:Karesi alınacak sayı (x)
Çıktı:Girilen sayının karesi (sonuç)
#######################
1. Başla
2. x değerini gir.
3. sonuç=x*x
4. sonuç değerini ekrana yaz.
5. Bitir.
#######################
Bu algoritma ile klavyeden girilen bir sayının karesini oluşturmuş olduk.
Örnek
Girilen iki sayıyı toplayan programın algoritmasını oluşturalım.
Girdi:Birinci sayı (x), İkinci sayı
Çıktı:İki sayının toplamı (toplam)
#####################
1. Başla
2. x değerini gir.
3. y değerini gir.
4. toplam=x+y
5. toplam değerini ekrana yaz.
6. Bitir
#####################
Bu algoritma ile klavyeden iki sayı girdik ve bu iki sayının toplamını ekrana yazmış olduk.
Örnek
Girilen iki sayıyı karşılaştırıp büyük olan sayıyı bulan algoritmayı oluşturalım.
Girdi:Birinci sayı (x), İkinci sayı
Çıktı: Büyük sayı
###########################
1. Başla
2. x değerini gir.
3. y değerini gir
4. Eğer x,y'den büyük ise adım 6'ya git.
5. Eğer y,x'den büyük ise adım 7'ye git.
6. x değerini ekrana yaz ve adım 8'e git.
7. y değerini ekrana yaz ve adım 8'e git
8. Bitir.
###########################
Bu örnekte ise kullanıcıdan alınan iki sayıyı karşılaştırdık.Büyük olan sayıyı adımlar arasında geçişler yaparak ekrana yazdırmış olduk.
Not:Yukarıdaki örnekte ilk defa gördüğümüz adımlar arası geçişler, algoritmanın bir özelliğidir.Bu geçişler olmasaydı, algoritma otomatik olarak bir sonraki adıma geçerek devam ederdi.Örneğin; yukarıdaki örnekte adım geçişleri yapmasaydık, byük olan sayıyı bulurdu.Ancak ekrana hem x değerini hemde y değerini yazardı.
Bu örnekler ile algoritmayı basitçe tanımlamış olduk.Eğer size yardımım dokun duysa teşşekkür butonuna basmayı unutmayın.
Konum yoruma açıktır, istenilirse biraz daha zor örnekler ve açıklamalar ilave ede bilirim.
Bir sonaraki konum: Yazılım Geliştirme Süreci
Algoritmalar oluşturulurken ya çeşitli şekillerden ya da bir dilden yararlanılır.Eğer algoritma oluşturulurken bir dil kullanılmışsa bu dil, matematiksel ifadelerin de bulunduğu ve konuşurken kullandığımız bir dil olduğu gibi, özel olarak algoritma tasarımı için hazırlanmış bir dilde ola bilir.Eğer ki şekillerden yararlanarak algoritma oluşturuyorsak, akış şemalarından yararlanılır.Ancak biz bu bölümde algoritmaları konuşma dili yardımıyla basit bir şekilde oluşturacağız.
Algoritmada Olması Gereken Özellikler
.Girdi/Çıktı:Her algoritmanın bir giriş ve bir çıkış değeri olmalıdır.Girdi;algoritmanın üzerinde işlem yapması için aldığı veridir;çıktı ise algoritmanın girdiye karşı elde ettiği sonuçtur.
.Açıklık:Birden fazla anlama gelebilecek yani ikilemde kalına bilecek ifadelere sahip adımlar oluşturulmamalıdır.Bu nedenle her adım açık ve anlaşılır bir biçimde ifade edilmelidir.
.Sonluluk:Bir algoritma her ne koşulda olursa olsun sonlu sayıda işlem içermeli ve bu işlemlerinde süresi sonlu olmalıdır.
.Etkinlik:Bir algoritma aynı zamanda gereksiz tekrarlardan kaçınmalıdır ve gerektiği zaman başka bir algoritma içinde de kullanılabilmelidir.
Örnek:
Girilen bir sayının karesini alıp ekrana yazdıran bir alogoritmasını oluşturalım.
Girdi:Karesi alınacak sayı (x)
Çıktı:Girilen sayının karesi (sonuç)
#######################
1. Başla
2. x değerini gir.
3. sonuç=x*x
4. sonuç değerini ekrana yaz.
5. Bitir.
#######################
Bu algoritma ile klavyeden girilen bir sayının karesini oluşturmuş olduk.
Örnek
Girilen iki sayıyı toplayan programın algoritmasını oluşturalım.
Girdi:Birinci sayı (x), İkinci sayı
Çıktı:İki sayının toplamı (toplam)
#####################
1. Başla
2. x değerini gir.
3. y değerini gir.
4. toplam=x+y
5. toplam değerini ekrana yaz.
6. Bitir
#####################
Bu algoritma ile klavyeden iki sayı girdik ve bu iki sayının toplamını ekrana yazmış olduk.
Örnek
Girilen iki sayıyı karşılaştırıp büyük olan sayıyı bulan algoritmayı oluşturalım.
Girdi:Birinci sayı (x), İkinci sayı
Çıktı: Büyük sayı
###########################
1. Başla
2. x değerini gir.
3. y değerini gir
4. Eğer x,y'den büyük ise adım 6'ya git.
5. Eğer y,x'den büyük ise adım 7'ye git.
6. x değerini ekrana yaz ve adım 8'e git.
7. y değerini ekrana yaz ve adım 8'e git
8. Bitir.
###########################
Bu örnekte ise kullanıcıdan alınan iki sayıyı karşılaştırdık.Büyük olan sayıyı adımlar arasında geçişler yaparak ekrana yazdırmış olduk.
Not:Yukarıdaki örnekte ilk defa gördüğümüz adımlar arası geçişler, algoritmanın bir özelliğidir.Bu geçişler olmasaydı, algoritma otomatik olarak bir sonraki adıma geçerek devam ederdi.Örneğin; yukarıdaki örnekte adım geçişleri yapmasaydık, byük olan sayıyı bulurdu.Ancak ekrana hem x değerini hemde y değerini yazardı.
Bu örnekler ile algoritmayı basitçe tanımlamış olduk.Eğer size yardımım dokun duysa teşşekkür butonuna basmayı unutmayın.
Konum yoruma açıktır, istenilirse biraz daha zor örnekler ve açıklamalar ilave ede bilirim.
Bir sonaraki konum: Yazılım Geliştirme Süreci
Son düzenleme:
