Це залежить від того, як ви визначаєте "Проблема програмування".
У реальних проектах відповідь, безумовно, є чітким "НІ". Більшість проблем - це навіть не технічні проблеми, а проблеми зв’язку, вимоги, які є незрозумілими тощо.
Тоді у вас є цілі теми проблемних класів, для яких поруч немає алгоритмів. Наприклад, графічні інтерфейси часто просто "програмують", але актуальна проблема полягає в тому, щоб мати хороший дизайн (з точки зору зручності використання, а не лише графічного вигляду).
Є деякі поля, де проблеми, як правило, набагато алгоритмічніші за характером цього поля. Наприклад, AI є основним предметом, де алгоритми лежать в основі. Графіка може бути алгоритмною, але це залежить від того, що саме мається на увазі під "Графічним програмуванням".
Загалом, якщо проблема, яку ви вирішуєте програмно, підходить для математичного подання, то ви входите в алгоритмічну область. Звичайно, це лише приблизний показник, оскільки ви можете створити математичні моделі для майже всього. Але для більшості речей ти зазвичай не вважаєш це робити.
Остаточний приклад: Якщо проблема полягає у створенні графічного інтерфейсу, який дозволяє вводити дані для бізнес-об’єктів, ви б не замислювалися над математичними формулюваннями. Якщо ж проблема полягає у створенні графічного інтерфейсу, який динамічно змінюється і переміщує елементи на основі певного значення важливості, ви, швидше за все, закінчитеся з математичною моделлю та алгоритмічною реалізацією.