Bài tập

Thuật toán là gì? Các phương pháp biểu diễn thuật toán

Huy Erick

Trong lĩnh vực khoa học máy tính, thuật toán đóng vai trò quan trọng trong việc giải quyết các bài toán cụ thể. Vậy thuật toán là gì và có những phương pháp biểu diễn...

Trong lĩnh vực khoa học máy tính, thuật toán đóng vai trò quan trọng trong việc giải quyết các bài toán cụ thể. Vậy thuật toán là gì và có những phương pháp biểu diễn nào? Chúng ta hãy cùng tìm hiểu trong bài viết này.

Thuật toán (algorithm) là gì?

Thuật toán là một tập hợp các thao tác được định nghĩa rõ ràng nhằm giải quyết một bài toán cụ thể. Để hiểu rõ hơn, chúng ta cùng xem qua ví dụ về giải phương trình bậc nhất:

Ví dụ:  Phương trình bậc nhất: ax + b = 0, với a, b là các số thực. Đầu vào: a, b thuộc R, Đầu ra: nghiệm phương trình ax + b = 0.  - Nếu a = 0:     - Nếu b = 0 thì phương trình có nghiệm bất kì.     - Nếu b ≠ 0 thì phương trình vô nghiệm.  - Nếu a ≠ 0: Phương trình có nghiệm duy nhất x = -b/a.

Các bước xét nghiệm của phương trình trên chính là một ví dụ về thuật toán.

Thuật toán cần đảm bảo 5 tính chất sau:

  • Tính chính xác: Quá trình tính toán hay các thao tác máy tính thực hiện là chính xác.
  • Tính rõ ràng: Các câu lệnh minh bạch được sắp xếp theo thứ tự nhất định.
  • Tính khách quan: Được viết bởi nhiều người trên máy tính nhưng kết quả phải như nhau.
  • Tính phổ dụng: Có thể áp dụng cho một lớp các bài toán có đầu vào tương tự nhau.
  • Tính kết thúc: Hữu hạn các bước tính toán.

Các phương pháp biểu diễn thuật toán

1. Sử dụng ngôn ngữ tự nhiên

Phương pháp đầu tiên là sử dụng ngôn ngữ tự nhiên để diễn đạt các bước thực hiện của thuật toán. Ví dụ, để biểu diễn thuật toán tính tổng hai số nguyên a, b, chúng ta có thể sử dụng ngôn ngữ tự nhiên như sau:

  • Đầu vào: 2 số nguyên a, b
  • Đầu ra: Tổng của 2 số nguyên a, b.
  • Thuật toán:
    • Bước 1: Nhập giá trị của a, b.
    • Bước 2: Tính Tổng = a + b.
    • Bước 3: Thông báo kết quả Tổng
    • Bước 4: Kết thúc.

Sinh viên cũng có thể thử dùng ngôn ngữ tự nhiên để biểu diễn thuật toán giải phương trình bậc nhất ax+b=0.

2. Sử dụng lưu đồ (flow chart)

Lưu đồ được sử dụng để trình bày các bước giải quyết vấn đề qua các hình khối khác nhau. Một số qui ước ký hiệu lưu đồ bao gồm:

  • Chọn lựa điều kiện: sử dụng hình thoi, bên trong chứa biểu thức điều kiện. Sử dụng thêm các nhãn: Đ/Đúng, Y/Yes hoặc S/Sai, N/No.
  • Xử lý công việc: sử dụng hình chữ nhật, bên trong chứa nội dung xử lý.
  • Quá trình thực hiện các thao tác: dùng mũi tên để nối các thao tác.

Ví dụ 1: Sử dụng lưu đồ để biểu diễn thuật toán tính tổng hai số nguyên a, b.

Ví dụ 2: Sử dụng lưu đồ để biểu diễn thuật toán giải phương trình bậc nhất ax + b = 0 (a, b thuộc R)

3. Sử dụng mã giả (pseudo-code)

Mã giả là một ngôn ngữ hình thức giúp các lập trình viên phát triển thuật toán. Mã giả thường vay mượn cú pháp của một ngôn ngữ nào đó để biểu diễn thuật toán.

Chương trình mã giả không thực thi được trên máy tính. Chúng chỉ giúp bạn phát thảo ra một thuật toán và biểu diễn thuật toán đó một cách dễ hiểu trước khi viết nó bằng một ngôn ngữ lập trình nào đó.

Ví dụ: Sử dụng mã giả để biểu diễn thuật toán giải phương trình bậc nhất ax + b = 0 (a, b thuộc R).

Đầu vào: 2 số thực a, b Đầu ra: Nghiệm của phương trình bậc nhất ax + b = 0  If a = 0 Then     Begin         If b = 0 Then Xuất “Phương trình vô số nghiệm”         Else Xuất “Phương trình vô nghiệm”     End Else Xuất “Phương trình có nghiệm x = -b/a”

Vậy là thông thường, chúng ta có 3 cách biểu diễn thuật toán. Đây là những cách mà các bạn nên sử dụng để phát thảo ra một thuật toán khi trong đầu lóe lên những ý tưởng hay ho nhé!

Kết luận

Các phương pháp biểu diễn thuật toán nhằm thể hiện ý tưởng thuật toán một cách dễ hiểu và rõ ràng. Điều quan trọng là đảm bảo tính chính xác, rõ ràng, khách quan, phổ dụng, và kết thúc trong quá trình thực hiện thuật toán.

1