logo
Hoşgeldiniz! Forumun bütün özelliklerini kullanmak için lütfen Giriş ya da Kayıt.

Bildirim

Icon
Error

Algoritma Nedir?
@butun Offline
#1 Gönderildi : 04 Temmuz 2010 Pazar 12:35:30(UTC)
@butun



Sıralama: Yönetici

Madalyalar:
Anahtar Kişi: Forumda anahtar rol oynayan kullanıcılara verilirAltın Madalya: Forumda üstün hizmetleri olan kullanıcılara verilirKod Erişimi: Forum kodlarına doğrudan erişimi bulunan kullanıcılara verilirVeritabanı Erişimi: Forum veri tabanına doğrudan erişimi olan kullanıcılara verilirSistemin Efendisi: Sisteminin tamamına hükmeden kullanıcılara verilir

Mesajlar: 1,838
Puanlar: 12,640
Konum: Istanbul

Thanks: 12 times
17 Mesajına Toplam 25 Kere Teşekkür Edildi.


Kullanılan programlama dili ne olursa olsun, yazılacak programın akışı tektir. Problem çözme mantığı iyice kavranınca program yazmak kolaylaşır.



Algoritma Nedir?

Bir problemin ideal çözümüne giden yola algoritma denir. Yazılacak programın dili değil de, algoritması en önemli kısmıdır. Programı çalıştıracak algoritmayı en iyi şekilde çözümledikten sonra, kullanılacak dilin yapısına göre kodlama aşamasına geçilir.



Programlama ihtiyacı duyulan her konuda, çözümleri koda aktarırken en temel algoritmalar kullanılır. Örneğin bir listenin sıralanması işleminde, sıralama algoritması kullanılmalıdır. Veya bir liste içinde en yüksek sayısal değeri bulmak için programcı en büyük elemanı bulma algoritmasını kullanmalıdır.



Algoritma belirli bir görevi yerine getiren sonlu sayıdaki işlemler dizisidir.

Her algoritma aşağıdaki kriterleri sağlamalıdır:



  • Girdi: Sıfır veya daha fazla değer dışarıdan verilmeli.

  • Çıktı: En azından bir değer üretilmeli.

  • Açıklık: Her işlem (komut) açık olmalı ve farklı anlamlar içermemeli.

  • Sonluluk: Her türlü olasılık için algoritma sonlu adımda bitmeli.

  • Etkinlik: Her komut kişinin kalem ve kağıt ile yürütebileceği kadar basit olmalıdır.


Her program için sonluluk özelliği geçerli değildir. Örneğin isletim sistemleri sonsuza dek çalışan programlara örnektir.



Bir dizi içerisindeki en büyük sayıyı bulmak için izlenecek yol şu şekilde olabilir:



  • Dizinin ilk elemanı en büyük sayı kabul edilir.

  • Bir sonraki eleman ile karşılaştırılır.

  • Eğer karlılaştırılan eleman daha büyükse, artık en büyük eleman odur.

  • Dizi sonlana kadar bu işleme devam edilir.


En küçük elemanı bulmak için ise yine benzer bir yöntem izlenir.



  • Dizinin ilk elemanı en küçük sayı kabul edilir.

  • Bir sonraki eleman ile karşılaştırılır.

  • Eğer karlılaştırılan eleman daha küçükse, artık en küçük eleman odur.

  • Dizi sonlana kadar bu işleme devam edilir.


Algoritma belirli bir görevi yerine getiren sonlu sayidaki islemler dizisidir.

Her algoritma asagidaki kriterleri saglamalidir.



  • Girdi: Sifir veya daha fazla deger disaridan verilmeli.

  • Çıktı: En azindan bir deger üretilmeli.

  • Açıklık: Her islem (komut) açik olmali ve farkli anlamlar içermemeli.

  • Sonluluk: Her türlü olasilik için algoritma sonlu adimda bitmeli.

  • Etkinlik: Her komut kisinin kalem ve kagit ile yürütebilecegi kadar basit olmalidir.


Her program için sonluluk özelliği geçerli değildir. Örneğin isletim sistemleri sonsuza dek çalisan programlara örnektir.


Örnek: 1′den 100′e kadar olan sayilarin toplamini veren algoritma.



  1. Toplam T, sayilar da i diye çagirilsin.

  2. Baslangiçta T’nin degeri 0 ve i’nin degeri 1 olsun.

  3. i’nin degerini T’ye ekle.

  4. i’nin degerini 1 arttir.

  5. Eger i’nin degeri 100′den büyük degil ise 3. adima git.

  6. T’nin degerini yaz.


Algoritmaların yazim dili değişik olabilir. Günlük konuşma diline yakın bir dil olabilecegi gibi simgelere dayalı da olabilir. Akış şeması eskiden beri kullanıla gelen bir yapıdır. Algoritmayı yazarken farklı anlamlar taşıyan değişik şekildeki kutulardan yararlanılır. Yine aynı amaç için kullanılan programlama diline yakın bir (sözde kod = pseudo code) dil , bu kendimize özgü de olabilir, kullanılabilir.



Aynı algoritmayı asağıdaki gibi yazabiliriz:



  1. T=0 ve i=0

  2. i’nin degerini T’ye ekle.

  3. i’yi 1 arttir.

  4. i<101 ise 2.adıma git.

  5. T’nin değerini yaz.


Algoritmayı bir de akış şemasi ile gerçekleyelim.


Örnek : ax 2 +bx+c=0 tipi bir denklemin köklerini veren algoritma.



  • Girdi : a, b ve c katsayilari Çikti : denklemin kökleri

    1. a, b ve c katsayilarini al.

    2. D = b 2 -4ac degerini hesapla.

    3. D<0 ise gerçel kök yok. 7. adima git.



    4. değerlerini yaz.

    5. Dur.




Bu konudaki kullanıcılar
Ziyaretçi
Forumu Atla  
Bu foruma yeni konular postalayamazsınız.
Bu forumda ki konulara yeni posta gönderemezsiniz.
Bu forumdaki postalarınızı silemezsiniz.
Bu forumdaki postalarınızı düzenleyemezsiniz.
Bu forumda anketler yaratamazsınız.
Bu forumdaki anketlere oy veremezsiniz.