webmaster28 ÜyePuan: 1100 | Gönderilme Tarihi: 15 Kasım 2010 21:25:09
Algoritma, verilen herhangi bir sorunun çözümüne ulaşmak için uygulanması gerekli adımların hiç bir yoruma yer vermeksizin açık, düzenli ve sıralı bir şekilde söz ve yazı ile ifadesidir. Algoritmayı oluşturan adımlar özellikle basit ve açık olarak sıralandırılmalıdır. Algoritmik çözüm yöntemlerine ilk örneği günlük yaşantımızdan verelim.
Örnek 1: Örneğimiz bir insanın evden çıkıp işe giderken izleyeceği yolu ve işyerine girişinde ilk yapacaklarını tanımlamaktadır.
Çözüm 1:
Evden dışarıya çık
Otobüs durağına yürü
Durakta gideceğin yöndeki otobüsü bekle
Otobüsün geldiğinde otobüse bin
Biletini bilet kumbarasına at
İneceğin yere yakınlaştığında arkaya yürü
İneceğini belirten ikaz lambasına bas
Otobüs durunca in
İşyerine doğru yürü
İş yeri giriş kapısından içeriye gir
Mesai arkadaşlarınla selamlaş
İş giysini giy
İşini yapmaya başla.
Yukarıdaki örnekte görüldüğü gibi, evden işe gidişte yapılabilecek işlemler adım adım sırasıyla, kısa ve açık olarak tanımlanmaya çalışılmıştır. Yukarıdaki algoritma kişinin otobüsü kaçırma olasılığı düşünülmeden oluşturulmuştur. Kişi durağa geldiğinde bineceği otobüsü kaçırmış ise algoritmamız aşağıdaki şekilde değiştirilebilir.
Çözüm 2:
Evden dışarıya çık
Otobüs durağına yürü
Otobüsün saati geçmiş ?
Durakta gideceğin yöndeki bir sonraki otobüsü bekle
Bir sonraki otobüs gelene kadar 4. adımı uygula
Otobüsün geldiğinde otobüse bin
Biletini bilet kumbarasına at
İneceğin yere yakınlaştığında arkaya yürü
İneceğini belirten ikaz lambasına bas
Otobüs durunca in
İşyerine doğru yürü
İş yeri giriş kapısından içeriye gir
Mesai arkadaşlarınla selamlaş
İş giysini giy
İşini yapmaya başla.
Her iki örnekte görüldüğü gibi sorunu çözüme götürebilmek için gerekli olan adımlar sıralı ve açık bir biçimde belirlenmiştir. Algoritmanın herhangi bir adımındaki küçük bir yanlışlık doğru çözüme ulaşmayı engelleyebilir. Bu nedenle algoritma hazırlandıktan sonra dikkatle incelenmeli ve varsa adımlardaki yanlışlıklar düzeltilmelidir.
Programlamanın temeli olan algoritma hazırlanmasında dikkat çekici bir nokta, aynı sorunu çözmek için hazırlanabilecek olası algoritma sayısının birden çok olmasıdır. Başka deyişle, bir sorunun çözümü için birbirinden farklı birden fazla sayıda algoritma hazırlanabilir. Bu da gösteriyor ki herhangi bir problemin çözümü için birbirinden farklı yüzlerce bilgisayar programı yazılabilir.
Bir bilgisayar programı için hazırlanacak olan algoritma da aynı şekilde çözüm yolunu bilmeyen bir kişiye, çözüme ulaşmak için neler yapması gerektiği anlatılıyormuş gibi hazırlanmalı ve eksik bir nokta bırakmaksızın gerekli tüm adımları açık ve düzenli olarak içermelidir. Çözüm için kullanılacak bilgilerin nereden alınacağı, nerede saklanacağı ve çözümün program kullanıcısına nasıl ulaştırılacağı algoritma adımları arasında belirtilmelidir.
Aşağıda değişik işlemlere ilişkin algoritma örnekleri verilmiştir.
Örnek 2: İki sayıyı toplamak için gerekli programa ait algoritmanın oluşturulması.
Algoritma:
A1 :Birinci sayıyı gir
A2 :İkinci sayıyı gir
A3 :İki sayının toplamını yap
A4 :Toplamın değerini yaz
A5 :Bitir.
Bu tam bir algoritmadır. Sözcüklerin ortaya çıkaracağı yanlış anlamaların ortadan kaldırmak amacıyla semboller ve matematik dilini gerektiren bazı kısaltmalar kullanmak daha uygun olacaktır. Bir algoritma yazılırken şu metot izlenmelidir:
Programda kullanılacak elemanları temsil etmek üzere uygun isimler veya değişkenler seç.
Bazı isimlere başlangıç değeri olarak çözümün gerektirdiği uygun değerler ver.
Gerekirse programa girilecek verileri düzenle.
Cebirsel notasyon ve kararlar kullanarak aritmetik işlemleri gerçekleştir.
Çıkışı düzenle.
Bitir.
Yukarıda iki sayının toplanması için oluşturduğumuz algoritmayı bu yeni gereksinimlere uyarak yeniden yazalım.
Toplam adı için Z
Birinci Sayı için X
İkinci Sayı için Y değerleri kullanılırsa;
Algoritma:
A1 :X değerini gir
A2 :Y değerini gir
A3 :Z ¬ X+Y
A4 :Z’ yi yaz
A5 :Bitir
Görüldüğü üzere bu şekilde bir algoritma ile çözüm yolunu izlemek daha kolaydır. Bundan sonra bu tip algoritma kullanılacaktır.
A6 :Bitir
Bu örnekte Ort değeri ile iki sayının ortalaması temsil edilmiştir.
Örnek 4: Beş sayının toplamını ve ortalamasını veren programa ait algoritmanın oluşturulması
Toplam adı için Top
Ortalama adı için Ort
Girilen sayılar için X
Arttırma için Sayac kullanılırsa
Algoritma:
A1 :Top ¬ 0, Sayac ¬ 0
A2 :X’i gir
A3 :Top¬ Top+X
A4 : Sayac ¬ Sayac +1
A5 :Eğer Sayac <5 ise A2’ye git
A6 :Ort¬ Top/5
A7 :Top ve Ort değerlerini yaz
A8 :Bitir
Örnek 5: Kenar uzunlukları verilen dikdörtgenin alan hesabını yapan programa ait algoritmanın hazırlanması. Kenar uzunlukları negatif olarak girildiği durumda veri girişi tekrarlanacaktır.
Dikdörtgenin kısa kenarı : a
Dikdörtgenin uzun kenarı : b
Dikdörtgenin alanı : Alan
Algoritma:
A1 :a değerini gir
A2 :a<0 ise 1. adımı tekrarla
A3 :b değerini gir
A4 : b<0 ise 3. adımı tekrarla
A5 :Alan ¬ a*b
A6 :Alan değerini yaz
A7 :Bitir
Örnek 7: Verilen bir sayının faktöriyelini hesaplayan programın algoritmasının oluşturulması
Sayının faktöriyeli :Fak
Faktöriyel degişkeni :X
Faktöriyeli hesaplanacak sayı :Y
Algoritma:
A1 :Fak¬ 1, X¬ 0
A2 :Y’i gir
A3 :Y<0 ise 2. adımı tekrarla
A4 :X¬ X+1
A5 :Fak¬ Fak*X
A6 :X<Y ise 4. adıma geri dön
A7 :Fak değerini yaz
A8 :Bitir
Bu algoritmada 1. adımda X e 0 ve Fak değişkenine 1 değeri atanıyor. 2. adımda Y değeri giriliyor ve 3. adımda Y değerinin 0 dan küçük bir değer olup olmadığı denetleniyor ve denetim sonucuna göre gerekli komut veriliyor. 4. adımda X’in değeri 1 arttırılıyor ve 5. adımda X için Fak değeri hesaplanıyor. 6. adımda X in değerinin faktöriyeli hesaplanacak sayıdan küçük olması durumunda 4. adımdan itibaren işlemlerin tekrarlanması komutu veriliyor, X’ in değerinin Y’ye eşit olması durumunda işlemler tamamlanarak hesaplanan değerin yazdırılması işleminden sonra programın çalışması sona ermektedir.
Kaynak : http://www.batl.k12.tr/dokumanlar/ders_notlari/dokumanlar/pascal/PASCAL.doc
|