1. Trang chủ
  2. » Thể loại khác

SKKN mảng 1 chiều trong kĩ thuật khử đệ qui để bồi dưỡng học sinh giỏi tin học 11

20 166 2

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

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ảng chiều thuật khử đệ qui để bồi dưỡng học sinh giỏi Tin học 11 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 Tin họ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ọc bồi dưỡng học sinh giỏ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ọc sinh 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ọc sinh dễ hiểu Từ lí định chọn đề tài “Mảng chiều thuật khử đệ qui để bồi dưỡng học sinh giỏi Tin học 11” GV: Lê Thị Phượng THPT Tĩnh Gia 1 SKKN: Mảng chiều thuật khử đệ qui để bồi dưỡng học sinh giỏi Tin học 11 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ọc sinh 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ọc sinh 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ọc sinh chiếm lĩnh tri thức kỉ Tin học cần thiết, Tin họ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ọc sinh 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 sư Cơng Nghệ Thơng tin có trình độ cao Tuy nhiên việc đào tạo bồi dưỡng học sinh u thích mơn Tin học trường Phổ thơng gặp nhiều khó khăn Tin học 11 môn học mới, để học tốt lập trình đòi hỏi học sinh phải có kiến thức tốt, phải có khả tư niềm đam mê, ngồi học sinh phải có điều kiện thực hành thường xuyên Đa số em học sinh 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 Tin họ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 tin họ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ảng chiều thuật khử đệ qui để bồi dưỡng học sinh giỏi Tin học 11 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ọc sinh 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 Tin học * Học sinh: Là mơn học có tính ứng dụng cao nên đa số học sinh có ý thức tìm hiểu mơn học nói riêng CNTT nói chung Một số học sinh 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ọc sinh họ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ọc sinh 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 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 tin họ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ọc sinh bồi dưỡng học sinh u thích học giỏi mơn tin Do việc lựa chọn học sinh giỏi khó khăn học sinh giỏi thường học tốt mơn tự nhiên * Học sinh: Có nhiều học sinh 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ọc sinh giỏi môn Tin Học sinh đ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ọc sinh khó tiếp cận thực III/ GIẢI PHÁP VÀ TỔ CHỨC THỰC HIỆN - Học sinh bồi dưỡng thi học sinh giỏ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ảng chiều thuật khử đệ qui để bồi dưỡng học sinh giỏi Tin học 11 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ọc sinh 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 đệ qui trô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ảng chiểu để lưu giá trị tính toán Việc dùng mảng chiều kiến thức cũ làm học sinh dễ hiểu hơn, cách để so sánh cách giải toán nâng cao khả tư học sinh 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ảng chiều thuật khử đệ qui để bồi dưỡng học sinh giỏi Tin học 11 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ảng chiề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ảng chiều thuật khử đệ qui để bồi dưỡng học sinh giỏi Tin học 11 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ảng chiề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ảng chiều thuật khử đệ qui để bồi dưỡng học sinh giỏi Tin học 11 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

Ngày đăng: 07/11/2017, 22:16

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w