LẬP TRÌNH CĂN BẢN - Trang 20

/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.

PRINT

"Phương trình vô nghiệm"

8.

END

IF

9. ELSE
10.

PRINT

"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.

Liên Kết Chia Sẽ

** Đây là liên kết chia sẻ bới cộng đồng người dùng, chúng tôi không chịu trách nhiệm gì về nội dung của các thông tin này. Nếu có liên kết nào không phù hợp xin hãy báo cho admin.