İnsanlık, varoluşundan beri çeşitli problemlerle karşılaşmış ve bu problemlere çözüm üretmeye çalışmıştır. Örneğin bilgiyi kalıcı hâle getirmek için yazıyı bulmuştur. Mağara duvarlarına ya da kil tabletlere yazılan çivi yazıları bilginin kalıcılığını sağlamış ancak taşıma güçlüğü ortaya çıkmıştır. Bu problemi çözmek için papirüsler¹ icat edilmiştir. Daha sonra karşılaşılan her probleme yeni çözümler geliştirilerek günümüzdeki kâğıt ve kalemler üretilmiştir. Çözülmesi gereken problemlerin geçmişte kaldığını söylemek mümkün değildir. İnsanoğlu yaşam boyu çeşitli problemlerle karşılaşır. Bu problemleri çözme becerisi kazanmak oldukça önemlidir. Bu bölümde öncelikle problemin ne olduğundan ve problemi çözerken nasıl bir yol izlenmesi gerektiğinden bahsedilecektir. Günümüzde birçok problemi çözmek için bilgisayarlardan faydalanılır. Ancak bilgisayarlar problemi nasıl çözeceğini bilmez. Bir bilgisayarın problem çözebilmesi için işlem adımlarının belirlenmesi ve bunun bilgisayara yüklenmesi gerekmektedir. Algoritmalar bu sürecin ilk adımını oluşturur. Bölümün ilerleyen kısımlarında algoritmalar ve algoritmaların şekillerle ifade edildiği akış diyagramları anlatılacaktır.
Problem
Karşılaşılabilecek soruna veya çözülmesi gereken duruma problem denir. Örneğin; sınav esnasında kalem ucunun bitmesi, internetten alınan ayakkabının küçük gelmesi, okula geç kalınması, bilmediğimiz bir yere ilk defa gidilecek olunması gibi çözüm aranması gereken durumlar günlük hayatta karşılaşılabilecek problemlerdir
Problem Çözme Süreci
Sabah okula gitmek için bindiğiniz otobüsün arıza yapması, teslim tarihi gelmiş olan ödevinizi evde unutmanız veya siz evde değilken gelen kargo görevlisinin sizi evde bulamamış olması bir problem midir? Sizin için bunlar birer problemse nasıl çözülebilir?
Bu Yazımızda Okuyun : Algoritmalarla Çalışmanın Önemi
Bir problemi çözmesi beklenen alternatif yollar arasından en doğru olanı
seçebilmeye problem çözme denir.
Problemi ortaya koyma aşamasından, problemin çözümünün tamamlanmasına kadar geçen zaman ise problem çözme süreci olarak adlandırılır.
Problemleri çözmek için genellikle iki farklı yöntem kullanılır:
Deneme yanılma ya da tahminde bulunma yoluyla çözme
Algoritma geliştirme yoluyla çözme
Günlük hayatta karşılaşılan bazı problemler öngörülebilir olmadığı gibi bu problemlerin tek bir çözümü de yoktur. Bu gibi problemleri belli adımlar takip ederek çözmek mümkün değildir. Örneğin yemek pişirilirken ne kadar tuz koyulması gerektiği ya da yemeğin ne kadar süre pişirilmesi gerektiği deneme yanılma yoluyla bulunabilir. Çünkü bu soruların cevabı kişiden kişiye değişiklik gösterecektir. Ancak bilgisayarlar aracılığıyla çözmek istediğimiz problemlerin çözüm adımlarının, önceden belirgin bir şekilde ortaya konulması gerekir. Bu amaçla hazırlanan yönergelere algoritma denir. Algoritmalar bir problemi çözmek veya belirli bir işi yapmak için adım adım tanımlanmış işlemler kümesidir. Problem çözme sürecini kolaylaştırmak ve hata yapma ihtimalini azaltmak için öncelikle mevcut durumun problem olup olmadığına karar verilmeli ve problem net olarak ortaya konulmalıdır.
Problem net bir şekilde ortaya konulup iyi analiz edildikten sonra çözüm için uygun planlamalar yapılmalıdır. Daha sonra çözüm için farklı yollar düşünülüp bu çözüm yolları arasından uygun olabilecek çözüm yolu seçilmelidir. Problem çözüldükten sonra kontrol edilmelidir.
Bu Yazımızda Okuyun : Neden Algoritmaları Öğrenmeliyim? Tam Olarak Nedir ve Neye Yardımcı Olurlar?
PROBLEM ÇÖZME SÜRECİ
Her bir aşamada yapılması gereken işlemler aşağıda açıklanmıştır.
Problemi tanımlama: Problemin ne olduğu belirgin bir şekilde ortaya konulmalıdır.
Problemi anlama: Problemin kaynağının ne olduğu ve problem çözüldükten sonra beklenen faydalar
belirlenmelidir. Bir problem ne kadar iyi anlaşılırsa çözümü o kadar kolay olacaktır.
Alternatif çözüm yollarını belirleme: Problemi çözmesi beklenen tüm alternatifler sıralanmalıdır.
En uygun çözümü seçme: Bir önceki adımda belirlenen alternatifler arasından en uygun olanının seçilmesi gerekir. Bunun için alternatiflerin artıları ve eksileri yazılabilir. Çoğu zaman çözüme en hızlı ulaştıran
alternatif doğru çözüm olarak görünse de bu durum her zaman geçerli değildir. En hızlı çözümün güvenli
olmadığı, maliyet açısından kabul edilebilir olmadığı ya da uzun ömürlü olmadığı durumlar ortaya çıkabilir. Böyle durumlarda tüm faktörler göz önünde bulundurularak en uygun çözüm seçilmelidir.
Çözümü uygulama: Bir önceki adımda belirlenen çözüm yöntemi kullanılarak problemi çözme işi gerçekleştirilir. Çözüm adımlarının kafa karışıklığına yol açmayacak bir şekilde ortaya konulması gerekir.
Çözümü test etme: Uygulanan çözümün beklentileri yerine getirip getirmediği test edilmelidir. Uygulanan çözümün hataları varsa bunları gidermek için önceki işlem basamaklarına dönülmesi gerekebilir.
Örnek 1: Sabahları okula geç kalma problemini, problem çözme adımlarını kullanarak çözmeye çalışalım.
Problemi tanımlama: Okula geç kalma durumunun bir problem olduğunun farkına varılması problemi tanımlama aşamasıdır.
Problemi anlama: Problemin kaynağının ne olduğu tespit edilmelidir. Geç kalmaya birçok şey neden olabilir. Bunlar; uygun ulaşım alternatifini seçmeme, geç uyumaya bağlı geç uyanma hazırlanma aşamasının uzun sürmesi, okulun çok uzak olması vs. Akşamları bilgisayarda çok fazla oyun oynamaktan kaynaklı geç yatılabildiği, bu nedenle okula geç kalındığı düşünülerek buna yönelik bir çözüm bulmaya çalışılmalıdır.
Bu Yazımızda Okuyun : Veri Yapılarında Kullanılan Temel Terminolojiler Nelerdir ?
Alternatif çözüm yolları belirleme: Bu problemi çözmek için aşağıdaki alternatifler kullanılabilr.
Bilgisayarı evden çıkarmak
Ebeveynlerimizden yatma zamanı geldiğinde bizi uyarmasını istemek
Bilgisayardan oyunları kaldırmak
Oyun için ayrılacak günlük süre belirleyip buna uymak
En uygun çözümü seçme: Yukarıda belirlenen her bir alternatifin artıları ve eksileri yazılarak en uygun olanı seçilmeye çalışılmalıdır.
Bilgisayarı evden çıkarma: Hızlı bir çözümdür ancak bazı araştırma ve ödevlerin bilgisayar kullanarak yapıldığını ve evdeki diğer bireylerin de bilgisayar kullandığını düşünürsek uygulanabilir değildir.
Ebeveynlerden yatma zamanı geldiğinde bizi uyarmasını isteme: İşe yarayabilecek bir yöntem olmasına rağmen kişisel sorumluluklarımızı başkalarına yüklemiş olacağımızdan ve iç disiplinimizi sağlamada yetersiz kalacağından mantıklı değildir.
Bilgisayardan oyunları kaldırma: En hızlı alternatiftir ancak bir alışkanlığı bir anda bırakmak kolay olmayacağı için uygulanabilir değildir.
Oyun için ayrılacak günlük süre belirleyip buna uyma: En uygun alternatiftir.
Çözümü uygulama: Kendinize bilgisayarda günlük bir saat oyun oynama limiti koyduğunuzu ve bir süre bunu uyguladığınızı düşününüz.
Çözümü test etme: Okula geç kalma davranışının azalıp azalmadığına bakılarak çözüm test edilebilir.
SONRAKİ
16 Beğen
algoritmaTEMEL PROGRAMLAMA
Bir Cevap Yaz Cevabı iptal etmek için tıklayın.
Yorum yapabilmek için giriş yapmalısınız.
Benzer Yazılar
Programlama Temelleri Eğitimi
Problem Çözmede Temel İşlemler Ders 2
Yazan, Teknobu
1 sene önce
Programlama Temelleri Eğitimi
Temel Programlama Eğitim Seti Başlangıç 2020
Yazan, Teknobu
1 sene önce
Yazı dolaşımı
Önceki Yazı
Sonraki Yazı
Abone Ol
EN SON EKLENENLER
Genel
Jennifer Lawrence İnstagram Hesabı Nedir?
Oyun
Pes 2021 Mobile Myclub Parası Hilesi (Çalışıyor) 2021
Apk
Asphalt Nitro 1.7.1a Mod Apk İndir (Güncel)
Sosyal Medya
Snapchat Beklemede Ne Demek? (Güncel)
Teknobu | Güncel Haber, Teknoloji Sitesi 2020
www.teknobu.net
Abone Ol
Yazılarımıza abone tamamen ücretsiz olarak abone olabilirsiniz.
Abone Ol
Son Yazılar
Jennifer Lawrence İnstagram Hesabı Nedir? Aralık 7, 2021
Pes 2021 Mobile Myclub Parası Hilesi (Çalışıyor) 2021 Aralık 7, 2021
Asphalt Nitro 1.7.1a Mod Apk İndir (Güncel) Aralık 6, 2021
Snapchat Beklemede Ne Demek? (Güncel) Aralık 6, 2021
Teknobu
Güncel İçeriklerimizi takip ederek bizlere destek olabilirsiniz. Bizlere instagram adresimizdende takip ederseniz seviniriz. Teknobu