Page 30 - Bilgisayar Bilimi Kur 1| I. Bölüm
P. 30

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ıdır. 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 önemlidir. 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ırır. Bir problemi
            iki bölüme ayırdığımız düşünüldüğünde, her
            bir parçanın çözümünün tümünü çözmeye
            göre yarı yarıya kolaylaştığını düşünebiliriz.
            Bu durum için sıralama örneğini ele alalım.
            Elinizde  100  kişisel  dosya olduğunu ve  bu
            dosyaların 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


         44
   25   26   27   28   29   30   31   32   33   34   35