Thuật toán để giải một bài 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 dãy thao tác ấy, từ Input của bài toán, ta nhận đợc Outpu[r]
Trang 11 Khái niệm bài toán
VÝ dô 1: Tìm ước số chung lớn nhất của hai số nguyên dương
INPUT: Hai số nguyên dương M Và N.
OUTPUT: Ước số chung lớn nhất của M và N.
VÝ dô 2: Bµi to¸n xÕp lo¹i häc tËp cña mét líp.
INPUT: B¶ng ®iÓm cña häc sinh trong líp.
TIẾT 10: Bài 4 BÀI TOÁN VÀ THUẬT TOÁN
Khái niệm:
Bài toán là một việc nào đó ta muốn máy tính thực hiện
Bài toán được cấu tạo từ hai thành phần cơ bản
+ Input: các thông tin đã có
+ Output: các thông tin cần tìm từ Input
Trang 2Ví dụ 3: Giải ph ơng trình bậc nhất ax + b = 0
Yêu cầu :
Hãy xác định thông tin đ a vào ( Input )
và thông tin cần lấy ra ( Output )
Input: Các hệ số a, b.
Output: Nghiệm của ph ơng trình.
Với a = 1, b = -5
Ph ơng trình có nghiệm x = 5
Trang 3SBD Họ và tờn Văn Toỏn Lý Húa Tổng Kết
Quả
1 Vàng Mớ Chiến 8.5 10.0 7.0 9.0
2 Lự Mớ Chớnh 6.0 8.5 8.5 5.0
3 Thào Mớ Chớnh 7.0 7.0 6.5 6.5
4 Hầu Mớ Dỡn 4.5 5.0 7.0 7.5
5 Hạng Mớ De 5.0 2.0 3.5 4.5
Ví dụ 4: Quản lí điểm trong một kì thi bằng máy tính
Yêu cầu :
Hãy xác định thông tin đ a vào (Input)
Input: SBD, Họ và tên, Văn, Toán, Lí, Húa.
Output: Tổng điểm, Kết quả thi của học sinh.
42.5 Đỗ
33.5 Đỗ 22
Trang 42 Khái niệm thuật toán
Từ INPUT làm thế nào để tìm
ra OUTPUT ?
Các em cần tìm ra
cách giải của bài toán
Trang 5Thuật toán để giải một bài 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 dãy thao tác ấy, từ Input của bài toán, ta nhận đ ợc Output cần tìm.
Có hai cách thể hiện một thuật toán:
Cách 1: Liệt kê các b ớc
Cách 2: Vẽ sơ đồ khối.
Trang 6Vớ dụ : Thuật toán tìm max
3
Ng ời ta đặt 5 quả bóng có kích th ớc khác nhau trong hộp đã đ ợc đậy nắp nh hình bên Chỉ dùng tay hãy tìm
ra quả bóng có kích th ớc lớn nhất
Trang 7Qu¶ nµy
lín nhÊt
Qu¶ nµy míi lín nhÊt
å! Qu¶ nµy lín h¬n
T×m ra qu¶ lín nhÊt råi!
Cïng t×m thuËt to¸n
MAX
Trang 8Thuật toán tìm số lớn nhất trong
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 (ai với i: 1N).
OUTPUT: Số lớn nhất (Max) của dãy số.
Trang 9ý t ởng:
- Đặt giá trị Max = a1.
- Lần l ợt cho i chạy từ 2 đến N, so sánh giá trị ai với giá trị Max, nếu ai > Max thì Max nhận giá trị mới là ai.
Trang 10C¸ch 1: LiÖt kª c¸c b íc
B1: NhËp N vµ d·y a1, , … … , a , aN;
B2: Max a1; i 2;
B3: NÕu i > N th× ® a ra gi¸ trÞ Max råi kÕt thóc;
B4:
B íc 4.1: NÕu ai > Max th× Max ai;
B íc 4.2: i i+1 råi quay l¹i B3.
Trang 11Quy ớc các khối trong sơ đồ thuật toán
Thể hiện cỏc thao tỏc nhập và xuất dữ liệu.
Th hi n ể ệ cỏc phộp tớnh toỏn Thể hiện thao tỏc so sỏnh
Quy định trỡnh tự thực hiện cỏc thao tỏc
Cách 2: Vẽ sơ đồ khối
Trang 12S
Đ S
Nhập N và d y a1,…,aNã
Max a1 ; i 2
i > N ?
a i > Max ?
Max a i
i i + 1
Đ a ra Max rồi kết thúc
B1: Nhập N và dãy a 1 ,…,a N ;
B2: Max a 1 ; i 2;
B3: Nếu i > N thì đ a ra giá trị Max rồi kết thúc;
B4 : 4.1: Nếu a i > Max thì Max a i ; 4.2: i i + 1 rồi quay lại B3.
Cách 2: Sơ đồ khối
Trang 13S
§ S
NhËp N vµ d y a1,…,aN·
Max a1 ; i 2
I > N ?
a i > Max ?
Max a i
§ a ra Max råi kÕt thóc
Max
i
A
7 7
5 5
5
5 4
3 2
6 7
4 1
5
N=5 ; A [ 5 1 4 7 6 ]
Max 5 ; i 2
2 > 5 ?
1> 5 ?
3 > 5 ?
4> 5 ?
4 > 5 ?
7 > 5 ?
Max 7
4
5 > 5 ?
7 > 7 ?
6 > 5 ? Sè lín nhÊt cña d y lµ 7·
M« pháng thuËt to¸n
Víi i = 2
Trang 14S
§ S
NhËp N vµ d y a1,…,aN·
Max a1 ; i 2
I > N ?
a i > Max ?
Max a i
i i+1
§ a ra Max råi kÕt thóc
Max
i
A
7 7
5 5
5
5 4
3 2
6 7
4 1
5
N=5 ; A [ 5 1 4 7 6 ]
Max 5 ; i 2
2 > 5 ?
1> 5 ?
i 2+1
3 > 5 ?
4> 5 ?
i 3+1
4 > 5 ?
7 > 5 ?
Max 7
4
i 4+1
5 > 5 ?
7 > 7 ?
i 5+1
6 > 5 ? Sè lín nhÊt cña d y lµ 7·
Trang 15Tính dừng
Thuật toán phải dừng lại sau một số hữu hạn bước thực
hiện
Tính xác định
Sau mỗi bước thực hiện thuật toán dừng lại hoặc xác đinh bước tiếp theo
Tính đúng đắn
Sau khi thuật toán dừng lại thì phải nhận được Out Put của bài toán
* Tính chất của thuật toán
Trang 161 Kh¸i niÖm bµi to¸n
Củng cố
2 Kh¸i niÖm thuËt to¸n
ThuËt to¸n t×m Max cña mét d·y sè.
Trang 17Câu hỏi 1 Khi dùng máy tính để giải bài toán
Ta cần xác định : Input, Output
B Ta chỉ cần xác định Input
C Ta chỉ cần xác định Output
D Không cần xác định Input, Output
A
Trang 18Câu hỏi Các tính chất của thuật toán là:
Trang 19Câu hỏi Input của bài toán giải phương trình