Thuật toán
Nguyễn Dương 06-06-2024I. KHÁI NIỆM
II. CÁCH TRÌNH BÀY THUẬT TOÁN
- Các ngôn ngữ lập trình thông dụng hiện nay gồm có: C++, C#, Java, Java script, Python, PHP, Rust ...........
III. BIỂU THỨC TRONG THUẬT TOÁN
Khi thay thế các biến bằng một hằng số thì ta được kết quả của biểu thức là một hằng số, kết quả đó gọi là giá trị của biểu thức.
1. Thao tác gán trong thuật toán
2. Mô tả biến
STT | TÊN BIẾN | KIỂU GIÁ TRỊ GÁN CHO BIẾN | Ý NGHĨA GIÁ TRỊ GÁN CHO BIẾN |
1 | x | Kiểu giá trị 1 | Ý nghĩa 1 |
2 | y | Kiểu giá trị 2 | Ý nghĩa 2 |
3 | z | Kiểu giá trị 3 | Ý nghĩa 3 |
…... | …… | ……………. | …………. |
STT | TÊN BIẾN | KIỂU GIÁ TRỊ GÁN CHO BIẾN | Ý NGHĨA GIÁ TRỊ GÁN CHO BIẾN |
1 | a | Số thực | Chiều dài |
2 | b | Số thực | Chiều rộng |
3 | dt | Số thực | Diện tích |
3. Thao tác gán giá trị cho biến
4. Thao tác viết giá trị biểu thức
5. Xây dựng một thuật toán
Bước 2: Xác định các giá trị cần nhập. Xác định các biến chứa giá trị nhập.
Bước 3: Lập bảng mô tả biến
Bước 4: Viết thuật toán
Ví dụ: Viết thuật toán tính diện tích hình chữ nhật
Bước 1: Kết quả hiện ra màn hình ra diện tích hình chữ nhật. Giá trị được gán cho biến dt
Bước 2: Giá trị cần nhập là chiều dài và chiều rộng. Giá trị được gán cho biến a và b
Bước 3: Lập bảng mô tả biến
Bước 4: Viết thuật toán
6. Biểu thức luận lý
6.1: Phép toán <, ≤, >, ≥, ≠
6.2: Phép toán AND, OR, NOT
X | Y | X AND Y |
True | True | True |
True | False | False |
False | True | False |
False | False | False |
X | Y | X OR Y |
True | True | True |
True | False | True |
False | True | True |
False | False | False |
X | NOT X |
True | False |
False | True |
6.3: Phép gán
7. Thao tác rẽ nhánh
B1: Thao tác 1
B2: Thao tác 2
.......................
Bn: Thao tác n
- Nếu giá trị của biểu thức luận lý là True thì lần lượt thực hiện cac thao tác từ thao tác 1 đến thao tác n. Nếu giá trị của biểu thức luận lý là False thì không thực hiện các thao tác.
- Ví dụ: Tìm giá trị lớn nhất của 2 số thực a và b.
Bước 1: Kết quả cần hiện ra màn hình là a nếu a > b, ngược lại nếu a ≤ b thì kết quả sẽ là b. Kết quả được gán vào biến Max
Bước 2: Các giá trị cần nhập là 2 số thực a và b.
Bước 3: Bảng mô tả biến
STT | TÊN BIẾN | KIỂU GIÁ TRỊ GÁN CHO BIẾN | Ý NGHĨA GIÁ TRỊ GÁN CHO BIẾN |
1 | a | Số thực | Số thực a |
2 | b | Số thực | Số thực b |
3 | Max | Số thực | Số thực lớn nhất |
Bước 4: Viết thuật toán
Cách 1:
B1: Nhập a, b
B2: Max ← a
B3: Nếu Max < b thì thực hiện Max ← b
B4: Viết Max
Cách 2:
B1: Nhập a, b
B2: Nếu a > b thì thực hiện Max ← a
B3: Nếu a ≤ b thì thực hiện Max ← b.
B4: Viết Max
B1: Thao tác 1
B2: Thao tác 2
.......................
Bn: Thao tác n
Ngược lại thì thực hiện
B1': Thao tác 1'
B2': Thao tác 2'
.......................
Bn': Thao tác n'
Ví dụ: Viết thuật toán tìm giá trị lớn nhất của 2 số thực a và b
B1: Nhập a, b
B2: Nếu a > b thì thực hiện Max ← a
Ngược lại thì thực hiện
Max ← b
B3: Viết Max
8. Thao tác lặp
B2: Thao tác 2
.......................
Bn: Thao tác n
Quay lại kiểm tra, nếu giá trị của biểu thức luận lý vẫn là True thì tiếp tục thực hiện lại từ thao tác 1 đến thao tác n. Sau đó lại quay lại kiểm tra giá trị biểu thức.
- Ví dụ: Viết thuật toán tính tổng của của một dãy các số nguyên có thứ tự liên tiếp nhau bắt đầu từ số 1. T = 1 + 2 + 3 + 4 + 5 + ...... + n. Với n ≥ 1
Bước 1: Kết quả cần hiện ra màn hình là tổng của 1 + ........ + n. Kết quả được gán vào biến T
Bước 2: Nhập giá trị cho biến n
Bước 3: Bảng mô tả
STT | TÊN BIẾN | KIỂU GIÁ TRỊ GÁN CHO BIẾN | Ý NGHĨA GIÁ TRỊ GÁN CHO BIẾN |
1 | i | Số nguyên | Số hiện tại |
2 | n | Số nguyên | Số lớn nhất trong dãy |
3 | T | Số nguyên | Tổng |
Bước 4: Thuật toán
B1: Nhập n
B2: T ← 0, i ← 1
B3: Nếu i ≤ n thì thực hiện
T = T + i
i = i + 1
B4: Viết T
9. Biểu diễn thuật toán bằng lưu đồ
Ví dụ biểu diễn thuật toán giải phương trình bậc 2 bằng lưu đồ