iyinet frmtr trkygnclr webmaster seo yarışması

Yarışma Banner
Add to Google · Digg · Post to del.icio.us · Add To Furl · Netscape · Add To My Yahooweb · Add To Reddit · Add To Netvouz
 
iyinet webmaster forumu 2008 seo yarışmasıiyinet webmaster forumu
İyinet Seo Yarışması Başladıİyinet Yarışması Başladı
Puan DurumuPuan Durumu
Google'un LogosuGoogle'un Logosu
Adsense Kazançlarınızı ArtırınAdsense Gelirinizi Artırın
Bu Bir TutkuBu Bir Tutku
Algoritma Ve YapısıAlgoritma Ve Yapısı
IPB 3.0 GeliyormuşIPB 3.0 Geliyormuş
MSI EX610 NotebookMSI EX610 Notebook
Adtech İle Seo YarışmasıAdtech İle Seo Yarışması
Ara SınavAra Sınav
Seo Yarışması HakkındaSeo Yarışması Hakkında
Googlebot Ne Görüyor?Googlebot Ne Görüyor?
Finallerimiz AçıklandıFinallerimiz Açıklandı
İyinet Seo Yarışması Ve Knight OnlineYarışma Ve Knight Online
Sıralama AlgoritmalarıSıralama Algoritmaları
14 Temmuz Seo Yarışması GelişmeleriSeo Yarışması Gelişmeleri
Turbo Pascal ProgramlamaTurbo Pascal Programı
Sponsorluk FeshiSponsorluk Feshi
Alexa Rank GüncellemesiAlexa Rank Güncellemesi
22 Mart 200822 Mart 2008
MSI EX610 Ufak Bir SorunMSI EX610 Ufak Bir Sorun
Yağmurlu Bir GünYağmurlu Bir Gün
Durgun Bir Gün - SEODurgun Bir Gün - SEO
Söylev(Nutuk) Nedir?Söylev(Nutuk) Nedir?
Listeleme ProsedürüListeleme Prosedürü
Tekrar BirinciyimTekrar Birinciyim
Bugün Benim Doğum GünümBugün Doğum Günüm
Seo Yarışması İncelemelerimSeo Yarışması İncelemesi
Border Defense WarBorder Defense War
Travian Açıklama Ve IHSTravian Açıklamalar Ve IHS
Arkadaşlarımla BuluşmamArkadaşlarımla Buluşmam
Veritabanı SınavıVeritabanı Sınavı
iyinet webmaster forumuiyinet webmaster forumu
 

Algoritma

Bu yazımızda, bilgisayar biliminin en temel kavramlarından biri olan algoritmalar hakkında bilgi vermeye çalışacağız. Algortima sözcüğü, 9. yüzyılda yaşamış ünlü matematikçi el Harezmi'den gelmektedir. Cebir ve algoritmalarla ilgili dünyanın ilk kitabını yazan el Harezmi (Al-Khwārizmī)'nin adı, batılılar tarafından algorizma şeklinde telaffuz edilmiş ve daha sonra bu kavrama isim olarak verilmiştir.

Dilerseniz, detaylı bir açıklama yapmadan önce, sözcüğün kısa bir tanımı ile başlayalım. Görüş birliğine varılmış kesin bir tanımı olmamakla beraber, algoritmayı, belli bir sonuca ulaşmak için tasarlanmış, sistematik işlemler dizisi olarak ifade edebiliriz.

Verdiğimiz tanımdan yola çıkarak şunları söyleyebiliriz: Bir algoritma, içinde bulunduğumuz bir başlangıç durumundan, hedefimiz olan bir bitiş durumuna ulaşmamız için kullanılır. Bize ne yapılması gerektiğini adım adım ve açık bir biçimde anlatması gerekir ve çeşitli yöntemlerle ifade edilebilir. Şimdi, bir algoritmanın neye benzediğini daha iyi anlayabilmek için somut örnekler verelim.

Gündelik Hayatta Algoritmalar

Gündelik hayatımızda, belli bir amaca ulaşmak için yaptığımız işlerde bilerek ya da bilmeyerek çeşitli "algoritmalar" uygularız. Örneğin, bir omlet yapmak istediğimizi varsayalım. Elimizde yumurta, peynir, yağ, tuz ve diğer malzemelerimiz var. Bu içinde bulunduğumuz durum. Ulaşmamız gereken durumda ise pişmiş bir yumurtamız olsun istiyoruz. Algoritmamızı açıklayabilmek için, başlangıç durumundan bitişe kadar yapmamız gereken işlemleri adım adım tarif etmemiz gerekiyor. Bu adımları aşağıdaki gibi gösterebiliriz.

  1. İki adet yumurtayı bir kabın içine kır
  2. Yumurtayı birkaç saniye çırp
  3. Yumurta homojen hale gelmişse 4. adıma geç. Yoksa 2. adıma geri dön
  4. Çırpılmış yumurtaya tuz ve peynir ekle
  5. Karışık omlet isteniyorsa, yumurtaya sosis de ekle
  6. Tavaya yağ dök ve ocağa koy
  7. Çırpılmış yumurtayı tavaya koy
  8. Yumurtayı bir miktar pişir
  9. Yumurta katılaştıysa 10. adıma geç. Yoksa 8. adıma geri dön
  10. Pişen yumurtayı tabaklara servis et

Örnekte görüldüğü gibi, algoritma, yapılacak işi adım adım açıklıyor. Normalde sırayla giden adımlar, belli durumlarda değişiklik gösterebiliyor. Bu değişiklik, koşul cümleleri ve döngüler ile gerçekleştiriliyor. Örneğin, beşinci adımdaki "karışık omlet istenmesi" koşulu gerçekleşirse, "yumurtaya sosis ekleme" işlemi yapılıyor. Yoksa bu adım atlanıyor. Ayrıca, 2-3 ve 8-9 adımları döngü olarak gösterilebilir. Örneğin, "yumurtayı gereği kadar pişirmek" için 8. adım sürekli olarak tekrar ediliyor. Bu döngüden çıkabilmek için de bulunduğumuz durum, 9. adımdaki koşul cümlesiyle kontrol ediliyor.

Bilgisayar Dünyasında Algoritmalar

Algoritmalar, çeşitli şekillerde uygulama alanı bulurlar. Örneğin, bir önceki örnekte olduğu gibi insanlar tarafından uygulanabilirler. Algoritmaların insan beyni tarafından kullanılması, biyolojik sinir ağlarında kullanımına örnektir. Bunun yanısıra bir algoritmayı uygulayarak belli bir işi yapan elektronik devreler ve mekanik cihazlar da geliştirilebilir.

Algoritmaların hayat bulduğu en önemli alan ise bilgisayar yazılımlarıdır. Bilgisayarlara istediğimiz bir işi yaptırabilmek için, yapılacak işin basamaklarını net bir biçimde tarif etmemiz gerekir. Bu tarif etme işlemi, algoritmaların belli bir programlama dili kullanarak ifade edildiği bilgisayar yazılımları ile gerçekleşir. Bu da algoritmaların, bilgisayar biliminde neden bu kadar önemli bir yeri olduğunu açıklar.

Şimdi, algoritmaların bilgisayar dünyasında kullanımına örnek olarak, matematiksel bir problemi ele alalım. Algoritmamız, faktöriyel hesaplama işine yarasın. Yani, bize verilen bir pozitif tamsayıyı (n) kullanarak, bu sayının faktöriyelini (1'den n'e kadar olan sayıların çarpımı) bulsun. Yapılması gereken işlem gayet açık olsa da bir algoritma ortaya koyabilmemiz için adımları net bir biçimde ifade etmemiz gerekir. Bunu şu şekilde gerçekleştirebiliriz:

Akis Diyagrami
  1. Kullanıcıdan klavye aracılığıyla n sayısını al
  2. k ve carpim sayılarını 1'e eşitle
  3. carpim sayısını k ile çarp (carpim carpim*k)
  4. k sayısını 1 arttır
  5. k sayısı, n'den büyükse sonraki adıma geç, değilse 3. adıma geri dön
  6. carpim sayısını ekrana yazdır

Algoritmaları İfade Etme Yolları

Algoritmaların farklı ifade edilme yöntemleri vardır. Yukarıda gördüğünüz, yapılacak işlemin adımlar halinde, gündelik dil kullanılarak ifade edildiği yöntemdir. Bunun dışında, sağdaki örnekte olduğu gibi, algoritmalar grafiksel olarak da ifade edilebilir. Görsel olarak anlamayı kolaylaştırmayı sağlayan bu grafiklere, akış diyagramı ya da akış şeması adı verilir.

Algoritmaların, direk kullanılabilmesini de sağlamak için, çeşitli programlama dillerinde kodlayarak ifade edebiliriz. Bu gösterim, algoritmanın detaylarını net bir şekilde ifade etmekle birlikte, direk bilgisayar tarafından da yorumlanıp kullanılabilir. Örneğin, faktöriyel fonksiyonunun C dilindeki uygulaması (C implementasyonu) aşağıda gösterilmiştir:

unsigned int fact(unsigned int n) {
    unsigned int carpim=1, k=1;
    while (k < n) {
        k++;
        carpim *= k;
    }
    return carpim;
}

Bu yöntemler dışında algoritmaları sözde kodlarla veya formal gösterimleriyle de ifade edebiliriz. Sözde kodlar, algoritmaların herhangi bir programlama diline bağlı kalmadan, genel ifadelerle ama bilgisayar diline yakın bir biçimde gösterimidir. Formal gösterim ise, bir Turing makinesinin durum tablosu (state table) ve durum değiştirme fonksiyonunun (transition function) gösterilmesidir. Bu tablolara bakarak, söz konusu algoritmanın işletilmesini sağlayacak bir Turing makinesi yapılabilir. Bu konunun daha fazla ayrıntısına girmiyor ve sonraki yazılarımıza bırakıyoruz.

Algoritma Türleri

Algoritmaları, kullanım alanlarına, karmaşıklıklarına (complexity), tasarım yöntemlerine (design paradigm) ve uygulama şekillerine (implementation) göre çeşitli türlere ayırabiliriz. Kullanım alanlarına göre birkaç algoritma türü aşağıda verilmiştir:

  • Sıralama algoritamları
  • Arama algoritamları
  • Graph algoritamları
  • Şifreleme algoritmaları
  • Sıkıştırma algoritmaları
  • Metin işleme algoritmaları

Yazar: Murat Ongan - ODTÜ Bilgisayar Topluluğu
Bu yazı, e-bergi / Şubat 2008 sayısından alınmıştır.
Saat03 2010 Cuma
5:39 AM
Sayfa 0.334 saniye oluşturuldu.
Sayfayı Yazdır
 
 
Seo YarışmasıSeo Yarışması
Önemsiz Bir GünÖnemsiz Bir Gün
ConstantineConstantine
www.r10.net Global Warmwww.r10.net Global Warm
Sıradan Bir GünSıradan Bir Gün
Askerlerimizi Kim KurtaracakAskerleri Kim Kurtaracak?
Bilimsel Hesap MakinesiBilimsel Hesap Makinesi
4 Gün Tatil4 Gün Tatil
Pageranklar GüncellendiPageranklar Güncellendi
Pageranklar DeğerlerimizPageranklar Değerlerimiz
www.r10.net Menemenwww.r10.net Menemen
Seo YarışmasıKazanan Uğur
Geçmek Bilmeyen GünlerGeçmek Bilmeyen Günler
Seo Yarışması Ve UPSSeo Yarışması Ve UPS
Yeşil Yahoo Ve www.r10.netYeşil Yahoo - www.r10.net
IPB Seo CommunityIPB Seo Community
Seo Yarışması Ve AlexaAlexa Rankı Yükseltmek
Üniversiteye Kayıt OldumÜniversiteye Kayıt Oldum
Seo Yarışması Mola VaktiSeo Yarışması Mola Vakti
Algoritma DeğişikliğiAlgoritma Değişikliği
Tercih Sonuçları AçıklandıTercih Sonuçları Açıklandı
Seo Yarışması DeğerlendirmeYarışma Değerlendirmesi
Seo Yarışması Ziyaretçi VerileriSeo Yarışması Verileri
Frindly Url ile Community SeoFrindly Url - Communityseo
www.r10.net Sıradan Günwww.r10.net Sıradan Gün
Googledan Yeni MetatagGoogle'dan Yeni Metatag
İndexler Hızla Artıyorİndexler Hızla Artıyor
DrcetinerdotorgDrcetinerdotorg
Imperia OnlineImperia Online
Seo Yarışması DevamıSeo Yarışması Devamı
Tüm Hakları Saklıdır. ©
iyinet webmaster forumu 2008 seo yarışması
Yasal Yükümlülükler | Site Haritası | Sık Kullanılanlara Ekleyin | Ana Sayfam Yap | URL List | RSS | iyinet
Anahtar kelime : iyinet webmaster forumu 2008 seo yarışması. Katılımcılar iyinet webmaster forumu 2008 seo yarışması kelimesinde yarışacaklar.
Yukarı Çık