Làm ơn ai đó giảng cho mình thuật toán đi, mình chẳng hiểu gì về nó cả
1. Khái niệm thuật toán:
Là một dãy hữu hạn các thao tác được sắp xếp theo một trình tự xác định sao cho sau khi thực hiện một dãy các thao tác ấy, từ Input của bài toán, ta nhận được Output cần tìm.
Ví dụ: Tìm giá trị lớn nhất của một dãy số nguyên.
*
Xác định BT
- Input: Số nguyên dương N và dãy N số nguyên a1,a2,…,aN.
- Output: Giá trị lớn nhất Max của dãy số.
*
Ý tưởng
+ Khởi tạo giá trị Max= a1.
+ Lần lượt với
i từ 2 đến N so sánh ai với Max, nếu ai>Max thì Max= ai.
*
Thuật toán:
a. Cách liệt kê:
+ B1: Nhập N và dãy a1,...,aN;
+ B2: Max Ñ a1, i Ñ 2;
+ B3:nếu i>N thì đưa giá trị Max rồi kết thúc;
+ B4:
B4.1:Nếu ai>Max thì Maxß ai;
B4.2: ißi+1 rồi quay lại bước 3;
ß: gán giá trị của biểu thức bên phải cho biến ở bên trái.
b. Sơ đồ khối
Thuật toán còn được diễn tả bằng sơ đồ khối.
* Quy định:
+ Hình ô van : các thao tác nhập, xuất dữ liệu.
+ Hình thoi :Thao tác so sánh.
+ Hình chữ nhật : :Các phép toán.
+ Mũi tên : trình tự thực hiện các thao tác.
* Các tính chất của thuật toán :
+
Tính dừng: Thuật toán phải kết thúc sau một số hữu hạn lần thực hiện các thao tác.
+
Tính xác định: Sau khi thực hiện một thao tác thì hoặc là thuật toán kết thúc hoặc là có đúng một thao tác xác định để được thực hiện tiếp theo.
+
Tính đúng đắn: Sau khi thuật toán kết thúc ta phải nhận được Output cần tìm.
Nguồn:Sưu tầm