TRƯỜNG THPT TRẦN HƯNG ĐẠO TỔ TOÁN - TIN - - CHUYÊN ĐỀ BÀI TỐN VÀ THUẬT TỐN I MỤC ĐÍCH – YÊU CẦU - Giúp học sinh hiểu khái niệm then chốt "bài toán" "thuật toán", nắm tính chất thuật tốn cách diễn tả thuật toán cách: liệt kê sơ đồ khối - Giúp cho học sinh có nhìn trực quan sinh động môn Tin học - Rèn luyện cho học sinh có tư khoa học, logic, tác phong sáng tạo, say mê môn học II NỘI DUNG CHUYÊN ĐỀ Chuẩn bị - Về phương pháp: + Giáo viên soạn trước giảng "Bài tốn thuật tốn" máy tính phần mềm PowerPoint (Bài soạn dạy tiết học) Sử dụng phương pháp thuyết trình kết hợp vấn đáp gọi 5-6 học sinh lên bảng đứng làm mẫu cần biểu diễn thuật tốn Tìm Max thuật toán xếp + Chuẩn bị số tập áp dụng để rèn luyện kỹ biểu diễn thuật toán - Về phương tiện: + Giáo viên chuẩn bị dàn máy tính (để bàn xách tay), máy chiếu, chiếu + Học sinh cần có đầy đủ sách bút, ghi Các bước thực giảng "Bài toán thuật toán" Hoạt động 1: Giúp học sinh hiểu rõ khái niệm "Bài toán" Tin học: Giáo viên đặt vấn đề cách đưa ví dụ để học sinh quan sát: Ví dụ 1: Giải phương trình bậc tổng quát: ax2+ bx+ c= (a khác 0) Ví dụ 2: Giải toán "Trăm trâu trăm cỏ Trâu đứng ăn năm Trâu nằm ăn ba Lụ khụ trâu già Ba bó" Hỏi có trâu loại ? Ví dụ 3: Bài tốn quản lý học sinh kỳ thi tốt nghiệp máy tính: SBD Họ tên Điểm toán Điểm Điểm Điểm Ngoại văn lý ngữ Điểm sinh Điểm Tổng sử điểm Xếp loại 410001 Phạm Ngọc Toàn 43 Khá 410002 Bùi Long Thể 4 21 Yếu 410003 Hà Nguyên Diệp 8 10 51 Giỏi 410004 Nguyễn Thị Thanh Bình 39 Khá 410005 Phan Thị Thanh 31 TB Phát vấn học sinh: Em xác định kiện ban đầu kết tốn có dạng ? (Dạng số, hình ảnh, hay văn ?) Học sinh trả lời: ví dụ Dữ kiện (Cho biết) Các hệ số a, b, c Kết (cần tìm) Nghiệm phương trình (nếu có) có dạng số ngun số thực Số lượng trâu đứng, trâu nằm trâu già ( dạng số nguyên) Có 100 trâu 100 bó cỏ Mỗi trâu đứng ăn bó ví dụ Mỗi trâu nằm ăn bó trâu già ăn chung bó Số báo danh, họ tên, ngày sinh, Tổng điểm học sinh, xếp ví dụ điểm tốn, điểm văn, điểm lý loại tốt nghiệp nào, đỗ hay trượt Phát vấn học sinh: Em nhận xét giống khác toán Tin học toán Toán học? Học sinh trả lời: Bài toán Toán học yêu cầu giải cụ thể để tìm kết quả, cịn tốn Tin học yêu cầu máy tính giải đưa kết cho Từ Giáo viên trình chiếu khái niệm Bài toán Tin học : Là việc mà ta muốn máy tính thực để từ thơng tin đầu vào (dữ kiện) máy tính cho ta kết mong muốn - Những kiện toán gọi Input - Kết máy tính trả gọi Output tốn Sau giáo viên u cầu học sinh tìm lại Input Output ví dụ Như vậy, khái niệm tốn khơng bó hẹp phạm vi mơn tốn, mà phải hiểu vấn đề cần giải thực tế, để từ kiện cho máy tính tìm kết cho Hoạt động 2: Giúp học sinh hiểu rõ khái niệm "Thuật toán" Tin học: +Bước 1: Giáo viên nêu tình gợi động cơ: Làm để từ Input tốn, máy tính tìm cho ta Output ? Học sinh trả lời: Ta cần tìm cách giải tốn làm cho máy tính hiểu cách giải Đến có em thắc mắc: Như phải giải tốn mà có cịn phức tạp Tốn học ? Giáo viên giải thích: Nếu Toán học phải giải trực tiếp để lấy kết quả, đây, cần tìm cách giải tốn tổng quát máy tính giải cho ta lớp tốn đồng dạng Ví dụ: Bài tốn giải phương trình bậc với hệ số a,b,c bất kỳ, tốn tìm diện tích tam giác với độ dài cạnh nhập bất kỳ, tốn tìm UCLN số nguyên bất kỳ, toán quản lý học sinh ,v.v +Bước 2: Giáo viên đưa khái niệm thuật tốn tính chất thuật toán: Khái niệm: “Thuật toán để giải toán dãy hữu hạn thao tác xếp theo trình tự xác định cho sau thực dãy thao tác ấy, từ thơng tin đầu vào (Input) tốn ta nhận kết (Output) cần tìm” Các tính chất thuật tốn: - Tính dừng - Tính xác định - Tính đắn + Bước 3: Giới thiệu cho học sinh cách biểu diễn thuật toán - Cách l: Liệt kê bước: Chính dùng ngôn ngữ tự nhiên để diễn tả bước cần làm giải tốn máy tính - Cách 2: Dùng sơ đồ khối Một số quy ước biểu diễn thuật toán sơ đồ khối: Khối hình oval: mơ tả thao tác nhập xuất liệu -2- Khối hình chữ nhật: mơ tả thao tác tính tốn Khối hình thoi: mơ tả thao tác so sánh Hình mũi tên : Chỉ truyền thông Giáo viên nhắc học sinh phải nhớ quy ước để biểu diễn thuật toán xác *Hoạt động 3: Giới thiệu hướng dẫn học sinh mơ tả, biểu diễn thuật tốn số tốn điển hình.(Trọng tâm) Bài tốn 1: Giải phương trình bậc tổng quát : ax2+bx+c = ( a ≠ 0) Trước tiên giáo viên yêu cầu học sinh xác định Input Output toán: - Input: hệ số a,b,c - Output: Nghiệm phương trình Sau gọi học sinh đứng lên nhắc lại cách giải phương trình bậc đầy đủ, bước hướng dẫn học sinh viết thuật toán theo cách Lưu ý giáo viên vừa trình chiếu bước thuật tốn vừa vấn đáp học sinh ( dùng hiệu ứng xuất phù hợp) Cách 1: Liệt kê bước - Bước 1: Bắt đầu - Bước 2: Nhập hệ số a,b,c - Bước 3: Tính biệt số Error! Objects cannot be created from editing field codes = b24ac - Bước 4: Nếu Error! Objects cannot be created from editing field codes < thơng báo phương trình vơ nghiệm kết thúc - Bước 5: Nếu Error! Objects cannot be created from editing field codes = thơng báo phương trình có nghiệm kép Error! Objects cannot be created from editing field codes kết thúc - Bước 6: Nếu Error! Objects cannot be created from editing field codes > thơng báo phương trình có nghiệm x1,x2=Error! Objects cannot be created from editing field codes., kết thúc - Bước 7: Kết thúc Cách 2: Biểu diễn thuật toán sơ đồ khối Bắt đầu Nhập a,b,c Tính = b2- 4ac Max Max 4.2: i i+1 quay lại bước Cách 2: Biểu diễn sơ đồ khối Nhập n dãy a1,a2,…,an Maxa1 , i i >N? Đưa Max kết thúc Đ S S >Max? Đ Maxai i i + Bài toán 4: Dùng thuật toán xếp tráo đổi để xếp dãy số a1,a2, …,an theo thứ tự không giảm -5- Ý tưởng: - Duyệt từ đầu dãy đến cuối dãy, gặp số >ai+1 đổi chỗ số cho nhau.Tức số đứng sau phải lớn hay số đứng trước,giống học sinh xếp hàng phảI tuân theo quy tắc bé đứng trước lớn đứng sau Như ta phải duyệt dãy số nhiều lần, lần đưa số vị trí Giáo viên lại tiếp tục trình chiếu hướng dẫn học sinh cách biểu diễn thuật toán Cách 1: Liệt kê bước Bước 1: Nhập số lượng số hạng dãy (N) số cụ thể a1,a2,…,an Bước 2: MN Bước 3: Nếu M< đưa dãy số xếp Bước 4: MM-1, i0 Bước 5: ii+1 Bước 6: Nếu i>M quay lại bước Bước 7: Nếu >ai+1 đổi chỗ số cho quay lại bước Cách 2: Biểu diễn sơ đồ khối Nhập n dãy a1,a2,…,an MN MM ? S Tráo đổi ai+1 Đ >ai+1 ? Sau trình chiếu cách biểu diễn thuật toán xếp, giáo viên gọi em học sinh lên đứng trước lớp theo thứ tự ngẫu nhiên để mơ trực tiếp thuật tốn xếp Cần xếp lại cho em đứng theo thứ tự bé đứng trước, lớn đứng sau theo bước thuật tốn Mơ phỏng: Lúc đầu em đứng sau: ( Ta coi em số để tiện theo dõi) -6- Lần duyệt thứ (tính từ phải sang trái): Bạn số cao bạn số nên đổi chỗ Bạn số cao bạn số nên đổi chỗ -7- Bạn số cao bạn số nên đổi chỗ Bạn số cao bạn số nên đổi chỗ Sau lần duyệt thứ bạn số vị trí Lần duyệt thứ 2: Bạn số cao bạn số nên đổi chỗ -8- Sau lần duyệt thứ bạn số số vị trí Lần duyệt 3: Bạn số cao bạn số nên đổi chỗ, sau lần ta bạn vị trí: số 1,4,5,6 Lần duyệt 4 Bạn số cao bạn số nên đổi chỗ,cịn lại vị trí Sau vòng duyệt ta hàng theo thứ tự sau: -9- - 10 - ... khác toán Tin học toán Toán học? Học sinh trả lời: Bài toán Toán học yêu cầu giải cụ thể để tìm kết quả, cịn tốn Tin học yêu cầu máy tính giải đưa kết cho Từ Giáo viên trình chiếu khái niệm Bài. .. đưa khái niệm thuật tốn tính chất thuật toán: Khái niệm: ? ?Thuật toán để giải toán dãy hữu hạn thao tác xếp theo trình tự xác định cho sau thực dãy thao tác ấy, từ thơng tin đầu vào (Input) tốn... Sau hướng dẫn xong cách biểu diễn thuật toán để giải toán trên, giáo viên nêu ứng dụng toán thực tế: dùng để giải phương trình bậc máy tính cá nhân, tích hợp vào máy tính bỏ túi như: Casio FX