Page 43 - Bilgisayar Bilimi | Kur 1
P. 43

3.1.  Problem Çözme Teknikleri

               İncelediğimiz problemleri çözerken çözüm sürecine destek olan bazı yaklaşımları kullandığımızı
            fark etmişsinizdir. Programlama sürecinde de problemin çözümüne yönelik yol ve yaklaşımları belirle-
            mek gerekir, ama öncelikle genel kural ve teknikleri bilmek yararlı olabilir. Bazı genel kurallar neredeyse
            tüm problemler için kullanılabilir. Bu nedenle, bu kuralları içselleştirir ve düşünme sürecinizin bir par-
            çası hâline getirebilirseniz, herhangi bir problemi çözmeye çalışırken mutlaka bir fikriniz olur.


            3.1.1.  Her Zaman Bir Planınız Olsun

               Belirsiz bir durumu yaşamak yerine her
            zaman bir planınız olmalıdır. Bu en önemli
            kuraldır. Belki oluşturduğunuz çözüm planı
            ilk denemelerde sonuç vermeyecek ama her
            seferinde sizi çözüme biraz daha yaklaştıracak
            ipuçları elde etmenizi sağlayacaktır. Denedi-
            ğiniz yaklaşım ne olursa olsun (doğru ya da
            yanlış), fikir üretmemekten ve deneme yap-
            mamaktan her zaman daha iyidir. Planlama
            yapmak aynı zamanda hedef belirlemek ve
            bu hedefe ulaşmak anlamına gelir. Planınız
            olmazsa tek bir hedefiniz olur, o da problemi
            çözmektir. Bu durumda problemi çözene ka-
            dar herhangi bir başarı kaydetmiş olmazsınız. Dahası sadece nihai hedefe ulaşmaya çalışmak, her başa-
            rısızlıkta moralin bozulmasına neden olabilir. Ama küçük hedeflerden bile oluşan bir plan yaparsanız,
            çözüme yönelik adımlar attığınızı ve zamanı etkili biçimde kullandığınızı göreceksiniz. Her bir adımda
            kendinize güveniniz artacak ve çözüme bir adım daha yaklaşmış olacaksınız.

            3.1.2.  Problemi Tekrar İfade Edin

               Önceki problemlerde de gördüğümüz üzere bazen problemi tekrar ifade etmek, göremediğimiz bir
            ayrıntıyı görmemizi ya da problemi daha kolay çözmek adına bir ipucu yakalamamızı sağlayabilir. Hatta
            bazen probleme ilişkin bir yanlış anlamanın ortaya çıkmasına ya da hedefin daha iyi anlaşılmasına ne-
            den olur. Problemi farklı biçimlerde sunmak çözüm sürecine ışık tutmasa bile bazen yalnızca problemi
            doğru anlayıp anlamadığımızı bile teyit etmek açısından önemli olabilir. Ayrıca tekrar ifade ederek
            problemi küçük alt parçalara ayırmak gibi yaygın işlemleri de kolaylaştırmış olabiliriz.

            3.1.3.  Problemi Küçük Parçalara Ayırın

               Verilen problemi adımlara ya da bölümlere
            ayırmak çözümü kolaylaştırabilir. Bir proble-
            mi iki bölüme ayırdığımız düşünüldüğünde,
            her bir parçanın çözümünün tümünü çözme-
            ye göre yarı yarıya kolaylaştığını düşünebiliriz.
            Bu durum için sıralama örneğini ele alalım.
            Elinizde 100 tane kişisel dosya olduğunu ve
            bu dosyaları alfabetik sıraya göre dizilmesi ge-
            rektiğini düşünelim. Önce bir dosya alıp son-
            ra her aldığınızı doğru yere yerleştirerek 100
            adımda bu işlemi bitirebilirsiniz. Peki ya biri


         42
   38   39   40   41   42   43   44   45   46   47   48