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