Page 45 - Bilgisayar Bilimi | Kur 1
P. 45

3.1.6.  Benzerlikleri Arayın

               Burada ele aldığımız benzerlik kavramı, çözülmesi istenen problemle önceden çözülen problem ara-
            sındaki olası örtüşme ya da yeni çözüme ilham verme olarak tanımlanabilir. Benzerlik, farklı biçimlerde
            karşımıza çıkabilir. Bazen problemler aynı, değişkenler ya da veriler farklıdır. Bazen problemin belirli
            bir bölümü başka bir problemle benzerlik gösterebilir. Problem çözme sürecinde hızınızı ve becerinizi
            arttıracak en önemli yaklaşım, benzerliklerin farkına varmaktır ancak bu aynı zamanda kazanılması en
            zor beceridir. Buradaki zorluk, benzerliklerin farkına varacak kadar problem çözmek ve deneyim ka-
            zanmak gereğinden ortaya çıkmaktadır. Bu nedenle programlamaya yeni başlayanlar için bir problemi
            çözerken hazır yazılmış bir kodu bulmak ve onu güncelleyerek problemi çözmeye çalışmak son derece
            yanlıştır. Bir çözümü kendiniz üretmezseniz tamamen anlayamaz ve içselleştiremezsiniz. Ayrıca çalışan
            her bir program problemin çözümü olduğu kadar, daha sonraki problemleri çözmek için kazandığınız
            deneyimlerdir. Şu anda ne kadar yazılmış kodlar kullanarak problemleri çözerseniz gelecekte de sürekli
            bu yaklaşımı kullanacaksınız demektir.


            3.1.7.  Deneme Yapın
               Bazen bir problemi çözmenin en kolay yolu denemek ve sonuçlarını gözlemlemektir. Bu tahmin
            etmekten çok farklıdır. Bir çözümü tahminen öngörmek ile kodu yazarak denemek ve sonuçlarını in-
            celemek çok farklı sonuçlar verir. Böylece problemi çözebilmek için gerekli ipuçlarını elde edebilirsiniz.
            Denemek ara yüz tasarlarken, çizim yaparken ya da kütüphaneleri kullanırken yararlı bir yaklaşımdır.
            Diğer yandan hata ayıklama süreci de bir tür deneysel yaklaşımdır. Bir problemin çıktılarına bakarak
            sorunun nereden kaynaklandığını anlayabilir ve problemi çözebiliriz. Bu nedenle programda önemli
            noktalara aslında gerekli olmayan gözlem çıktıları ekleyerek ve sonuçları gözlemleyerek çözüme daha
            hızlı ulaşabiliriz.

            3.1.8.  Asla Vazgeçmeyin

               Asla vazgeçmemek, teknikten öte bir ilkedir. Kararlılık, güven ve istek kaybolduğu zaman açık dü-
            şünemezsiniz, işlemler olması gerektiğinden uzun sürer ve gittikçe zorlaşır. Hatta öfke ve kızgınlığa bile
            dönüşebilir. Ekrandaki program kodu çalışmadığı zaman programcı koda değil, kendisine ve aslında
            problemin kaynağına, yani kendi aklına kızmaktadır. Bu noktada moralimizin bozulmasına izin vere-
            rek, aslında başarısız olmak için bir bahane üretmiş oluruz. Bu duygudan kurtulmak programcı tara-
            fından verilecek bir karardır. Böyle durumlarda en etkili çözüm ara vermektir. Problemden tamamen
            uzaklaşarak geçirilecek vakit sonrasında çok daha verimli çalışmak olasıdır.


            3.2. Problem Çözme Adımları
               Problem çözme sürecinde en iyi kararı verebilmek için izlenmesi gereken 6 adım vardır (Şekil 1):

                 1.  Problemi Tanımlama: Problemi çözmeye başlamadan önce problemin açık, anlaşılır ve çok
                     doğru bir şekilde tanımlanmış olması gerekir. Problemin ne olduğunu bilemezseniz onu çöze-
                     mezsiniz.
                 2.  Problemi Anlama: Çözüme doğru yol almadan önce problemi çok iyi anladığınızdan emin
                     olmanız gerekir. Problemin neler içerdiğini ve kapsamını doğru anlamalısınız. Ayrıca proble-
                     mi çözmeniz gereken insan ya da sistemin bilgi tabanında neler olduğunu da çok iyi anlamalı-
                     sınız. Mevcut bilgi tabanında olmayan herhangi bir kavram ya da yönergeyi problemin çözüm
                     sürecinde kullanamazsınız. Bu konuda klasik ve önemli bir söz vardır: “Problemi anlamak,
                     problemi yarı yarıya çözmek demektir.”





         44
   40   41   42   43   44   45   46   47   48   49   50