Kiến thức: Biết các bước cơ bản khi tiến hành giải toán trên máy tính: xác định bài toán; xây dựng và chọn thuật toán; lựa chọn câu trúc dữ liệu; viết chương trình; hiệu chỉnh; đưa ra kế[r]
(1)GA: Tin hoïc 10 Tieát 18 Ngày soạn: 28 / 10 / 2006 ; GV: Đàng Ngọc Huynh ngày giảng: 30 / 10 / 2006 ; Lớp: 10 §6 GIẢI BAØI TOÁN TRÊN MÁY TÍNH Baøi: Tieát PPCT 18 I MUÏC TIEÂU BAØI HOÏC: Kiến thức: Biết các bước tiến hành giải toán trên máy tính: xác định bài toán; xây dựng và chọn thuật toán; lựa chọn câu trúc liệu; viết chương trình; hiệu chỉnh; đưa kết và hướng dẫn sử dụng Kyõ naêng Thái độ II CHUAÅN BÒ: Taøi lieäu, baøi taäp: Duïng cuï, thieát bò: III TIẾN TRÌNH LÊN LỚP: Oån định, tổ chức lớp: Kieåm tra baøi cuõ: Baøi giaûng: Hoạt động Thầy và Trò Noäi dung ghi baûng GV: ĐVĐ Máy tính là công cụ hỗ trợ người nhiều sống, người muốn máy tính thì phải đưa lời giải bài toán đó vào máy dạng các lệnh Như các bước để xây dựng bài toán là gì? *Việc giải bài toán trên máy tính thường tiến hành qua các bước sau: Bửụực 1: Xác định bài toán; Bước 2: Lùa chän hoỈc thiÕt kÕ thuËt to¸n; Bửụực 3: Viết chương trình; GV: Chúng ta tìm hiểu bước giải bài Bước 4: HiƯu chØnh; toán Bước Bước 5: ViÕt tµi liƯu Bửụực 1: Xác định bài toán: GV: Xác định bài toán là ta xác định các thaønh phaàn naøo? Xác định bài toán HS: Trà lời: Xác định Input, Output Xaùc ñònh hai thµnh phÇn: Input vµ GV: ẹuựng roài Việc xác định bài toán chính Output Tửứ ủoự xaực ủũnh ngoõn ngửừ laọp trỡnh là xác định rõ hai thành phần này và mối quan vaứ caỏu truực dửừ lieọu moọt caựch thớch hụùp hÖ gi÷a chóng Trang Lop10.com (2) Tieát 18 GA: Tin hoïc 10 GV: Đàng Ngọc Huynh VD: Bài toán: Tìm ƯCLN số nguyên döông a vaø b *XÑBT: -Input: Hai soá nguyeân döông M vaø N GV: Sau xaùc ñònh xong Input vaø Output bài toán ta sang bước tiếp theo: -Output: ÖCLN cuûa soá M vaø N Ta coù: M vaø N thuoäc soá nguyeân döông (kiểu liệu) Bước 2: Lùa chän hoỈc thiÕt kÕ thuËt to¸n: GV: Em nào nhắc lại thuật toán là gì? HS: Trả lời câu hỏi GV: Bài toán tìm kiếm có bao nhiêu thuật toán? HS: Có thuật toán: -TT Tìm kiế -TT tìm kieám Nhò phaân GV: Theo các em Thuật toán Tìm kiếm có giải bài toán Sắp xếp ( hay bài toán khác)? HS: Trả lời (không giải được) GV: Vậy Thuật toán Tìm kiếm dùng để giải bài toán nào? HS: Trả lời: Dùng để giải bài toán Tìm kieám GV: Giaûi thích roõ hôn veà caùc tieâu chí cuûa Thuật toán tối ưu -Dễ hiểu; (Đọc vào ta có thể hiểu ngay) Lùa chän hoÆc thiÕt kÕ thuËt to¸n a) Lùa chän thuËt to¸n Mçi thuËt to¸n chØ gi¶i mét bµi to¸n nµo đó, bài toán có thể có nhiều thuật to¸n kh¸c để gi¶i Vậy ta phải chọn thuật toán tối ưu thuật toán đưa Thuật toán tối ưu là thuật toán có các tieâu chí sau: -Deã hieåu; -Trình baøy deã nhìn; -Thời gian chạy nhanh; -Tốn ít nhớ -Trình baøy deã nhìn; ( Roõ raøng) -Thời gian chạy nhanh; (TT Tìm kiế > TT tìm kiếm Nhị phân) -Tốn ít nhớ ( Không dùng nhiều biến (ô nhớ)) Trang Lop10.com (3) Tieát 18 GA: Tin hoïc 10 GV: Đàng Ngọc Huynh GV: Sau ta chọn thuật toán thích b) DiÔn t¶ thuËt to¸n: hợp, ta tìm cách diễn tả thuật toán VD: Tìm ¦CLN(M, N)? GV: Laỏy laùi Ví dụ (Tìm ước chung lớn Xác định bài toán - Input: NhËp M, N; (ƯCLN) hai số nguyên dương M và N) - Output: ¦CLN(M, N) GV: Hướng dẫn cách nêu ý tưởng bài toán: Ta xeùt VD: Tìm ÖCLN(M = 15,N = 6) ý tưởng: Lượt 1: - NÕu M = N th× Caùch moâ taû: ÖCLN(15, ) giá trị chung đó là ƯCLN M và N; -Vò trí soá nhoû ghi laïi ÖCLN( ? , 6) - NÕu M > N th× -Vị trí còn lại lấy số lớn-số nhỏ ÖCLN ( 9, ) ¦CLN(M, N) = ¦CLN(M - N, N) Ta lập lại lượt M = N thì đưa - NÕu M < N th× KQ roà keát thuùc ¦CLN(M, N) = ¦CLN(M , N - M); Lượt 2: Vò trí soá nhoû ghi laïi Vị trí còn lại lấy số lớn-số nhỏ ÖCLN( ? , 6) ÖCLN ( 3, ) Lượt 3: Vò trí soá nhoû ghi laïi Vị trí còn lại lấy số lớn-số nhỏ ÖCLN( , ?) ÖCLN ( 3, ) M = N = = ÖCLN(15, 6) ThuËt to¸n: (Thuật toán dùng hiệu số) Từ ý tưởng trên GV hướng dẫn mô tả * DiƠn t¶ b»ng c¸ch liƯt kª: thuật toán cách liệt kê Bước 1: NhËp M, N; Bước 2: NÕu M = N th× lÊy gi¸ trÞ chung nµy làm ƯCLN chuyển đến bước 5; GV: Mô các bước thực thuật toán Bửụực 3: Nếu M > N thì M M - N quay trªn lại bước 2; Lượt M 15 N 6 ÖCLN(15, 6) = Bửụực 4: N N - M quay lại bước 2; 3 Bước 5: §a kÕt qu¶ ¦CLN KÕt thĩc HS: Lên bảng mô tả TT sơ đồ khối Trang Lop10.com (4) Tieát 18 GA: Tin hoïc 10 GV: Đàng Ngọc Huynh b) Thuật toán diễn tả sơ đồ khối NhËp M vµ N M=N? Sai M>N? §óng §a M; KÕt thóc Sai NN-M §óng MM-N GV: Bài toán tìm ƯCLN(M,N) trên có thể giải thuật toán khác Đó là Thuật toán duøng thöông cuûa soá hay coøn goïi laø Thuaät Thuật toán: Euclide (Ơ-clit) toán Euclide (Ơ-clit) Ý tưởng thuật toán Euclide: (Thuật toán dùng thương số) Tìm ÖCLN(M,N): Bước 1: NhËp M, N; - M N; Bước 2: Số dư 0; - N M mod N; Lặp lại quá trình này N = thì ñöa keát quaû ÖCLN cuûa soá laø M, roài keát thuùc Bước 3: NÕu N = thì đưa kết ÖCLN(M,N) laø M, råi KÕt thóc; Bước 4: Nếu N khác thì Soá dö M mod N; M N; N Soá dö; Bước 5: Quay lại Bước Trang Lop10.com (5) GA: Tin hoïc 10 Tieát 18 GV: Đến đây ta đã có thuật toán bài toán, công việc là phải chuyển thuật toán thành chương trình, ta sang bước tieáp theo: Bước 3: Viết chương trình GV: Em nào cho biết có loại NNLT? HS: Trả lời: Có loại: (Ngôn ngữ máy; Hợp ngữ; Ngôn ngữ bậc cao) GV: Do NNLT có nhiều loại nên công việc trước tiên ta phải chọn NNLT thích hợp GV: Đàng Ngọc Huynh 3/ Vieát chöông trình: Là việc lựa chọn CTDL và NNLT để diễn đạt thuật toan trên máy tính Khi viết chương trình cần chọn ngôn ngữ thích hợp, viết chương trình ngôn ngữ nào thì phải tuân theo qui định ngữ pháp ngôn ngữ đó GV: Chương trình viết không phải lúc nào đảm bảo là hoàn toàn đúng đắn, 4/ Hiệu chỉnh: đó phải thử chương trình các Sau viết xong chương trình cần phải input đặc trưng để kiểm tra sai sót thử chương trình số INPUT đặc trưng Trong quá trình thử phát sai sót thì phải sửa lại chương trình Quá GV: Sau chương trình đã hoàn thiện, trình này gọi là hiệu chỉnh coâng vieäc coøn laïi laø vieát taøi lieäu moâ taû thuaät toán, chương trình và hướng dẫn sử dụng 5/ Viết tài liệu: chöông trình Viết mô tả chi tiết bài toán, thuật toán, chương trình và hướng dẫn chương trình 4.Tổng kết nội dung, đánh giá cuối bài: 5.Dặn dò, kế hoạch học tập tiết sau: Học bài cũ, Xem trước bài (Bài 7, và 9) Trang Lop10.com (6) GA: Tin hoïc 10 Tieát 18 GV: Đàng Ngọc Huynh IV NHỮNG VẤN ĐỀ CẦN RÚT KINH NGHIỆM: Trang Lop10.com (7)