"Programlama Sorunu" nu nasıl tanımladığınıza bağlıdır.
Gerçek dünyadaki projelerde, cevap kesinlikle açık bir HAYIR. Sorunların çoğu teknik sorunlar bile değil, iletişim sorunları, belirsiz gereksinimler vb.
Sonra hiçbir algoritma yanında gerektiren sorun sınıfları bütün konular var. Örneğin, GUI'ler genellikle "program" için basittir, ancak asıl sorun iyi bir tasarıma sahip olmaktır (sadece grafiksel görünüm değil, kullanılabilirlik açısından).
Yine de, problemlerin o alanın doğası gereği çok daha algoritmik olma eğilimi gösteren bazı alanlar vardır. Örneğin, yapay zeka, algoritmaların çekirdek olduğu birinci bir konudur. Grafikler algoritma yoğun olabilir, ancak "Grafik Programlama" ile tam olarak ne anlama geldiğine bağlıdır.
Genel olarak, programsal olarak çözdüğünüz sorun matematiksel bir gösterim için uygunsa, algoritmik alana girersiniz. Tabii ki, bu sadece kaba bir göstergedir, çünkü hemen hemen her şey için matematiksel modeller oluşturabilirsiniz. Ancak çoğu şey için normalde böyle yapmayı düşünmezsiniz.
Son örnek: Sorun, iş nesneleri için veri girmeye izin veren bir GUI oluşturmaksa, matematiksel formülasyonları fazla düşünmezsiniz. Bununla birlikte, sorun dinamik olarak değişen ve bazı önem değerlerine göre öğeleri yeniden konumlandıran bir GUI oluşturmaksa, bir matematiksel model ve algoritmik bir uygulama ile sonuçlanma olasılığınız daha yüksektir.