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

Đây là bài 3/43 bài của series môn học Nhập môn lập trình

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

Ví dụ, có phương trình bậc nhất có dạng: ax + b = 0, làm thế nào để giải phương trình này? Không thể thế từng giá trị x vào để tìm nghiệm. Cần phải có cách giải quyết khoa học hơn.

Đó là, ta có: phương trình bậc nhất: ax + b = 0, với a, b là các số thực. Vậy, đầu vào: a, b thuộc R, đầu ra: nghiệm phương trình ax + b = 0. Xét các trường hợp:

Nếu a = 0:

    • b = 0 thì phương trình có nghiệm bất kì.
    • 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 như thế là ví dụ của thuật toán.

Thuật toán (algorithm) là tập hợp hữu hạn 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ể nào đó.

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

Các tính chất của thuật toán
Các tính chất của thuật toán

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.

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

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

Sử dụng ngôn ngữ giao tiếp hàng ngày để diễn đạt các bước thực hiện của thuật toán.

Ví dụ: Sử dụng ngôn ngữ tự nhiên để biểu diễn thuật toán tính tổng hai số nguyên a, b.

– Đầ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 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.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 đồ:

Quy ước ký hiệu lưu đồ
Quy ước ký hiệu lưu đồ

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.

Chọn lựa điều kiện của lưu đồ
Chọn lựa điều kiện của lưu đồ

Xử lý công việc: sử dụng hình chữ nhật, bên trong chứa nội dung xử lý.

Xử lý công việc của lưu đồ
Xử lý công việc của lưu đồ

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.

Quá trình thực hiện của lưu đồ
Quá trình thực hiện của lưu đồ

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.

Lưu đồ biểu diễn thuật toán cộng 2 số
Lưu đồ biểu diễn thuật toán cộng 2 số

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)

Lưu đồ biểu diễn thuật toán giải phương trình bậc nhất
Lưu đồ biểu diễn thuật toán giải phương trình bậc nhất

2.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ả thì 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é!

Nên nhớ: Các phương pháp biểu diễn thuật toán chỉ tập trung thể hiện ý tưởng thuật toán, không quan trọng quá về cú pháp.

4.9/5 - (28 bình chọn)
Bài trước và bài sau trong môn học<< Lập trình là gì? Phân loại ngôn ngữ lập trình6 bước xây dựng một chương trình máy tính >>
Chia sẻ trên mạng xã hội:

Trả lời

Lưu ý:

1) Vui lòng bình luận bằng tiếng Việt có dấu.

2) Khuyến khích sử dụng tên thật và địa chỉ email chính xác.

3) Mọi bình luận trái quy định sẽ bị xóa bỏ.