Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 20 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
20
Dung lượng
315,5 KB
Nội dung
SỞ GIÁO DỤC VÀ ĐÀO TẠO THANH HOÁ TRƯỜNG THPT BA ĐÌNH NGA SƠN SÁNG KIẾN KINH NGHIỆM PHÂN BẬC HỆ THỐNG BÀI TẬP XÂY DỰNG THUẬT TOÁN GIẢI BÀI TỐN TRÊN MÁY TÍNH Họ tên: Vũ Thị Huệ Chức vụ: Giáo Viên Đơn vị công tác: Trường THPT Ba Đình Nga Sơn SKKN thuộc mơn: Tin Học THANH HOÁ NĂM 2016 Mục lục I Mở đầu 1 Lý chọn đề tài Mục đích nghiên cứu Đối tượng nghiên cứu Phương pháp nghiên cứu II Nội dung sáng kiến kinh nghiệm Cơ sở lý luận vấn đề 2 Thực trạng vấn đề trước áp dụng sáng kiến kinh nghiệm Giải pháp tổ chức thực Hiệu đề tài nghiên cứu“ Phân bậc hệ thống tập xây dựng thuật toán giải tốn máy tính” 17 III Kết luận đề xuất………………………………………………………17 Kết luận……………………….………… …………………………… 17 Đề Xuất ………………………………………………………………….18 I Mở đầu Lý chọn đề tài Xây dựng thuật tốn định hướng hình thành cho học sinh ý tưởng lập trình giải tốn máy tính Trong chương trình Tin Học lớp 10, học số “BÀI TOÁN VÀ THUẬT TOÁN” em bước đầu làm quen hình thành xây dựng thuật toán đơn giản để giải toán chương trình phổ thơng Qua thực tế giảng dạy cho em cá nhân nhận thấy em biết đưa toán, hiểu khái niệm toán, biết xác định rõ INPUT, OUTPUT đưa ý tưởng để giải tốn tốt Tuy nhiên, “ Thuật tốn” hiểu mơn na thủ thuật để giải tốn, mà cịn rộng thuật giải, sáng tạo tư người, khơng phải máy tính Đó khái niệm tương đối khó với em học sinh Các em nhiều lúng túng khó khăn xây dựng thuật tốn mơ tả cho thuật tốn Trăn trở với vấn đề thân tơi tích cực nghiên cứu nội dung sách giáo khoa, tài liệu tập huấn dạy học, tham gia chuyên đề đổi phương pháp dạy học, đặc biệt tích cực dự đồng nghiệp môn đúc rút kinh nghiệm, lấy ví dụ gần gũi với em sống, tích hợp kiến thức từ mơn học vật lý, toán học…từ toán dễ đến tốn khó bám sát theo ba dạng cấu trúc lập trình: Tuần tự, rẽ nhánh lặp Tôi mạnh dạn ứng dụng sáng kiến kinh nghiệm “ Phân bậc hệ thống tập xây dựng thuật tốn giải tốn máy tính” vào giảng dạy thu tiết học thực lý thú có hiệu Mục đích nghiên cứu Đứng trước tốn cần giải máy tính, muốn cho em hiểu việc xác định tốn, đặt vấn đề cho tốn tìm xây dựng thuật toán vấn đề quan trọng, chủ chốt để viết lên chương trình Các em phải biết đưa thuật toán với tập hữu hạn thao tác, phép toán…được đặt tên, thực theo trình tự thích hợp đối tượng để đạt điều mong muốn – Đó thuật tốn tối ưu Các em biết mơ tả thuật tốn số toán chuẩn kiến thức Như việc lựa chọn ngơn ngữ viết chương trình để diễn tả thuật tốn khơng cịn vấn đề khó khăn Các em thấy hứng thú u thích mơn học Giúp em có kiến thức lập trình Đối tượng nghiên cứu - Là thuật toán cho tốn có tính phân bậc từ dễ đến khó theo ba cấu trúc lập trình: Tuần tự, rẽ nhánh cấu trúc lặp, phù hợp với nội dung chương trình đối tượng dạy học Tin Học lớp 10 - Tôi áp dụng với em học sinh khối 10 trường THPT Ba Đình – Nga Sơn – Thanh Hóa, dạy cho em biết thấy việc xây dựng thuật toán giải toán máy tính khơng phải khó, em thực u thích đam mê lập trình Tin Học Phương pháp nghiên cứu Đề tài sử dụng phương pháp nghiên cứu xây dựng sở lý thuyết, phân tích tổng hợp, điều tra khảo sát thực tế xử lý số liệu II Nội dung sáng kiến kinh nghiệm Cơ sở lý luận vấn đề Để học tốt lập trình, dù ngơn ngữ xác định tốn trình bày thuật tốn điều học sinh cần phải nắm vững Thuật toán để giải toán khái niệm mẻ khó em học sinh Các em cịn nhiều lúng túng, khơng tìm cách giải trình bầy thuật tốn, chưa hình dung bước thực theo trình tự để máy tính thực hiện, chưa mơ tả thuật tốn ví dụ Các em chưa biết thực hay lựa chọn thuật toán tối ưu ba tính chất thuật tốn tính đắn, tính xác tính dừng Điều ảnh hưởng tới khả tiếp thu kiến thức lập trình em lại khó khăn hơn, dẫn đến em có tâm lí học chán nản, khơng thích học mơn lập trình Hiện tài liệu ngơn ngữ lập trình, ví dụ thuật tốn cịn hạn chế, ít, tài liệu tham khảo thuật toán cho em học sinh chưa có nhiều Việc đưa hệ thống tập có tính phân bậc cho em hoc sinh giúp em dễ dàng nắm bắt nội dung học mà định hướng phát triển tư cho em khả ngơn ngữ lập trình, linh hoạt hình thành lực tích cực, thiết thực cho em Xây dựng sở lý thuyết lẫn vận dụng, đem lại hiệu cao cho người học người dạy Thực trạng vấn đề trước áp dụng sáng kiến kinh nghiệm - Thực trạng việc dạy nội dung “Bài tốn thuật tốn” Các ví dụ toán thuật toán sách giáo khoa Tin Học 10, sách tập, tốn điển hình, hay khó với em học sinh Để em tiếp thu được, sách giáo khoa trình bầy cụ thể từ ý tưởng giải toán, thuật tốn thực hiện, ví dụ mơ tả thuật tốn Thế làm để học sinh hiểu, nắm vững ghi nhớ thuật toán này, nhiều giáo viên chưa tìm cách giảng dạy phù hợp với khả tiếp thu em, lúng túng cách truyền đạt, áp đặt sách giáo khoa dẫn đến em nhớ thuật tốn máy móc khơng hiểu chất thuật toán Việc tiếp thu kiến thức em không sâu nhanh quên - Thực trạng việc học nội dung “ Bài toán thuật toán” Các em cịn gặp nhiều khó khăn q trình nắm bắt việc mơ tả thuật tốn tơi lấy ví dụ INPUT khác Rất em tìm bước để giải tốn, có tìm em khơng nhớ lâu nhớ theo kiểu máy móc Các em chưa hình dung trình tự thực bước theo chu trình điều kiện thỏa mãn hay chưa, hay trình thực lặp lặp lại để thực cơng việc Hay nói em chưa biết thể theo bước thuật toán, lựa chọn thuật toán tối ưu, ba tính chất thuật tốn Chính hạn chế dẫn tới chất lượng học sinh mắn bắt thuật tốn mơ tả thuật tốn cịn ít, làm cho kết mơn học thấp Cũng kết nên lên lớp 11 em bỡ ngỡ cảm thấy xa lạ với mơn học lập trình., khó khăn để áp dụng câu lệnh học để viết chương trình cụ thể - Kết Qua khảo sát em khối 10 năm học 2014 – 2015, sau học xong học số “ Bài toán thuật toán” chưa áp dụng giải pháp phân bậc hệ thống tập xây dựng thuật toán giải toán hướng tới lập trình giải tốn máy tính, qua kiểm tra 15 phút với câu hỏi kết thu sau Câu Hãy trình bầy thuật tốn mơ tả cho thuật tốn giải tốn sau cách liệt kê sơ đồ khối n n 1 n a Tính giá trị Y= Đa số em chưa hình dung biểu diễn chu trình lặp biến điều khiển, cịn lúng túng mơ tả thuật toán, hiểu chất thuật toán chưa sâu Cụ thể kết thu Lớp Số HS 10A 10B 10G 45 45 45 Nắm vững thuật toán Số lượng 25 18 12 % 56 40 27 Chưa nắm vững thụât toán Số lượng 20 27 33 % 44 60 73 Vậy nên đưa tốn sống, gần với chương trình học em tốn vo gạo, tính giá trị biểu thức, chuyển động ném ngang, tính gia tốc vật rơi tự do, giải phương trình bậc ẩn hay đơn giản tốn tính chu vi, diện tích hình chữ nhật, hình vng, biết trước cạnh Các em tiếp cận nhẹ nhàng, làm tốt, từ từ hiểu rõ thuật tốn, biết trình bày thuật tốn từ dễ đến khó sau hình dung hiểu cách giải tốn máy tính thực sau hệ thống tập có tính phân bậc từ mức độ dễ đến khó theo ba cấu trúc tuần tự, rẽ nhánh cấu trúc lặp, dẫn dắt cho em trước làm quen tiếp thu với ví dụ thuật tốn sách giáo khoa Tin Học lớp 10 Giải pháp tổ chức thực a Phân bậc hệ thống tập thuật toán theo cấu trúc Các toán thực theo cấu trúc em dễ hiểu, dễ nắm bắt nhất, gần với toán tự nhiên Các em đưa ý tưởng nhanh chóng trình bày bước tốn Từ ta dễ dàng dẫn dắt tới bước thuật toán để giải toán cho em mức độ cao Bài tốn 1: Thuật tốn nấu cơm ( cơng việc hàng ngày em) INPUT: Gạo, nước, nồi OUTPUT: Cơm chín ngon B1 Lấy gạo theo định lượng cần thiết; B2 Vo gạo đổ gạo, nước vào nồi; B3 Đun sôi cạn nước; B4 Giữ nhỏ lửa; B5 Cách phút một: Nếm cơm chín chưa? + Nếu chưa chín, quay lại B5; + Nếu cơm chín chuyển sang B6; B6 Tắt lửa bắc nồi cơm ra, kết thúc; Bài toán 2: Bài toán luộc rau muống INPUT: Rau muống, nước, muối, nồi, chanh, mì OUTPUT: Rau chín tới, nước xanh ngon B1 Nhặt rau, rửa rau, rửa nồi, đổ nước vào nồi vừa đủ ăn; B2 Bắc nồi lên bếp, vắt giọt nước chanh vào nồi, đun sôi nước; B3 Cho rau vào nồi khoảng phút đảo rau lần đến sơi đều, rau mềm vừa tới tắt bếp; B4 Vớt rau đĩa, pha mì chính, muối, chanh vừa đủ vào nước rau; Bài tốn Thuật tốn tính tổng hai số a b nhập vào từ bàn phím - INPUT: Hai số a, b - OUTPUT: Tổng S Nhập a,b B1 B1 Nhập a, b; B2 S←a+b; S ← a+b B2 S B3 B3 Đưa S; Ví dụ: B1 9; B2 S←7+9; B3 16; S ← 7+9 16 Bài toán 4: Xây dựng thuật tốn tính giá trị biểu thức y= (3x 2+7x)/5, Với x nhập vào từ bàn phím - INPUT: x - OUTPUT: Giá trị y Nhập x B1 B1: Nhập x; B2: y ← (3*x*x+7*x)/5; B3: Hiển thị y kết thúc; Y← (3*x*x+7*x)/5; Y B2 B3 Bài tốn : Thuật tốn tính diện tích, chu vi hình vng có chiều dài cạnh a nhập vào từ bàn phím - INPUT: Độ dài cạnh hình vng a Bắt đầu - OUTPUT: S, C B1 Bắt đầu; Nhập a B1 B2 B2 Nhập độ dài cạnh a; B3 Tính S ← a*a, C← a+a+a+a; S← a*a, C← a+a+a+a; S, C B4 Hiển thị S, C ; B5 kết thúc; Kết thúc Mô tả cho thuật toán Bắt đầu B3 B4 B5 B1 Bắt đầu; B2 7; B3 S← 7*7, C← 7+7+7+7; B4 49 S← 7*7, C← 7+7+7+7; 28; 49 28 B5 Kết thúc; Kết thúc Bài toán 6: Xây dựng thuật tốn tính đưa hình diện tích phần gạch chéo hình sau, với a(a>0) nhập vào từ bàn phím Ý tưởng: Tính diện tích hình trịn có bán kính a, diện tích phần gạch chéo 1/2 diện tích hình trịn - INTPUT: Số a >0 - OUTPUT: Diện tích phần gạch chéo Sgc Hình vẽ Nhập a B1 Sgc←π*a*a/2 B2 Sgc B3 B1 Nhập a>0; B2 Sgc←π*a*a/2; B3 Hiển thi Sgc kết thúc; Bài tốn Xây dựng thuật tốn tính đưa hình vận tốc v chạm đất vật rơi từ độ cao h, biết v = gh , g gia tốc rơi tự g=9,8m/s2 Độ cao h (m) nhập từ bàn phím - INPUT: Độ cao h B1 Bắt đầu - OUTPUT: Vận tốc v B1 Bắt đầu; B2 Nhập h B2: Nhập h; B3: Tính v← B3 v← ; 2* g *h ; B4: Hiển thị v ; B4 v B5 Kết thúc; B5 Kết thúc Bài tốn 8: Xây dựng thuật tốn hốn đổi gía trị hai biến a c qua biến trung gian b - Ý tưởng: Chuyển gía trị biến a sang biến b, chuyển gía trị biến c sang biến a sau chuyển gía trị biến b sang biến c - INPUT: a,b,c - OUTPUT: Giá trị a c hoán đổi cho B1 Nhập giá trị a, b; B2 b ← a; B3 a← c; B4 c←b; B5 Đưa giá trị a c kết thúc; x Nhập a, b B1 x Ban đầu b←a B2 x b lấy gía trị a a←c B3 x a lấy giá trị c c←b B4 x x x c lấy giá trị b Đưa giá trị a c kết thúc B5 b Phân bậc hệ thống tập Thuật toán theo cấu trúc rẽ nhánh Với cấu trúc rẽ nhánh giúp cho học sinh biết lựa chọn thực công việc điều kiện thoả mãn hay không thoả mãn, ban đầu tơi đưa tốn tìm giá trị lớn hai số a, b sau dẫn dắt tới tốn tìm giá trị lớn dãy số nguyên, em nắm tốt Các ví dụ sau sát với cấu trúc lập trình rẽ nhánh chương trình Tin Học 11 Phần lớn tơi hướng dẫn, gợi ý cho học sinh làm hai cách liệt kê sơ đồ khối Bài toán 1: Xây dựng thuật tốn tìm gía trị lớn hai số nguyên a b nhập vào từ bàn phím - INPUT: a, b hai số nguyên - OUTPUT: Đưa số Max số lớn hai số a, b B1 Nhập a, b; B2 Nếu a>b Max← a; Nhập a, b B3 Nếu b>a Max← b; B4 Kết luận Max số cần tìm kết thúc; Sai Mơ tả cho thuật toán B1 a=8, b=5 ; B2 a>b Đúng a > b Đúng Max ← a Max ← b Max ← ; B4 Hiển thị Max = kết thúc ; Kết luận Max cần tìm Bài tốn Xây dựng thuật toán kiểm tra số nhập vào từ bàn phím số âm hay số dương - INPUT: a - OUTPUT: Kết luận a âm dương B1 Nhập số a; B1 Nhập a B2 Nếu a>0 Kết luận a dương, đến B4; B3 Kết luận a số âm, đến B4 ; Sai B4 Kết thúc; a > Đúng a số dương a số âm B2 B3 Mô tả cho thuật toán B1 36; Nhập a,b,c B1 B2 36>0 số vừa nhập số dương; Kết thúc B4 B4 Kết thúc; Bài tốnB2 Xây dựng thuật tốn Phươngtrình trình bậc ax+b= với a, b Đúnggiải phương a=0 vơ nghiệm nhập từ bàn phím b # - INPUT: Hai số a, b Sai - OUTPUT: Kết luận nghiệm phương trình ax+b=0 a=0 B3 B1 Nhập a, b; b= Đúng Phương trình có vơ số nghiệm B2 Nếu a=0, b# thơng báo phương trình vô nghiệm kết thúc; Sai B4 B3 Nếu a=0, b=0 thơng báo phương trình có vơ số nghiệm kết thúc; a ≠ B4 a#0, x← -b/a thông báo có nghiệm kết thúc; Đúng x ← -b/a Kết thúc B5 Bài toán Xây dựng thuật toán nhập ba số a, b, c Hãy kiểm tra ba số độ dài tam giác hay khơng? Nếu tính hiển thị chu vi tam giác - Ý tưởng: Ba số a, b, c ba cạnh tam giác thoả mãn điều kiện (a+b>c) (b+c>a) (a+c>b) , chu vi Cv = a+b+c - INPUT: Ba số a,b,c - OUTPUT: Kết luận ba số có phải ba cạnh tam giác, phải tính chu vi Cv B1 Nhập ba số a,b,c; B2 Nếu (a+b>c) (b+c>a) (a+c>b) thông báo ba số ba cạnh tam giác, Cv ← (a+b+c), đến B4; B3 Kết luận ba số không ba cạnh tam giác, đến B4; B4 Kết thúc; Bài tốn 5: Xây dựng thuật tốn tính giá trị biểu thức x y điểm (x,y) thuộc hình trịn bán kính r(r>0), tâm (a,b) Z= x+y trường hợp lại B1 Nhập x, y, r B2 x2+y2 đưa i; B5 i← i+1 quay lại B3; Ví dụ: Cho dãy số có phần tử N=4, a1=-7, a2=12, a3= 56, a4=-43 Mơ tả thuật tốn cho dãy số B1 N=4, -7 12 56 -43; B2 i←1; B3 i =10; {đúng} B3 S← S+ (2*i-1)= 8+(2*1-1)=8+1=9; B3 S←S+i=8 +1=9; B4 i←i-1=0 ; B4 i←i-2=1-2=-1 ; B5 i=0