/codegym.vn/ - 15
cách khác, ngôn ngữ lập trình chính là công cụ để hiện thực hoá tư duy giải quyết vấn
đề cho một bài toán cụ thể.
Thuật toán, còn gọi là giải thuật, là một tập hợp hữu hạn các chỉ thị hay cách thức
được định nghĩa rõ ràng cho việc hoàn tất một số sự việc từ một trạng thái ban đầu
cho trước. Chúng ta có thể sử dụng các cách khác nhau để mô tả thuật toán, chẳng
hạn như bằng lời nói, bằng các hình vẽ hoặc bằng các ký hiệu khác.
Ví dụ:
Có hai bình A và B đựng hai loại chất lỏng khác nhau, chẳng hạn bình A đựng cồn,
bình B đựng dấm. Yêu cầu tráo đổi (swap) chất lỏng đựng trong hai bình.
Thuật toán:
● Yêu cầu phải có thêm một bình thứ ba gọi là bình C
● Bước 1: Đổ cồn từ bình A vào bình C
● Bước 2: Đổ dấm từ bình B vào bình A
● Bước 3: Đổ cồn từ bình C vào bình B
Trong lập trình, có 2 cách phổ biến để mô tả các thuật toán đó là Mã giả và Lưu đồ.
9. Mô tả thuật toán bằng mã giả
Mã giả (pseudo-code) là cách mô tả thuật toán bằng ngôn ngữ tự nhiên. Thông
thường chúng ta sử dụng các từ tiếng Anh để mô tả thuật toán. Mã giả là mã không
thực thi được và thông thường cũng không có các quy định chặt chẽ về cú pháp của
mã giả. Chúng ta có thể tuỳ biến cách sử dụng từ, miễn sao đạt được mục đích là các
bên liên quan có thể hiểu được thuật toán của chúng ta.
Ví dụ: Sử dụng mã giả để mô tả thuật toán giải phương trình bậc nhất với các cơ số
a và b:
1.
BEGIN
2. INPUT a
,
b
3. IF a
=
0
THEN
4. IF b
=
0
THEN
5. PRINT
"Phương trình vô số nghiệm"
6. ELSE
7.
"Phương trình vô nghiệm"
8.
END
IF
9. ELSE
10.
"Phương trình có nghiệm x = -b / a"
11.
END
IF
12.
END
Giải thích:
● Dòng 1: BEGIN đánh dấu nơi bắt đầu thuật toán
● Dòng 2: INPUT dấu việc nhập dữ liệu cần thiết cho thuật toán
● Dòng 3: IF a = 0 đánh dấu việc thực thi theo điều kiện về tham số a = 0.
● Dòng 4: IF b = 0 đánh dấu việc thực thi theo điều kiện về tham số b = 0.
● Dòng 5:
PRINT là chỉ thị để in ra nghiệm tương ứng với điều kiện a = 0 và b = 0.