यह निर्भर करता है कि आप "प्रोग्रामिंग समस्या" को कैसे परिभाषित करते हैं।
वास्तविक दुनिया की परियोजनाओं में, उत्तर निश्चित रूप से एक स्पष्ट नहीं है। अधिकांश समस्याएं तकनीकी समस्याएं भी नहीं हैं, लेकिन संचार समस्याएं, आवश्यकताएं जो अस्पष्ट हैं, आदि।
फिर आपके पास समस्या-वर्गों के पूरे विषय हैं जिन्हें बिना किसी एल्गोरिदम के पास की आवश्यकता है। उदाहरण के लिए, GUI अक्सर "प्रोग्राम" के लिए सीधा होते हैं, लेकिन इसमें शामिल वास्तविक समस्या एक अच्छा डिजाइन (देखने की दृष्टि से, न कि केवल चित्रमय उपस्थिति) है।
कुछ क्षेत्र हैं, जहाँ समस्याएँ उस क्षेत्र की प्रकृति से बहुत अधिक एल्गोरिदम हैं। उदाहरण के लिए, AI एक प्रमुख विषय है, जहां एल्गोरिदम कोर पर हैं। ग्राफिक्स एल्गोरिदम गहन हो सकता है, लेकिन यह इस बात पर निर्भर करता है कि "ग्राफिक्स प्रोग्रामिंग" के साथ वास्तव में क्या है।
सामान्य तौर पर, यदि आप जिस समस्या को हल कर रहे हैं, वह गणितीय प्रतिनिधित्व के लिए उपयुक्त है, तो आप एल्गोरिथम क्षेत्र में प्रवेश कर रहे हैं। बेशक, यह सिर्फ एक मोटा संकेतक है, क्योंकि आप बहुत अधिक सब कुछ के लिए गणितीय मॉडल बना सकते हैं। लेकिन ज्यादातर चीजों के लिए आप आमतौर पर ऐसा करने पर विचार नहीं करेंगे।
अंतिम उदाहरण: यदि समस्या GUI बनाने की है जो व्यावसायिक वस्तुओं के लिए डेटा दर्ज करने की अनुमति देती है, तो आप गणितीय योगों के बारे में ज्यादा नहीं सोचेंगे। यदि, हालांकि, समस्या एक जीयूआई बनाने की है जो गतिशील रूप से बदल रही है और कुछ महत्व मूल्य के आधार पर तत्वों को स्थानांतरित करती है, तो आप गणितीय मॉडल और एक एल्गोरिदम कार्यान्वयन के साथ समाप्त होने की अधिक संभावना रखते हैं।