TrPaylasim  

Geri Git   TrPaylasim > Bilgisayar ve İnternet > Program Paylaşımları > Programlama

Programlama Bilgisayar programcılığı hakkında paylaşım platformu.

Yeni Konu Aç Cevap
 
Konu Araçları Gösterim Biçimleri
Eski 30-06-2009, 01:05 AM   #1
Algoritma Nedir?
Otis Otis çevrimdışı 30-06-2009, 01:05 AM

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.
* Çikti: En azından bir değer üretilmeli.
* Açiklik: 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.
* Çikti: En azindan bir deger üretilmeli.
* Açiklik: 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.
5.
6. değerlerini yaz.
7. Dur.

alıntıdır
__________________
" O niye öyle ya "

 
Avatarı
Otis
Moderator
Katılım Tarihi: Jun 2009
Mesajlar: 927
Teşekkürler: 6
Thanked 78 Times in 67 Posts
Gösterim: 48
Alıntı Yaparak Cevapla
Cevap

Paylaş

Etiketler
algoritma, nedir

Konu Araçları
Gösterim Biçimleri

Yazım Kuralları
Yeni konu açma izniniz yok.
Mesajlara cevap yazma izniniz yok.
Mesajlarınıza dosya / resim ekleme izniniz yok.
Mesajınızı değiştirme izniniz bulunmuyor.

BB kod - Açık
Yüz İfadeleri are Açık
[IMG] kodları Açık
HTML kodları Kapalı
Trackbacks are Kapalı
Pingbacks are Kapalı
Refbacks are Kapalı

Foruma Git

Benzer Konular
Konu Konuyu Açan Forum Cevap Son Mesaj
Nedir şu AB? TrPaylasim Güncel haberler 0 01-10-2009 09:36 PM
XML Nedir? Frost Programlama 0 26-06-2009 08:30 PM
Tiyatro Nedir? Frost Sahne sanatları 0 23-06-2009 10:40 PM
C# Nedir? Frost Programlama 0 22-06-2009 01:45 AM
Felsefe Nedir? Frost Felsefe 0 21-06-2009 04:05 AM


Varsayılan Zaman Aralığı: GMT +5. Saat 03:33 AM.


Powered by vBulletin
Copyright ©2000 - 2010, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO 3.3.0
Copyright ©2009 Trpaylasim.Com
Design By Adolyer
Link Değişimi