Giỏi Toán có lợi như thế nào trong nghề Lập Trình?

Có rất nhiều bạn khi mới bắt đầu học lập trình thường hay đặt ra câu hỏi: Học lập trình có cần phải giỏi TOÁN không?.

Nhìn chung, để học được lập trình thì chúng ta không cần phải quá giỏi ở môn Toán, tuy nhiên bạn cũng phải biết ở mức độ cơ bản, vấn đề này thì CTV Lê Đinh Hoàng Vũ đã nói rất rõ trong bài viết trước rồi.

Nhưng nếu bạn giỏi môn Toán thì chắc chắn nó sẽ giúp bạn tiết kiệm thời gian và công sức hơn rất nhiều khi bắt tay vào “code”.

Để hiểu cụ thể vai trò của Toán học trong nghề lập trình thì trước tiên, chúng ta cần phải hiểu lập trình là gì cái đã?

#1. Lập trình là gì?

Cuộc sống có rất nhiều vấn đề cần phải giải quyết. Và để giải quyết, chúng ta có thể làm “thủ công” bằng tay chân hoặc làm bằng máy móc.

Tuy nhiên có những công việc lặp đi lặp lại, hoặc những công việc cần phải tính toán ở quy mô lớn thì nếu làm bằng tay chân thì sẽ rất tốn kém nguồn lực, phí thời gian và nói chung là “vô bổ”.

Khi đó, lập trình sẽ giúp chúng ta giải quyết vấn đề đó được hiệu quả hơn, tiết kiệm thời gian và công sức hơn.

Vậy hiểu nôm na thì: Lập trình là việc ta hướng dẫn cho máy tính thực hiện các nhiệm vụ, công việc khác nhau bằng ngôn ngữ mà nó hiểu được.

Ngôn ngữ mà máy tính hiểu được thì được gọi là ngôn ngữ lập trình.

Để máy tính có thể hoàn thành chính xác công việc đề ra thì ta phải đưa ra một cách làm đúng đắn, bao gồm các bước rõ ràng, đó được gọi là thuật toán. Vậy để lập trình ta cần có hai thứ, đó là: Ngôn ngữ lập trình và thuật toán.

#2. Ngôn ngữ lập trình

Ngày nay có rất nhiều ngôn ngữ lập trình phổ biến và không khó để tiếp cận với các ngôn ngữ này thông qua các tài liệu, sách hoặc thậm chí là các khóa học trên Youtube.

Việc học ngôn ngữ lập trình cũng phụ thuộc vào mục đích lập trình. Bạn có thể tham khảo số lượng người sử dụng các ngôn ngữ qua bảng sau:

gioi-toan-co-loi-nhu-the-nao-trong-nghe-lap-trinh (1)

Nhìn chung thì việc học ngôn ngữ lập trình không phụ thuộc nhiều vào việc bạn có giỏi Toán hay không.

Tuy nhiên, như mình đã nói ở đầu bà viết thì bạn cũng nên biết cơ bản về Toán để trong lúc tiếp cận ngôn ngữ lập trình mới, bạn có thể luyện “code” của ngôn ngữ đó thông qua các bài như: Tìm số lớn nhất, tính tổng của mảng,…

Tiếp theo, ta đến với phần quan trọng nhất của bài viết này, đó là thuật toán và ứng dụng của Toán học vào nghiên cứu thuật toán.

#3. Giỏi Toán có lợi gì khi đề ra thuật toán?

Như đã nói, thuật toán là một quy trình các bước để giải quyết một vấn đề cụ thể. Một vấn đề có thể có nhiều cách để giải quyết, tương tự như vậy, một bài toán có thể có nhiều thuật toán để xử lý. Nói một cách nôm na như sau:

gioi-toan-co-loi-nhu-the-nao-trong-nghe-lap-trinh (1)

Xét bài toán đơn giản là tìm cách đi từ nhà A đến nhà D với bản đồ như hình vẽ bên dưới, ta thấy có hai cách xử lý bài toán này.

  • Cách 1 : Nhà A  Nhà C  Nhà D
  • Cách 2 : Nhà A  Nhà B  Nhà D  Nhà E  Nhà D

Rõ ràng, nếu đặt bài toán trong thực tế thì Cách 1 sẽ tiết kiệm được thời gian, công sức và tiết kiệm được tiền xăng hơn rất nhiều.

Tương tự như vậy, trong lập trình chúng ta cũng có rất nhiều thuật toán để giải quyết được một bài toán, tuy nhiên người ta luôn mong muốn tìm ra được một thuật toán tốt nhất để xử lý vấn đề, nhằm tiết kiệm được thời gian.

Một bài toán được giải với thuật toán đúng đắn có thể chỉ mất vài giây là ra kết quả. Trong khi đó, cũng là bài toán đó nhưng với một thuật toán không tốt thì có thể mất đến tận vài phút để thực hiện.

=> Khi đó giỏi Toán đóng vai trò rất quan trọng trong việc tìm ra thuật toán tối ưu.

Có hai lý do:

  • Thứ nhất, người giỏi Toán thường tư duy logic rất tốt nên thuật toán họ tìm ra cũng “hay hơn” người không giỏi toán.
  • Thứ hai, người giỏi Toán sẽ xử lý các bài toán theo cách hàn lâm hơn là thử hàng ngàn phép thử.

Mình sẽ minh họa cụ thể cho các bạn thấy thông qua một vài bài toán sau : (mình sẽ sử dụng ngôn ngữ Python – một ngôn ngữ rất phổ biến hiện nay).

#4. Bài toán tính tổng các số có quy luật

Tính tổng các số từ 1 đến n và in ra màn hình.

Đối với bài toán này, cách làm đơn giản nhất là bạn có thể sử dụng vòng lặp for (hoặc vòng lặp có điều kiện while) như code sau:

Tuy nhiên, nếu các bạn giỏi Toán thì các bạn sẽ biết ngay công thức:

Khi đó, các bạn có thể “code” hai dòng là ra kết quả như sau:

gioi-toan-co-loi-nhu-the-nao-trong-nghe-lap-trinh (3)

Một ví dụ khác nữa là bài toán Tính tổng các số chính phương từ 1 đến: Nếu thực hiện theo cách đơn giản là sử dụng vòng lặp for thì ta có code như sau:

gioi-toan-co-loi-nhu-the-nao-trong-nghe-lap-trinh (4)

Tuy nhiên nếu bạn biết công thức  thì ta có code ngắn hơn như sau:

gioi-toan-co-loi-nhu-the-nao-trong-nghe-lap-trinh (5)

#5. Các bài toán tính toán với số lớn

Bài toán: Nhập vào từ bàn phím số nguyên dương n, hãy cho biết trong các số , có bao nhiêu số có tận cùng bằng 0.

Nếu bạn không giỏi Toán thì có thể làm một cách thủ công bằng cách chạy vòng lặp for và tất nhiên code sẽ dài và kết quả sẽ chạy ra lâu hơn như sau:

gioi-toan-co-loi-nhu-the-nao-trong-nghe-lap-trinh (6)

Nhưng nếu bạn giỏi Toán thì bạn sẽ không khó để nhận ra:

Và từ  trở lên thì do trong tích luôn chứa 2.5 nên luôn luôn tận cùng bằng 0. Vậy kết quả của bài toán trên là  (nếu n > 4)

gioi-toan-co-loi-nhu-the-nao-trong-nghe-lap-trinh (7)

Bạn có thể thấy nếu nhập từ bàn phím số n rất lớn chẳng hạn như n = 10000, thì ở cách làm thứ nhất máy sẽ chạy rất lâu, nhưng ngược lại cách thứ hai thì ra kết quả gần như lập tức.

#6. Tổng kết

Vâng, như vậy thì rõ ràng là giỏi Toán sẽ có rất nhiều lợi thế trong lập trình phải không ạ?! Giỏi Toán không những code nhanh ra kết quả hơn mà độ dài của code cũng ngắn gọn hơn, tối ưu hơn.

Mình chỉ lấy hai ví dụ đơn giản để các bạn có thể dễ dàng hình dung, trong thực tế còn nhiều bài toán phức tạp hơn như thế rất nhiều.

Bạn không giỏi Toán thì bạn hoàn toàn vẫn có thể lập trình được, tuy nhiên thuật toán bạn đưa ra có thể rất phức tạp trong một số trường hợp mà người giỏi Toán có thể đưa ra thuật toán ngắn gọn hơn rất nhiều.

Một số bài toán đơn giản như ở phần #5, nếu bạn làm một cách thủ công thì có thể kết quả sẽ chạy rất lâu (với số nhập vào từ bàn phím rất lớn), nhưng nếu có chút tư duy thì sẽ ra kết quả gần như lập tức.

Tóm lại, không giỏi Toán vẫn lập trình được, nhưng sẽ thua thiệt hơn so với những người giỏi Toán. Vì vậy để đạt được hiệu quả khi code, bạn nên phát triển thêm ở bộ môn Toán ha.

CTV: Võ Thịnh Phát – Blogchiasekienthuc.com
Edit by Kiên Nguyễn

Bài viết đạt: 4.4/5 sao - (Có 7 lượt đánh giá)
Note: Bài viết này hữu ích với bạn chứ? Đừng quên đánh giá bài viết, like và chia sẻ cho bạn bè và người thân của bạn nhé !

Administrator: Kiên Nguyễn

Có một câu nói của người Nhật mà mình rất thích đó là " Người khác làm được thì mình cũng làm được ". Chính vì thế mà hãy theo đuổi đam mê, thành công sẽ theo đuổi bạn ! Nếu như bạn đang gặp khó khăn và cần sự trợ giúp thì hãy comment phía bên dưới mỗi bài viết để nhận được sự hỗ trợ từ cộng đồng Blog Chia Sẻ Kiến Thức nhé.

Một vài lưu ý trước khi comment :

Thư điện tử của bạn sẽ không được hiển thị công khai. Các trường bắt buộc được đánh dấu *
Tất cả các comment của các bạn sẽ được giải đáp trong vòng 48h !
Không được sử dụng từ khóa trong ô 'Name', bạn hãy dùng tên thật hoặc Nickname của bạn !
Không dẫn link sang trang web/blog khác. Xem quy định comment tại đây. Thank All!

Leave a Reply

Your email address will not be published.