Nó phụ thuộc vào cách bạn định nghĩa "Vấn đề lập trình".
Trong các dự án thực tế, câu trả lời chắc chắn là KHÔNG. Hầu hết các vấn đề thậm chí không phải là vấn đề kỹ thuật, mà là vấn đề giao tiếp, yêu cầu không rõ ràng, v.v.
Sau đó, bạn có toàn bộ các đối tượng của các lớp vấn đề yêu cầu bên cạnh không có thuật toán. Ví dụ, GUI thường đơn giản với "chương trình", nhưng vấn đề thực sự liên quan là phải có một thiết kế tốt (từ quan điểm khả dụng, không chỉ là hình thức đồ họa).
Có một số lĩnh vực, trong đó các vấn đề có xu hướng thuật toán hơn nhiều bởi bản chất của lĩnh vực đó mặc dù. Ví dụ, AI là một chủ đề chính, trong đó các thuật toán là cốt lõi. Đồ họa có thể là thuật toán chuyên sâu, nhưng nó phụ thuộc vào chính xác ý nghĩa của "Lập trình đồ họa".
Nói chung, nếu vấn đề bạn đang giải quyết theo chương trình phù hợp với biểu diễn toán học, thì bạn đang bước vào khu vực thuật toán. Tất nhiên, đây chỉ là một chỉ số sơ bộ, vì bạn có thể tạo các mô hình toán học cho hầu hết mọi thứ. Nhưng đối với hầu hết mọi thứ bạn thường không xem xét làm như vậy.
Ví dụ cuối cùng: Nếu vấn đề là tạo GUI cho phép nhập dữ liệu cho các đối tượng kinh doanh, bạn sẽ không nghĩ nhiều về các công thức toán học. Tuy nhiên, nếu vấn đề là tạo ra một GUI thay đổi linh hoạt và định vị lại các yếu tố dựa trên một số giá trị quan trọng, thì nhiều khả năng bạn sẽ kết thúc với một mô hình toán học và triển khai thuật toán.