Skip to content

Blog: Yazı Ana Blog Sayfasına Geri Dön

Algoritmalara Giriş - 1

Sıradan bir günde bile bazısı önemsiz, bazısı önemli birçok karar verirsiniz (karar alırsınız). Bu kararları vermenizdeki etkenleri hiç düşündünüz mü? Kahvaltınızda ilk lokmayı neyden alacağınıza nasıl karar veriyorsunuz? Diyelim ki peynir yediniz. Sofrada ilk olarak peyniri gördüğünüz için mi, size en yakın olan kahvaltılık peynir olduğu için mi yoksa canınız en çok peynir istediği için mi peyniri seçtiniz? Ya da hiçbir neden yok mu ortada? Hayır, mutlaka bir neden olmalı! Bir gün bir yolculuğa çıkacaksınız. Bulunduğunuz yerle bulunmak istediğiniz yer arasındaki birçok yoldan en az ve en çok birini (ancak ve ancak birini) seçmelisiniz. Hangisini seçeceksiniz? En kısa yolu mu? Ya güvenli değilse? En güvenli yolu mu? Ya çok uzunsa? Yeterince güvenli olan en kısa yolu mu? Böylesi daha iyi. Bunun için izlenebilecek adımlar: 1. Bütün yolları listeleyin. 2. Güvensiz yolları eleyin. 3. Kalan yollar içinden en kısa olanını seçin. Tabii önceden bütün yolları tespit etmeniz; yolların uzunluğunu hesaplamanız ve yolların her birinin güvenli olup olmadığına “karar verme”niz lazım. Bunları nasıl yapacağınız ise ayrı bir problem! Bir de şunu deneyin, böylesi de mümkün: 1. Bütün yolları listeleyin. 2. En kısa yolu belirleyin. 3. Eğer bulduğunuz yol güvenli ise bu yolu seçin: İşlem tamamlandı (4. adımı atlayın). 4. Eğer bulduğunuz yol güvenli değil ise yol listesinden bu yolu silip 2. adıma geri dönün. Kahvaltı örneğine dönelim. İnsan gibi beslenen bir robot olduğumu düşünün. Önce peynir mi yoksa zeytin mi yemem gerektiğini aptala anlatırmış gibi anlatın! “Fark etmez” diye bir açıklamayı kabul edemem; çünkü sonuçları önemsiz de olsa bir karar vermek zorundayım. Kahvaltı yapmalıyım, yardım edin! BİLGİSAYAR APTAL BİR MAKİNEDİR Bilgisayarlar çok hızlı hesaplama yapabilir. Ama bu onların akıllı olduğu anlamına gelmez: Bilgisayar aptal bir makinedir. Ama emirlere uyar! Bir bilgisayara her zaman ne yapması gerektiğini bütün ayrıntılarıyla birlikte çok açık (yanlış anlaşılma ihtimali olmayacak) bir şekilde onun dilinde anlatmanız gerekir. Bir aptala laf anlattığınızı unutmayın. Ama sonuçta, anladığı her şeyi, sorgusuz sualsiz yapacaktır. Bir “tık” ile bilgisayara çok ve büyük işler yaptırabilirsiniz. Fakat unutmayın ki bu, bilgisayarın değil programcının marifetidir. O “tık” olduğunda bilgisayarın ne yapması gerektiğini bir programcı daha önceden bilgisayara anlatmıştır (yani bilgisayarı programlamıştır). Maalesef bilgisayarlar Türk dilini bilmiyor. Ama Java dilini biliyorlar (Java bir programlama dili), siz de öğrenirseniz bilgisayarlarla anlaşabilirsiniz! ROBOTUN EKMEK VE YUMURTA İLE İMTİHANI Robot Nasni anlatıyor: “Sahip, bana ‘Nasni, lütfen markete git ve 5 tane yumurta al. Ekmek tazeyse 2 tane al’ dedi. Elimde 2 yumurta ile döndüğümde bana kızdı. Neden kızdığını anlayamadım. Ekmek tazeyse 2 yumurta almamı söylemedi mi!?” ( Artık bilgisayarlar gibi düşünmeye başlamış bir programcı da benzer problemler yaşayabilir :) ) 2. yazıda görüşmek üzere...

Yazar Hakkında

Ersin Ç.

Ersin Ç.

Dahi Çocuk Eğitmeni

  • Balçova, İzmir
  • Matematik, Bilgisayar Müh., C++, Java, Programlama, Python, Yapay Zeka, Üstün Yetenekli Çocuklar
  • Tüm İzmir
  • 1 TL/Saat
  • 2015'den bu yana üye
  • Bugün
  • Offline

Başarı Hikayeleri

Ozelders.com sayesinde Ms Office ve Web tasarım konusunda ders almak isteyen birçok kişiyle tanıştım, tanışmaya da devam ediyorum. Teşekkürler Ozelders.com.

Pelin Ç. - İstanbul