CHÀO MỪNG CÔ VÀ CÁC BẠN ĐẾN VỚI BÀI
THUYẾT TRÌNH CỦA EM
BÀI 4: BÀI TOÁN VÀ THUẬT TOÁN
MỤC TIÊU CỦA TIẾT HỌC HÔM NAY
1. Biết khái niệm thế nào là Bài Toán
2. Biết khái niệm thế nào là Thuật Toán
3. Hiểu cách biểu diễn Thuật Toán bằng ngôn ngữ liệt kê và sơ đồ khối qua bài
toán tìm giá trị lớn nhất của một dãy số
1.Khái niệm bài toán
•
•
•
•
•
•
Trong phạm vi Tin Học ta có thể hiểu:
Bài toán là một việc nào đó ta muốn
máy tính thực hiện
Ví dụ 1: Tìm ước chung lớn nhất của hai số nguyên dương M và N
Input: Hai số nguyên dương M và N
Output:Ước chung lớn nhất của M và N
1.Khái niệm bài toán
• Ví dụ 2: Kiểm tra tính nguyên tố của một số nguyên dương N
• Input: Số nguyên dương N
• Output: ‘N là số nguyên tố’ hoặc ‘N không là số nguyên tố
• Bài toán được cấu tạo bởi hai thành phần:
a.
Input: các thông tin đã có.
b.
Output: các thông tin cần tìm từ Input.
1. Bài tập về Input, Output
•
Bài tập 1: Cho dãy A gồm N số nguyên a1,a2,..,aN. Cần sắp xếp
dãy A trở thành dãy không giảm.
•
Bài tập 2: Tìm giá trị nhỏ nhất của một dãy số nguyên
Đáp án
Bài tập 1:
Input: Dãy A gồm N số nguyên a1,a2,..,aN
Output: Dãy A được sắp xếp thành dãy không giảm
Bài tập 2:
Input: Số nguyên dương N và dãy N số nguyên a1, a2,….,aN.
Output: Giá trị nhỏ nhất (Min) của dãy số
2.Khái niệm thuật toán
Thuật toán để giải một bài toán là 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 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
TÌM THUẬT TOÁN GIẢI
BÀI TOÁN TÌM MIN
Tìm giá trị nhỏ nhất của một dãy số nguyên
Xác định bài toán
Input: số nguyên dương N và dãy N số nguyên a1, a2, ….,aN
Output: giá trị nhỏ nhất (Min) của dãy số
Ý tưởng bài toán
•
Khởi tạo giá trị Min = a1
•
Lần lượt với i từ 2 đến N, so sánh giá trị số hạng ai với giá trị Min, nếu ai < Min thì Min nhận giá trị
mới là ai
Biểu diễn thuật toán Min theo cách liệt kê
•
•
•
•
•
•
Bước 1: Nhập N và dãy a1,a2,…aN ;
Bước 2: Min a1, i 2;
Bước 3: Nếu i > N thì đưa ra giá trị Min rồi kết thúc ;
Bước 4:
Bước 4.1: Nếu ai < Min thì Min ai ;
Bước 4.2: i i+1 rồi quay lại bước 3;
Sơ đồ khối
Hình thoi thể hiện các thao tác so sánh
Hình ovan thể hiện thao tác nhập, xuất dữ liệu
Hình chữ nhật thể hiện các phép tính toán
Các mũi tên quy định trình
tự thực hiện các thao tác
Cách liệt kê
Sơ đồ khối
Nhập N và dãy a1,a2,…aN
•
Bước 1: Nhập N và dãy a1,a2,…aN ;
•
Bước 2: Min
•
Bước 3: Nếu i > N thì đưa ra giá trị Min rồi
kết thúc ;
•
Min
a1 , i
2
2
Bước 4:
Đúng
i>N?
Đưa ra giá trị Min
rồi kết thúc
Sai
Sai
Bước 4.1: Nếu ai < Min thì Min
Bước 4.2: i
a1, i
ai
ai
i+1 rồi quay lại bước 3
Đúng
Min
ai
i
i+1
Mô phỏng thuật toán
Cho N=5 và dãy số 5,7,1,3,9.Tìm Min trong dãy đó.
5
Dãy số
i
Min
5
7
1
3
0
2
3
4
5
5
1
1
0
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 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 để 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
3. Một số ví dụ về thuật toán
•
•
•
•
Ví dụ:Cho N và dãy số nguyên a1,...an,
hãy tính tổng các số có giá trị là chẵn
Xác định bài toán
Input: Cho N và dãy số nguyên a1,...an
Output:Tổng các số chẵn có trong dãy N
•
•
•
Ý tưởng:
Khởi tạo Tong=0,i=1
Chạy i từ 1 đến N, nếu ai là số
chẵn thì Tong:=Tong+ai.
Thuật toán
Kiến thức cần nắm
Bài toán là một việc nào đó ta
Khái niệm bài toán
muốn
Bài toán
được
tạohiện
bởi
máy
tínhcấu
thực
hai thành phần:
Xác định bài toán
Input: các thông tin đã có
Thuật toán để giải một bài toán là
Output: các thông tin
dãy hữu hạn các thao tác được sắp
cần tìm từ Input
xếp theo một trình tự xác định sao cho sau khi thực hiện dãy cá
Khái niệm thuật toán
ấy, từ Input của bài toán, ta nhận được Output cần tìm
Bài tập
Hãy mô tả thuật toán giải các bài toán sau bằng cách liệt kê
hoặc vẽ sơ đồ khối
Tìm nghiệm của phương trình bậc nhất tổng quát
ax2+bx+c=0
Giải bằng liệt kê
Giải bằng sơ đồ khối
Bài thuyết trình của em đến đây là kết thúc.
Xin cám ơn Quý Thầy Cô và các bạn đã theo
dõi