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