Lưu ý: Để giải một bài toán có thể có nhiều thuật toán khác nhau, song mỗi thuật toán chỉ dùng để giải một bài toán cụ thể.... Xác định bài toán.[r]
(1)(2)Bài tốn gì?
1 BÀI TOÁN VÀ XÁC ĐỊNH BÀI TOÁNBÀI TOÁN VÀ XÁC ĐỊNH BÀI TỐN
Bài tốn cơng việc hay một nhiệm vụ cần phải giải quyết
Bài tốn cơng việc hay mợt nhiệm vụ cần phải giải quyết
Để giải quyết được mợt tốn cụ thể, ta cần phải xác
định rõ điều gì̀?
* Xác định điều kiện cho trước.
* Xác định điều kiện cho trước.
* Kết quả thu được
* Kết quả thu được
Xác định toán
(3)Ví dụ 1: Xét tốn “Tính diện tích hình tam
giác”.
Điều kiện cho trước
Điều kiện cho trước
Kết quả cần thu được
Kết quả cần thu được
Một cạnh đường cao tương ứng
Một cạnh đường cao tương ứng
Diện tích hình tam giác
Diện tích hình tam giác
(4)Ví dụ 2: Xét toán “Tìm đường tránh điểm
nghẽn giao thông”.
Điều kiện cho trước
Điều kiện cho trước
Kết quả cần thu được
Kết quả cần thu được
• Vị trí điểm nghẽn giao thơng • Các đường có thể từ vị trí tại tới vị trí cần tới
• Vị trí điểm nghẽn giao thơng • Các đường có thể từ vị trí tại tới vị trí cần tới
Đường từ vị trí tại tới vị trí cần tới mà không qua điểm nghẽn giao thông
Đường từ vị trí tại tới vị trí cần tới mà không qua điểm nghẽn giao thông
(5)QUÁ TRÌNH GIẢI BÀI TOÁN TRÊN MÁY TÍNHQUÁ TRÌNH GIẢI BÀI TOÁN TRÊN MÁY TÍNH
Thế nào là giải bài toán trên máy tính?
Là việc đó ta muốn máy tính thực để từ điều kiện cho trước ta nhận được kết quả cần thu được
Là việc đó ta muốn máy tính thực để từ
điều kiện cho trước ta nhận được kết quả cần thu được
Ví dụ: Tìm ước số chung lớn hai số nguyên dương M N Điều kiện cho trước: hai số nguyên dương M N.
Kết quả cần thu được: Ước số chung lớn M N.
Em hiểu thế nào là thuật toáǹ?
* Các bước để giải mợt tốn
(6)1 Xác định toán
1 Xác định toán
2 Mơ tả tḥt tốn
2 Mơ tả tḥt toán
3 Viết chương trình
3 Viết chương trình
• Xác định thơng tin đã cho (INPUT) • Tìm được thông tin cần tìm (OUTPUT)
• Xác định thơng tin đã cho (INPUT) • Tìm được thơng tin cần tìm (OUTPUT)
• Tìm cách giải tốn
• Diễn tả bằng lệnh cần phải thực
• Tìm cách giải tốn
• Diễn tả bằng lệnh cần phải thực
• Dựa vào mơ tả tḥt tốn, ta viết chương trình bằng một ngôn ngữ lập trình
• Dựa vào mơ tả tḥt tốn, ta viết chương trình bằng một ngôn ngữ lập trình
QUÁ TRÌNH GIẢI BÀI TOÁN TRÊN MÁY TÍNHQUÁ TRÌNH GIẢI BÀI TOÁN TRÊN MÁY TÍNH
(7)TḤT TỐN VÀ MƠ TẢ TḤT TỐNTḤT TỐN VÀ MƠ TẢ TḤT TỐN
Xét thuật tốn pha trà mời khách.
1 Xác định toán
1 Xác định tốn
• INPUT
• INPUT
• OUTPUT
• OUTPUT
Trà, nước sôi, ấm chén
Trà, nước sôi, ấm chén
Chén trà đã pha để mời khách
Chén trà đã pha để mời khách
2 Mô tả tḥt tốn
2 Mơ tả tḥt tốn
Bước1 : Tráng ấm, chén bằng nước sôi Bước 2: Cho trà vào ấm
(8)TḤT TỐN VÀ MƠ TẢ TḤT TỐNTḤT TỐN VÀ MƠ TẢ TḤT TỐN
Xét tốṇ : Giải phương trình bậc dạng tởng
qt bx + c = 0
1 Xác định toán
1 Xác định tốn
• INPUT
• INPUT
• OUTPUT
• OUTPUT
Các hệ số b c
Các hệ số b c
Nghiệm của phương trình bậc
(9)2 Mơ tả tḥt tốn
2 Mơ tả tḥt tốn
Bước1 : Nếu b=0 chủn tới bước 3;
Bước : Tính nghiệm của phương trình x=-c/b chuyển tới bước 4;
Bước : Nếu c ≠ 0, thơng báo phương trình cho vô số nghiệm Ngược lại (c=0), thông báo phương trình có vơ số nghiệm.;
Bước : Kết thúc
(10)THUẬT TOÁN VÀ MƠ TẢ TḤT TỐNTḤT TỐN VÀ MƠ TẢ TḤT TỐN
Xét tốṇ : Làm trứng tráng 1 Xác định toán
1 Xác định tốn
• INPUT
• INPUT
• OUTPUT
• OUTPUT
Trứng, dầu ăn, muối hành
Trứng, dầu ăn, muối hành
Trứng tráng
Trứng tráng
2 Mơ tả tḥt tốn
2 Mơ tả tḥt tốn
Bước1 : Đập trứng, tách vỏ cho trứng vào bát
Bước 2: Cho một chút muối hành tươi thái nhỏ vào bát trứng Dùng để quấy mạnh cho đến đều
Bước 3: Cho một thìa dầu ăn vào chảo, đun nóng đều đổ trứng vào Đun tiếp khoảng phút
Bước 4: Lật mặt của miếng trứng úp xuống dưới Đun tiếp khoảng phút
Bước 5: Lấy trứng đĩa
Thuật tốn gì?
* Tḥt tốn dãy hữu hạn thao tác cần thực theo một trình tự xác định để để thu được kết qủa cần thiết từ những điều kiện cho trước.
(11)MỘT SỐ VÍ DỤ VỀ TḤT TỐNMỢT SỚ VÍ DỤ VỀ TḤT TỐN
Ví dụ 1: Một hình A được ghép từ một hình chữ nhật với chiều rộng
2a, chiều dài b một hình bán nguyệt bán kính a hình
b
(12)1 Xác định toán
1 Xác định tốn
• INPUT
• INPUT
• OUTPUT
• OUTPUT
Các hệ số b a
Các hệ số b a
Diện tích S của hình A
Diện tích S của hình A
2 Mơ tả tḥt tốn
2 Mơ tả tḥt tốn
Bước1 : xác định hệ số b, a; Bước : Tính S1 ← 2ab;
Bước : S ← S1 + S2 Bước : Kết thúc
Bước : Tính S2 ← ; 2
2 a
(13)Ví dụ 2: Tính tổng 100 số tự nhiên đầu tiên
1 Xác định tốn
1 Xác định tốn
• INPUT
• INPUT
• OUTPUT
• OUTPUT
Dãy 100 số tự nhiên đầu tiên: 1, 2, …, 100
Dãy 100 số tự nhiên đầu tiên: 1, 2, …, 100
Giá trị của tổng 1+2+…+100
(14)2 Mơ tả tḥt tốn
2 Mơ tả tḥt tốn
Bước1 : SUM ← 0; i ← 0; Bước : i ← i + 1;
(15)Ví dụ 3: Đổi giá trị hai biến x y
1 Xác định toán
1 Xác định tốn
• INPUT
• INPUT
• OUTPUT
• OUTPUT
Hai biến x y có giá trị tương ứng a b
Hai biến x y có giá trị tương ứng a b
Hai biến x y có giá trị tương ứng b a
Hai biến x y có giá trị tương ứng b a
2 Mơ tả tḥt tốn
2 Mơ tả tḥt tốn
(16)Ví dụ 4: Cho hai số thực a b Hãy cho biết kết quả so sánh hai số dạng “a lớn b”, “a nhỏ b”, “a bằng b”,
1 Xác định toán
1 Xác định toán
• INPUT
• INPUT
• OUTPUT
• OUTPUT
Hai số thực a b
Hai số thực a b
Kết quả so sánh
Kết quả so sánh
2 Mô tả tḥt tốn
2 Mơ tả tḥt tốn
Bước1 : Nếu a > b, kết quả “a lớn b”;
Bước : Nếu a < b, kết quả “a nhỏ b”; ngược lại “a bằng b”;
(17)Quả lớn
Quả mới lớn
nhất ?
Ồ ! Quả lớn
hơn
Tìm quả lớn
MAX
(18)1 Xác định toán
1 Xác định tốn
• INPUT
• INPUT
• OUTPUT
• OUTPUT
dãy số A số a1, a2, …,an (n≥1)
dãy số A số a1, a2, …,an (n≥1)
Giá trị MAX = max{a1, a2, …,an}
Giá trị MAX = max{a1, a2, …,an}
2 Mơ tả tḥt tốn
2 Mơ tả tḥt tốn
Bước1 : MAX ← a1; i ← 1; Bước : i ← i + 1;
Bước : Nếu i > n, thì chuyển đến bước 5;
(19)MEMORIZE
MEMORIZE
1 Xác định toán việc xác định điều kiện ban đầu (thông tin vào – INPUT) và kết quả cần thu được (thông tin – OUTPUT).
2 Giải toán máy tính đưa cho máy tính dãy hữu hạn thao tác đơn giản (thuật toán) mà nó có thể thực được để cho ta kết quả.
3 Quá trính giải một toán máy tính gồm
bước: xác định tốn; mơ tả tḥt tốn; viết chương trình.