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
173 KB
Nội dung
SKKN: MảngchiềukĩthuậtkhửđệquiđểbồidưỡnghọcsinhgiỏiTinhọc11 A ĐẶT VẤN ĐỀ I/ LÝ DO CHỌN ĐỀ TÀI Ngày với phát triển đất nước, công nghệ thơng tin đóng vai trò quan trọng, tác động đến hầu hết lĩnh vực đời sống xã hội Việc đào tạo hệ tương lai có phát triển tồn diện đòi hỏi ngành giáo dục ln phải có quan tâm mức điều cần thiết để có nguồn nhân lực đáp ứng yêu cầu CNH, HĐH mở cửa hội nhập hướng tới kinh tế tri thức nước ta nói riêng giới nói chung Tinhọc mơn học mới, việc truyền đạt kiến thức sách giáo khoa khó khăn, để dạy họcbồidưỡnghọcsinhgiỏi Giúp em không nắm kiến thức mà hiểu giải tốn đòi hỏi thuật tốn phức tạp hơn: Hốn vị, tổ hợp, việc khiến giáo viên phải luôn trăn trở tìm phương pháp phù hợp Một thuật toán giải toán, tốn lại có nhiều thuật tốn khác Làm để tìm thuật tốn phù hợp, nhanh gọn, dễ hiểu, tốn dung lượng nhớ Phương pháp đệqui phương pháp hay, có nhiều ưu điểm có nhược điểm tốn nhớ Ngoài kiến thức làm họcsinh khó hấp thụ Cách giải tốn phức tạp dùng kiến thức cũ đơi giúp họcsinhdễ hiểu Từ lí định chọn đề tài “Mảng chiềukĩthuậtkhửđệquiđểbồidưỡnghọcsinhgiỏiTinhọc 11” GV: Lê Thị Phượng THPT Tĩnh Gia 1 SKKN: MảngchiềukĩthuậtkhửđệquiđểbồidưỡnghọcsinhgiỏiTinhọc11 B GIẢI QUYẾT VẤN ĐỀ I/ CƠ SỞ LÝ LUẬN: + Luật giáo dục nước ta cụ thể hoá chương II, mục điều 23 là: “Mục tiêu giáo dục phổ thông giúp họcsinh phát triển toàn diện đạo đức, trí tuệ, thể chất, thẩm mỹ kỹ nhằm hình thành nhân cách người Việt Nam xã hội chủ nghĩa, xây dựng tư cách trách nhiệm công dân, chuẩn bị cho họcsinh tiếp tục học lên vào sống lao động tham gia xây dựng bảo vệ Tổ Quốc” + Môn tin học, môn học khác, vào mục tiêu để xác định nhiệm vụ cụ thể môn học, tổ chức hoạt động đào tạo góp phần thực mục tiêu giáo dục mà Đảng nhà nước đề + Ngoài việc tạo điều kiện cho họcsinh chiếm lĩnh tri thức kỉTinhọc cần thiết, Tinhọc có tác dụng phát triển lực trí tuệ chung như: phân tích, tổng hợp, trừu tượng hố, khái qt hố…rèn luyện đức tính, phẩm chất người lao động Họcsinh thấy rõ hiệu mạnh mẽ công nghệ thông tin nhận thức cần có II/ THỰC TRẠNG VẤN ĐỀ Thực trạng chung: Hiện nhu cầu xã hội cần kĩ sư Cơng Nghệ Thơng tin có trình độ cao Tuy nhiên việc đào tạo bồidưỡnghọcsinh u thích mơn Tinhọc trường Phổ thơng gặp nhiều khó khăn Tinhọc11 môn học mới, đểhọc tốt lập trình đòi hỏi họcsinh phải có kiến thức tốt, phải có khả tư niềm đam mê, ngồi họcsinh phải có điều kiện thực hành thường xuyên Đa số em họcsinh tập trung học môn khối để ôn thi đại học nên không dành nhiều thời gian cho mơn Tinhọc Trường có máy tính để thực hành số lượng chưa đủ để tất tiết thực hành đáp ứng Tài liệu tham khảo dành cho mơn tinhọc chưa có nhiều nên việc tiếp cận với kiến thức gặp nhiều khó khăn Đó thực trạng chung hầu hết trường phổ thông * Một số thuận lợi khó khăn thực đề tài trường THPT Tĩnh Gia I Thuận lợi: * Nhà trường: - Trường THPT Tĩnh Gia ngơi trường có truyền thống với bề dày 53 năm Là trường chuẩn quốc gia nên trường nơi có điều kiện sở vật GV: Lê Thị Phượng THPT Tĩnh Gia SKKN: MảngchiềukĩthuậtkhửđệquiđểbồidưỡnghọcsinhgiỏiTinhọc11 chất tương đối đảm bảo đáp ứng cho điều kiện học tập Nhà trường tạo điều kiện đểhọcsinh có điều kiện tốt để học, tạo điều kiện máy móc, trang thiết bị phục vụ cho việc dạy học môn Tinhọc * Học sinh: Là mơn học có tính ứng dụng cao nên đa số họcsinh có ý thức tìm hiểu mơn học nói riêng CNTT nói chung Một số họcsinh có khả phát triển lập trình u thích lập trình Có nhiều gia đình có máy vi tính nên em có điều kiện thực hành Khó khăn: * Nhà trường: Nhà trường có hai phòng máy vi tính họcsinhhọc hạn chế số lượng chất lượng, ca thực hành có tới – em ngồi máy nên em khơng có nhiều thời gian để thực hành làm tập cách đầy đủ Tuy có hai phòng thực hành số lớp nhiều (35 lớp học) lớp số lượng họcsinh khoảng 40 - 45 học sinh, tất lớp học buổi sáng, tiết học thực hành nằm phân phối chương trình với tiết khác nên tránh khỏi việc chồng chéo việc đăng kí lịch thực hành lớp * Giáo viên: Đa số giáo viên trẻ nên chưa có nhiều kinh nghiệm Mơn tinhọc đưa vào giảng dạy nên giáo viên thường gặp khó khăn phân hố họcsinhbồidưỡnghọcsinh u thích họcgiỏi mơn tin Do việc lựa chọn họcsinhgiỏi khó khăn họcsinhgiỏi thường học tốt mơn tự nhiên * Học sinh: Có nhiều họcsinh có kiến thức tốt có tư em lại khơng có máy tính thực hành nhà dành thời gian cho môn khối mà không chọn vào đội tuyển thi họcsinhgiỏi môn TinHọcsinh đa số chưa tiếp cận ngơn ngữ lập trình nên khó khăn học lập trình Các tốn u cầu giải thuậtđệqui thường khó lại kiến thức ngồi sách giáo khoa nên họcsinh khó tiếp cận thực III/ GIẢI PHÁP VÀ TỔ CHỨC THỰC HIỆN - Họcsinhbồidưỡng thi họcsinhgiỏi không cần nắm vững kiến thức sách giáo khoa mà phải có khả tư tốt để giải tốn khó Việc dạy học khơng truyền đạt kiến thức cho em mà giáo GV: Lê Thị Phượng THPT Tĩnh Gia SKKN: MảngchiềukĩthuậtkhửđệquiđểbồidưỡnghọcsinhgiỏiTinhọc11 viên phải kích thích sang tạo, niềm đam mê, say mê học hỏi muốn tìm hiểu *Đệ qui: kiến thức mà họcsinh chưa học sách giáo khoa Một thủ tục gọi đệqui trình thực có phần phải gọi đến với kích thước nhỏ tham số - Đệqui mạnh chỗ định nghĩa tập lớn tác động số hữu hạn mệnh đề Một chương trình viết theo dạng đệquitrông sáng sủa hơn, ngắn gọn - Tuy nhiên đệqui có nhược điểm tốn dùng giải thuậtđệqui đòi hỏi liệu phải tính tốn nhiểu, đòi hỏi thời gian chạy chương trình lâu dẫn đến tốn nhớ máy tính *Khử đệ qui: Có số giải thuậtđệqui thuộc loại tính tốn đơn giản thay giải thuật khác khơng tự gọi nó, thay gọi khửđệqui Vì có số tốn ta thay thuật tốn khửđệqui Tơi xin giới thiệu số tốn có chất đệqui giải phương pháp khửđệqui Thay việc dùng thủ tục đệqui dùng mảngchiểuđể lưu giá trị tính toán Việc dùng mảngchiều kiến thức cũ làm họcsinhdễ hiểu hơn, cách để so sánh cách giải toán nâng cao khả tư họcsinh Ví dụ 1: Tìm số fibonaci thứ n Mơ tả nhị phân tìm kiếm số Fib(4) theo kiểu đệqui có dạng sau: F(5) =F(4)+ F(3) F(4) =F(3)+ F(2) F(3) =F(2)+ F(1) F(3) =F(2)+ F(1) F(2) =1 F(2) = F(2) =1 F(1) = F(1) =1 GV: Lê Thị Phượng THPT Tĩnh Gia SKKN: MảngchiềukĩthuậtkhửđệquiđểbồidưỡnghọcsinhgiỏiTinhọc11 F(5) =F(4)+ F(3) F(4) =F(3)+ F(2) F(3) =F(2)+ F(1) F(3) =F(2)+ F(1) F(2) =1 F(2) = F(2) =1 F(1) = F(1) =1 Để tính F(5) ta phải gọi F(4) F(3), tính F(4) phải gọi F(3) F(2), F(1) F(2) cho từ ban đầu Function Fib(n:integer):integer; Begin If n=1 then fib:=1 else If n=2 then fib:=1 Else fib:=fib(n-1)+ fib(n-2); End; Nếu dùng thủ tục đệqui thay việc gọi giá trị từ xuống ta tính giá trị nhỏ trước lưu giá trị vào mảngchiều Và ta có sơ đồ tính tốn sau: A[2] =1 A[1] =1 A[3] =A[1]+ A[2] A[4] =A[3] + A[2] +A[2] A[5] =A[4] + A[3] GV: Lê Thị Phượng THPT Tĩnh Gia SKKN: MảngchiềukĩthuậtkhửđệquiđểbồidưỡnghọcsinhgiỏiTinhọc11 Nhìn vào sơ đồ ta thấy giá trị phải tính tốn sơ đồ Ta có thủ tục minh hoạ sau: Procedure fib; Begin A[1]:=1; A[2]:=1; For i:=3 to n a[i]:=a[i-1]+a[i-2]; Write(‘so fibonaci thu’,n,’la’,a[n]); End; Trong cách giải thứ để tìm số fibonaci thứ n ta phải tính tất giá trị trước Tuy nhiên giá trị tính tốn trước khơng lưu lại Đối với cách giải thứ tất giá trị lưu mảng A nên cần sử dụng lại giá trị trước máy tính khơng phải tính lại Để thấy rõ ưu nhược điểm cách ta xét ví dụ 1.2 Ví dụ 2: Tính tổng số fibonaci thứ n thứ (n -2) - Nếu dùng cách giải đệqui ta tính tổng nhanh cách gọi lời gọi chương trình chính: Tong:=fib(n)+ fib(n-2); Tuy nhiên với lời gọi máy tính phải tính n + (n-2)=2n-2 phép tốn Trong dùng mảngchiều cách 1.1 Ta cần tính: Tong:=a[n]+a[n-2]; Với phương pháp giá trị lưu vào mảng nên máy tính phải tính lần số phép tính thực là: n Ví dụ 3: Số siêu nguyên tố số mà bỏ chữ số tùy ý chữ số bên phải phần lại tạo thành số nguyên tố Viết chương trình in số siêu ngun tố có n chữ số (n nhập từ bàn phím) VD: 7331 số siêu ngun tố có chữ số 733,33,7 số nguyên tố Đây tốn có tính chất đệqui Vì số siêu nguyên tố có I chữ số tạo thành từ số siêu nguyên tố có i-1 chữ số Để kiểm tra số 7331 GV: Lê Thị Phượng THPT Tĩnh Gia SKKN: MảngchiềukĩthuậtkhửđệquiđểbồidưỡnghọcsinhgiỏiTinhọc11 có phải số siêu nguyên tố hay khơng ta cần kiểm tra tính ngun tố 7331 tính siêu nguyên tố 733, tương tự để kiểm tra siêu nguyên tố 733 ta lại phải kiểm tra tính nguyên tố 733 tính siêu nguyên tố 73, tương tự lại kiểm tra tính nguyên tố 73 tính siêu nguyên tố 7, số nguyên tố có chữ số nên kết luận 7331 số siêu nguyên tố Có thể dùng hàm sieungto(n) viết sau: Funtion sieungto(n:integer):boolean; Begin If (n=2) or sieungto(n)=true else (n=3)or (n=5) or (n=7) then Sieungto(n)=sieungto(n div 10) and ngto(n); end; Ở thay việc tính từ xuống ta làm theo công việc sau: Ý tưởng giải toán: B1 - a[1]=0 ; B2 - i