To zależy od tego, jak zdefiniujesz „Problem z programowaniem”.
W rzeczywistych projektach odpowiedź jest zdecydowanie NIE. Większość problemów to nawet nie problemy techniczne, ale problemy z komunikacją, niejasne wymagania itp.
Następnie masz całe przedmioty klas problemów, które nie wymagają prawie żadnych algorytmów. Na przykład GUI są często łatwe do „programowania”, ale faktycznym problemem jest dobry projekt (z punktu widzenia użyteczności, nie tylko wyglądu).
Istnieją jednak pola, w których problemy są z natury bardziej algorytmiczne. Na przykład AI jest głównym przedmiotem, w którym algorytmy są rdzeniem. Grafika może wymagać intensywnego algorytmu, ale zależy to od tego, co dokładnie oznacza „Programowanie grafiki”.
Ogólnie, jeśli problem, który rozwiązujesz programowo, jest odpowiedni dla reprezentacji matematycznej, to wchodzisz w obszar algorytmu. Oczywiście jest to tylko przybliżony wskaźnik, ponieważ możesz tworzyć modele matematyczne dla prawie wszystkiego. Ale w przypadku większości rzeczy zwykle nie rozważałbyś tego.
Ostatni przykład: jeśli problemem jest utworzenie interfejsu GUI, który umożliwia wprowadzanie danych dla obiektów biznesowych, nie zastanawiałbyś się zbyt wiele nad sformułowaniami matematycznymi. Jeśli jednak problemem jest utworzenie GUI, który dynamicznie się zmienia i przenosi elementy na podstawie pewnej wartości ważności, istnieje większe prawdopodobieństwo, że skończy się na modelu matematycznym i implementacji algorytmicznej.