Gönderen Konu: Algoritma  (Okunma sayısı 14699 defa)

Çevrimdışı exclusive

  • Acemi Üye
  • **
  • İleti: 74
    • Profili Görüntüle
Algoritma
« : 31 Mayıs 2008, 21:22:26 »
Programlama dillerinde bir program yazarken yapilan her isleme komut ve bu komutlarin bütününe de programin kodu denilir. Yani biz bir programi kodlariz. Ancak bu kodlari belirli sirada ve düzende vermek zorundayiz. Yoksa pek de akilli olmayan bilgisayarimiz bunlari kendine göre siraya koyamaz. Biz ona hangi islemi ne zaman yapacagini söyleriz. Gerekirse bazi komutlari hiç isleme sokmamasini, bir komutu birden çok defa icra etmesini ya da belirli sartlarda ne yapmasi gerektigini bilgisayara anlatmak için bir düzen içinde kodlarimizi yazmaliyiz. Iste bu düzene programin akisi ve bu akisin tamamina da programin algoritmasi denilir.

Çok akilli bir robot düsünelim. Bu robot sesle çalissin. O zaman her sözümüz robot için bir komuttur. Robota egil dersek egilir. Bu onun için bir komuttur. Ancak robottan yerdeki kalemi size vermesini isteyecekseniz belki birden fazla komut kullanmak zorundasiniz. Mesela bu örnek için robota 4 tane komutu söyle verebilirsiniz:

1) Egil.
2) Kalemi al.
3) Ayaga kalk.
4) Kalemi bana ver.


Bu seklide verdiginiz 4 komutun tümüne birden program diyebiliriz. Mesela bu robotun programlanabilir özelligi de olsun. Siz bu robota bu 4 komutu birden ögretip de bundan sonra her "kalemi ver" dediginizde bu isi yapmasini saglayabilirsiniz. Bundan robot, sonra siz "kalemi ver" komutunu söyleyince hemen daha önceki programi çalistirir ve bu 4 islemi yaparak sonuçta kalemi size verir. Peki programdaki 3. satirla 2. satiri yer degistirirseniz robot ne yapar. Egilir kalkar ve kalemi almaya çalisir ama kalem yerde oldugundan alamaz ve komutunuz dogru çalismaz. Dogru çalismasi için yukardaki sirada verilmelidir. Iste bu robotunuzun kalem verme algoritmasidir.

Daha anlasilir ve günlük hayatta çok kullandigimiz bir örnek verelim. Mesela kis ayindayiz ve evden disari çikacagiz. Pencereden bakiyoruz. Hava yagmurluysa semsiyemizi alalim, degilse almayalim ve disari çikalim. Bu isin algoritmasini örnegin 2 yolla kurabiliriz. 1.'si:

1) Pencereden disari bak.
2) Eger hava yagmurluysa semsiyeni al.
3) Disari çik.


Bir kisiye bu üç komutu verirseniz hemen pencereden disari bakar ve eger hava yagmurluysa semsiyesini alir ve sonra disari çikar. Dikkat ettiyseniz "Eger hava yagmurlu degilse" gibi bir sart yok. Zaten 2. sart yanlissa 3. adima geçeceginden semsiyesiz olarak disari çikmis olur. Bu olayi birde su algoritma ile yapalim:

1) Pencereden disari bak.
2) Eger hava yagmurlu degilse 4. adima geç.
3) Semsiyeni al.
4) Disari çik.


Gördügünüz gibi ayni isi 2 farkli algoritma ile yaptik. Dikkat ederseniz iki islemin de ayni sonucu verecegini görürsünüz. Bu sefer tersten yaptik isi. 2. adim bir karar verme adimidir ve eger hava yagmurlu degilse 4. adima geçmeye karar veriyor, 3. adim yapilmamis (atlanmis) oluyor ve semsiye alinmadan disari çikiliyor. Eger 2. adimdaki sart yanlissa, yani hava yagmurluysa 4. adima geçmiyor ve 3. adimdan devam ediyor islemlere. Bu durumda semsiye de alinmis oluyor.

Buraya kadar okuduklarimiza göre programciyi "Problemi analiz eden ve onu bir programlama dili ile bilgisayara anlatan, yazan, programlayan kisi" olarak tanimlayabiliriz. Algoritma ise "Programcinin Problemi analiz ettikten sonra onu en kisa ve en hizli çözmek için gelistirdigi yoldur".

Artik genel olarak algoritmayi anlamis olduk. Pascal'da Programlamayi anlatirken de yeri geldikçe algoritmalardan yararlanacagiz. Sunu unutmayalim ki iyi bir program önceden tasarlanmis ve bütün kullanim amaçlari belirlenmis programdir. Aksi takdirde isimiz hizlanacagina yavaslayabilir de..

Mühendis Forum

Algoritma
« : 31 Mayıs 2008, 21:22:26 »

Çevrimdışı DesTroYeR

  • Yeni Üye
  • *
  • İleti: 2
    • Profili Görüntüle
Ynt: Algoritma
« Yanıtla #1 : 12 Eylül 2008, 12:01:33 »
Ancak bu kadar güzel anlatýlabilir =)

Mühendis Forum

Ynt: Algoritma
« Yanıtla #1 : 12 Eylül 2008, 12:01:33 »

Çevrimdışı NURULLAHIM

  • Yeni Üye
  • *
  • İleti: 6
    • Profili Görüntüle
Ynt: Algoritma
« Yanıtla #2 : 30 Ocak 2009, 23:17:39 »
Arkadaþým ben Ankara Çankaya Halk Eðitim Merkezinde geçtiðimiz yýl (2008) yazýnda web tasarým kursu aldým fakat dreamweawer ve photoshop dýþýnda bir þey öðrenmedik neflaþ nede java sence bunlarýn yanýnda web programcýlýðýda almam gerekir mi.?
NE SENLE NEDE SENSÝZ

Çevrimdışı hcengiz

  • Yönetici
  • Yeni Üye
  • *****
  • İleti: 44
    • Profili Görüntüle
Ynt: Algoritma
« Yanıtla #3 : 03 Şubat 2009, 03:17:03 »
ne yapmak istedigine bagli. iki ornek:
-Sadece firmani ya da kendini tanitan, iletisim bilgilerini, adresini, birkac fotografla beraber guzel bir sekilde ziyaretcilere sunmak istersen Dreamweaver bu isi cozer.
-Firma bilgilerinin yaninda internetten urunlerini de satmak istersen o zaman Java, ASP.NET gibi web teknolojilerini kullanarak satistan ziyaretci bilgilerini tutmaya, envanter bilgilerinden postalamaya kadar karmasik isleri halledebilecegin bir dil ogrenmen gerekir.

Çevrimdışı Master01

  • Yeni Üye
  • *
  • İleti: 3
    • Profili Görüntüle
Ynt: Algoritma
« Yanıtla #4 : 24 Nisan 2009, 21:39:19 »
Cok güzel anlatým teþekkürler :)

Çevrimdışı itech.burakgunduz

  • Yeni Üye
  • *
  • İleti: 11
  • C++ Programlama
    • Profili Görüntüle
Ynt: Algoritma
« Yanıtla #5 : 12 Mart 2011, 21:44:26 »
Gayet iyi anlatým olmuþ.
Ellerinize saðlýk.
Ýyi akþamlar ve baþarýlar dilerim..
C++ Programlama Dili