Tam Sürümünü Görmek İçin : Temel Problem Çözme ve Programlama Teknikleri
Genel olarak bir problem ile karşılaştığınızda izlediğiniz çözüm aşamaları nelerdir? Problemin tanımlanmasından çözüm yolunun bilgisayara aktarılmasına kadar hangi aşamalardan geçer? Çok bilimsel oldu :rolleyes:
Bir kere konu başlığımız C/C++ ise;
Syntax yapısını çok iyi bilmeniz gerekiyor...
Başlık dosyalarıyla da aranız iyi olmalı...
Problemi parçalara bölmeli ilk olarak...
Çok kazma ama gusel bir örnekle başlayalım :
Diyelim ki "3+2*6/2" işleminin sonucunu hesaplayacaksınız?
Dört işlemi yeni öğrenen biri(programlamaya yeni başlayan biri) önce 3 ile 2 sayılarını toplayacak, bulduğu değeri 6 ile çarpacak, sonra da 2 ye bölerek sonucu 15 bulacaktır...
Eğer ortalama matematik bilgisine sahipseniz sorudan önce cevabını görürsünüz, hatta hiç işlem yapmanıza bile gerek kalmaz...
Ama belli prosedürlere uymak zorundasınız tabii... 6 yı 2 ye bölüp 2 yle çarptıktan sonra 3 le toplamak gibi...
Buradan yola çıkarak varacağımız nokta...
Problemi uygun parçalara böldükten sonra belli prosedürlere tabi tutmanın...
Ne kadar önemli olduğudur...
Eğer sonucun gerçekten 15 olarak hesaplanmasını istiyorsanız elinizdeki parçalar aşağıdaki gibi olmalıdır :
((3+2)*6)/2)
Şahsen bana göre;
Benim yazdığım fonksiyon hiçbir zaman ideal fonksiyon değildir, bu yüzden de sürekli gelişir... Programı tamamlayıp sorunsuz çalışan versiyonunu satışa sunsam bile programda kullandığım fonksiyonlar kafamın içinde gelişir durur(aslında,durmaz)...
Aslında bu konunun içeriği buraya sığdırılamayacak kadar geniş ama herkes kısa kısa kendinden bir şeyler yazarsa tadından yenilmez beh!!! Allaammm... :D
Mingitau
08/04/2003, 15:54
Eğer hazır koddaki problemlerden bahsetmiyorsan, şu adrese bir bak:
http://www.ceviz.net/kod_tasarimi.php?p=001
ve şuradaki yazı size yardım edebilir :
http://www.ceviz.net/php14.php?p=001
Bu son adres php ile ilgili amagenel bilgiler işinize yarayacaktır ;-)
Son bir not: Bilgisayarınızın içinde ne olup bittiğini öğrenmeye çalışın...
CrazyCat
08/04/2003, 19:22
genel olarak problemden kastın bir yazılım sistemi geliştirmek ise
takip edilecek klasik aşamalar şöyledir
- Analiz
- Tasarım
- Kodlama
- Deneme
- Uygulama ve Bakım
Problem daha özel ise (örneğin belli bir dizi içerisinde bazı elemanları içeren en küçük alt diziyi bulma gibi.) bu sefer öncelikle problemi analiz eder daha sonra çözüm için algoritma tasarlarsın.
Bunun için bilinen veri yapıları ve algoritmalardan en uygunları seçerek bir çözüm oluşturabilirsin. yada kendine göre bir algoritma planlayabilirsin.
en son olarak da kodlama yaparsın.
biraz genel ve klasik oldu sanırım :)
daha güncel ve yenikçi çözüm için (biraz da kalıpsal) Design Patterns hakkında birşeyler öğrenebilirsin (biraz altyapı gerektirir)
Design Pattens için aşağıdaki linke bakabilirsin.
http://www.cmcrossroads.com/bradapp/docs/patterns-intro.html
karışık olduysa kusura bakma alelacele yazdım :)
Orjinal mesajı gönderen CrazyCat
daha güncel ve yenikçi çözüm için (biraz da kalıpsal) Design Patterns hakkında birşeyler öğrenebilirsin (biraz altyapı gerektirir)
"biraz" sözünü biraz ağırlaştıralım.. :)
Tasarım Örüntüleri (Design Patterns) pek kalıplaşmış olarak nitelenemez aslında. Zaten mükemmel çözümler, daha iyisini aramaya gerek yok. Eğer probleminize uymuyorsa tam olarak, zaten işin zanaat kısmı da burada devreye giriyor, mevcut örüntüleri bir arada kullanarak ya da probleminize has örüntüler tasarlayarak çözüme ulaşmalısınız. Ama zor iş..
Sutekin Kürşat
10/04/2003, 15:03
... daha iysini aramaya gerek yok.........
Yanlış mı duydum? :)
Zannederim bu konuyla bayaa bir ilgilenmen gerek ;)
Forum Yazılımı : vBulletin v3.6.8, Copyright ©2000-2008, Jelsoft Enterprises Ltd.