Explore all courses in this category.
Explore all courses in this category.
Nguyễn Đình Cường
0 comment
09 Nov, 2026
"Mình học dở toán thì có làm được lập trình viên không?" Đây là nỗi lo phổ biến và câu trả lời khá nhẹ nhàng: đa số công việc không cần toán cao cấp. Tuy nhiên, một vài mảng kiến thức toán thật sự giúp bạn code tốt hơn.
Gần như mọi lập trình viên đều dùng:
tong_so_muc = 47
moi_trang = 10
so_trang = (tong_so_muc + moi_trang - 1) // moi_trang # làm tròn lên
print(so_trang) # 5
gia = 200000
giam = 15
print(gia * (100 - giam) / 100) # 170000.0Đây là phần toán gần với lập trình nhất:
set.Khi học Big O, bạn cần cảm nhận về hàm số tăng trưởng: tuyến tính, bình phương, logarit, mũ. Chỉ cần hiểu ý tưởng: n nhân đôi thì log n chỉ thêm 1, còn n bình phương thì tăng gấp bốn. Không cần chứng minh phức tạp để làm việc hằng ngày.
| Lĩnh vực | Toán hay dùng |
|---|---|
| Web, ứng dụng, backend | Số học, logic, thống kê cơ bản |
| Game | Vector, hình học, lượng giác, vật lý cơ bản |
| Đồ họa 3D | Đại số tuyến tính, ma trận |
| Dữ liệu, học máy | Thống kê, xác suất, đại số tuyến tính, giải tích |
| Bảo mật, mã hóa | Số học modulo, lý thuyết số |
| Lập trình thi đấu | Tổ hợp, số học, lý thuyết đồ thị |
import math
def khoang_cach(x1, y1, x2, y2):
return math.sqrt((x2 - x1) ** 2 + (y2 - y1) ** 2)
def chuan_hoa(dx, dy):
do_dai = math.hypot(dx, dy)
if do_dai == 0:
return 0, 0
return dx / do_dai, dy / do_dai
print(khoang_cach(0, 0, 3, 4)) # 5.0
print(chuan_hoa(3, 4)) # (0.6, 0.8)Đây là định lý Pitago và vector đơn vị: kiến thức phổ thông nhưng làm nền cho việc di chuyển nhân vật, phát hiện va chạm trong game.
Đừng để nỗi sợ toán cản bạn bắt đầu. Cách thực tế là học toán khi cần, gắn với bài toán cụ thể. Bạn làm game và cần xoay nhân vật? Học lượng giác lúc đó, bạn sẽ nhớ lâu vì thấy kết quả ngay. Thư viện hiện nay còn che giấu phần lớn công thức phức tạp.
Hãy thử để thấy toán phổ thông đủ dùng ra sao:
von = 100_000_000
lai = 0.06
for nam in range(1, 4):
print(nam, round(von * (1 + lai) ** nam))
xac_suat = 1 - 0.8 ** 5
print(round(xac_suat, 3)) # 0.672Ba ví dụ chỉ dùng lũy thừa, phép nhân và phần trăm. Phần lớn toán trong công việc là như vậy: đơn giản nhưng cần cẩn thận về đơn vị, làm tròn và trường hợp biên. Nếu cảm thấy thiếu nền, hãy ôn lại phần trăm, tỷ lệ, hàm số bậc nhất và lũy thừa; đây là bộ kiến thức đem lại nhiều giá trị nhất so với công sức bỏ ra.
Muốn làm lập trình viên bạn không cần là nhà toán học, nhưng cần nền tảng logic, số học cơ bản và sự thoải mái với suy luận từng bước. Hãy xác định lĩnh vực mình định theo, rồi bổ sung đúng phần toán cần thiết cho lĩnh vực đó.
Muốn học bài bản và có người hướng dẫn? Hãy xem các khóa học trên codebem.com để đi từ nền tảng đến dự án thực tế.
Nguyễn Đình Cường
0 comment