Cela dépend de la façon dont vous définissez "Problème de programmation".
Dans les projets du monde réel, la réponse est définitivement un NON clair. La plupart des problèmes ne sont même pas des problèmes techniques, mais des problèmes de communication, des exigences qui ne sont pas claires, etc.
Ensuite, vous avez des sujets entiers de classes de problèmes qui ne nécessitent pratiquement aucun algorithme. Par exemple, les interfaces graphiques sont souvent simples à "programmer", mais le problème réel impliqué est d'avoir une bonne conception (du point de vue de l'utilisabilité, pas seulement de l'apparence graphique).
Il y a certains domaines, où les problèmes ont tendance à être beaucoup plus algorithmiques de par la nature de ce champ. Par exemple, l'IA est un sujet primordial, où les algorithmes sont au cœur. Les graphiques peuvent nécessiter beaucoup d'algorithmes, mais cela dépend de ce que l'on entend exactement par "Programmation graphique".
En général, si le problème que vous résolvez par programme convient à une représentation mathématique, vous entrez dans la zone algorithmique. Bien sûr, ce n'est qu'un indicateur approximatif, car vous pouvez créer des modèles mathématiques pour à peu près tout. Mais pour la plupart des choses, vous n'envisageriez pas normalement de le faire.
Dernier exemple: si le problème est de créer une interface graphique qui permet de saisir des données pour des objets métier, vous ne pensez pas beaucoup aux formulations mathématiques. Si, cependant, le problème est de créer une interface graphique qui change dynamiquement et déplace des éléments en fonction d'une valeur d'importance, vous êtes beaucoup plus susceptible de vous retrouver avec un modèle mathématique et une implémentation algorithmique.