Có bao nhiêu cách trình bày một thuật toán

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ó bao nhiêu cách trình bày một 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 đồ:

Có bao nhiêu cách trình bày một thuật toán
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.

Có bao nhiêu cách trình bày một thuật toán
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ý.

Có bao nhiêu cách trình bày một thuật toán
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.

Có bao nhiêu cách trình bày một thuật toán
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.

Có bao nhiêu cách trình bày một thuật toán
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)

Có bao nhiêu cách trình bày một thuật toán
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.

  • Các kỹ thuật lập trình với tập tin (file) trong C++
  • Mảng hai chiều là gì? Cách khai báo và khởi tạo trong C++
  • Truyền tham trị và tham chiếu cho phương thức trong Java
  • Khái niệm biến (variable) và cách khai báo biến trong Java
  • Java collections framework: Queue interface và lớp LinkedList
5/5 - (3 bình chọn)
Chia sẻ trên mạng xã hội:
C/C++ programming