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

sizin için 100 dosyayı A-F, G-M, N-Ş ve T-Z olacak biçimde 25 adetten oluşan 4 gruba ayırsaydı işlemi
            daha kolay yapmaz mıydık? Her seferinde tek tek harf sırasını kontrol etme işlemi, dosya sayısı çoğal-
            dıkça zorlaştığından sayıca küçük bir grupla çalışmak işlemi hızlandıracaktır. Bu nedenle bir problemi
            çözülebilir küçük parçalara bölmek, çözüm işlemini kolaylaştırır ve hızlandırır.

            3.1.4. Önce Bildiklerinizden Yola Çıkın

               Programlama yaparken öncelikle bildiklerimiz ile başlamalı ve sonra yeni çözümler arayışına girme-
            liyiz. Problemi küçük parçalara bölerek çözebildiğiniz parçadan başlayınız. Bu parçaları çözerken diğer
            parçalarla ilgili olarak aklınıza yeni fikirler geldiğini ve aynı zamanda kendinize olan güvenin arttığını
            göreceksiniz. Programlama süreci boyunca çoğu zaman çok iyi olduğunuz konular, zorlandığınız konu-
            lar ve henüz öğrenmediğiniz konular olacaktır. Bir problemin mevcut becerilerinizle çözülüp çözüleme-
            yeceğine karar vermek için problemi çok iyi incelemeniz gerekir. Böylece bilgi dağarcığınızda olmayan
            ama çözüm için gerekli olan işlemlerin farkına varabilirsiniz.

            3.1.5. Problemi Basitleştirin

               Çözmekte zorlandığınız bir problemle karşılaşırsanız problemin kapsamını daraltmayı deneyebilir-
            siniz. Bunun için koşulları azaltmayı ya da çözebileceğiniz biçime dönüştürmeyi, değişkenleri azaltmayı
            ya da problemin kapsama alanını küçültmeyi düşünebilirsiniz. Temel amacınız problemi basitçe ifade
            etmeye çalışmak olmalıdır. Çözüm için denediğiniz yaklaşımlar, size gerçek çözüm için yol gösterecek-
            tir. Problemi basitleştirmek size aslında problemdeki zorluğun neden kaynaklandığını da gösterecektir.




























            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



                                                                                                      45
   26   27   28   29   30   31   32   33   34   35   36