Download
b i c n.
Skip this Video
Loading SlideShow in 5 Seconds..
Bài cũ: PowerPoint Presentation

Bài cũ:

178 Views Download Presentation
Download Presentation

Bài cũ:

- - - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript

  1. Bài cũ: 1.Nêu khái niệm bài toán, thuật toán? 2.Trình bày thuật toán bằng cách các bước liệt kê bài toán giải phương trình bậc nhất : ax+ bx = 0 (a ≠ 0).

  2. LIỆT KÊ : • Bước 1 : Nhập a, b. • Bước 2 : Nếu a = 0 thì quay lại bước 1, ngược lại thì qua bước 3. • Bước 3 : Gán cho x giá trị -b/a, rồi qua bước 4. • Bước 4 : Đưa ra kết quả x và kết thúc

  3. Tiết 11 Bài 4.BÀI TOÁN và THUẬT TOÁN (t2)

  4. MÔ TẢ CÁC THAO TÁC TRONG THUẬT TOÁN Nêu ra tuần tự các thao tác cần tiến hành Liệt kê Có 2 cách mô tả Dùng sơ đồ khối Dùng một số biểu tượng thể hiện các thao tác

  5. DÙNG SƠ ĐỒ KHỐI Quy ước: Trong sơ đồ khối, người ta dùng một số biểu tượng thể hiện các thao tác như : : Thể hiện các thao tác nhập, xuất dữ liệu : Thể hiện các phép toán : Thể hiện các thao tác so sánh : Quy định trình tự thực hiện các thao tác

  6. đúng VD 1: Từ thuật toán gpt : ax + b = 0 theo cách liệt kê hãy biểu diễn thuật toán bằng sơ đồ khối SƠ ĐỒ KHỐI LIỆT KÊ • Bước 1 : Nhập a, b. • Bước 2 : Nếu a = 0 thì quay lại bước 1, ngược lại thì qua bước 3. • Bước 3 : Gán cho x giá trị -b/a, rồi qua bước 4. • Bước 4 : Đưa ra kết quả x và kết thúc. Nhập a, b a = 0 Sai x = -b/a Đưa ra x, kết thúc

  7. VD 2:Cho dãy số gồm N số sau (N = 6): 11 7 25 4 15 9 Tìm giá trị NHỎ NHẤT của dãy số trên ? • Hãy xác định bài toán? • Tìm ý tưởng? • Xây dựng thuật toán?

  8. Xác định bài toán • Input : Số nguyên dương N và dãy N số a1,...,aN. • Output : Giá trị lớn nhất (Max) của dãy số.

  9. Tìm ý tưởng? • Gán Min bằng giá trị phần tử đầu tiên của dãy. • Lần lượt so sánh Min với các phần tử tiếp theo trong dãy. Tại mỗi vị trí so sánh : • + Nếu Min bé thua giá trị phần tử cần so sánh trong dãy thì lấy giá trị của phần tử đó gán lại cho Min. • - Khi so sánh đến phần tử cuối cùng trong dãy số thì Min sẽ mang giá trị nhỏ nhất của dãy.

  10. Thuật toán: Liệt kê • Bước 1 :Nhập N và dãy a1,…, aN. • Bước 2 :Đặt Min= a1, i=2; • Bước 3 :Nếu i<=N thì thực hiện bước 4, nếu không thì chuyển đến bước 5. • Bước 4 : • 4.1.Nếu Min < ai thì đặt Min =ai. • 4.2.Tăng i một đơn vị rồi quay về bước 3 • Bước 5 :Đưa ra Min rồi kết thúc.

  11. Nhập N và dãy a1,…, aN Min = a1, i = 2 Sai Đưa ra Min rồi kết thúc i <=N đúng Sai Min > ai đúng Min = ai i = i+1 SƠ ĐỒ KHỐI :

  12. BÀI TẬP VỀ NHÀ 1.Trình bày thuật toán bằng 1 trong 2 cách đã học: tìm Max, giá trị lớn nhất của dãy số gồm N số a1,…, aN 2. Bài 3, 4, 5 trang 44 (SGK)

  13. Bài cũ: 1.Trình bày thuật toán sắp xếp tráo đổi ? 2.Trình bày thuật toán tìm kiếm tuần tự?

  14. Tiết 14 Bài 4.BÀI TOÁN và THUẬT TOÁN (t5)

  15. Bài toán: Cho dãy n số nguyên a1,..,an đã sắp xếp không giảm, số nguyên k. Hãy tìm và chỉ ra vị trí của k (nếu có) trong dãy.

  16. Trò chơi Tìm số nguyên trong đoạn từ 1..100 Hãy chuẩn bị số bất kỳ, sau 7 câu hỏi sẽ tìm được?

  17. Thuật toán tìm kiếm nhị phân Ý tưởng:Sử dụng tính chất dãy A đã sắp xếp không giảm, ta tìm cách thu hẹp nhanh phạm vi tìm kiếm bằng cách so sánh k với số hạng ở giữa dãy (agiưa), khi đó chỉ xảy ra một trong ba trường hợp: - Nếu agiưa= k => tìm được chỉ số, kết thúc;- Nếu agiưa > k => do dãy A đã được sắp xếp không giảm nên việc tìm kiếm thu hẹp chỉ xét từ a1 agiưa -1; - Nếu agiưa < k => do dãy A đã được sắp xếp không giảm nên việc tìm kiếm thu hẹp chỉ xét từ agiưa + 1 aN. Quá trình trên được lặp đi lặp lại cho đến khi tìm được OUTPUT.

  18. Mô phỏng thuật toán tìm kiếm nhị phân  Với k = 21 và dãy A gồm 10 số hạng như sau: 9 33 21 21 21 22 22 30 31 33 A 2 4 5 6 21 22 30 31 6 6 10 i 1 2 3 4 5 6 7 8 9 Lượt thứ nhất: agiưa là a5 = 9; 9 < 21  vùng tìm kiếm thu hẹp trong phạm vi từ a6 a10; Lượt thứ hai: agiưa là a8 = 30; 30 > 21 vùng tìm kiếm thu hẹp trong phạm vi từ a6 a7; Lượt thứ ba: agiưa là a6 = 21; 21= 21  Vậy số cần tìm là i = 6.

  19. Hãy trình bày thuật toán tìm kiếm nhị phân bằng sơ đồ khối từ cách trình bày liệt kê? Thuật toán tìm kiếm nhị phân: các bước liệt kê Bước 1: Nhập N, các số hạng a1, a2,…, aN và giá trị khoá k; Bước 2: Đầu 1, Cuối  N; Bước 3: Giưa  [(đầu + Cuối)/2]; Bước 4: Nếu aGiưa = k thì thông báo chỉ số Giưa rồi kết thúc; Bước 5: Nếu aGiưa > k thì đặt Cuối = Giưa -1 rồi chuyển sang bước 7; Bước 6: Đầu  Giưa + 1; Bước 7: Nếu đầu > Cuối thì thông báo dãy A không có số hạng có giá trị bằng k, rồi kết thúc; Bước 8: Quay lại bước 3.

  20. BÀI TẬP VỀ NHÀ Bài 1, 3, 4, 5, 6 trang 27 – 28 (SGK)