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
211,5 KB
Nội dung
1 MỞ ĐẦU 1.1 Lý chọn đề tài Tin học môn học trường phổ thơng nên học sinh nhiều bỡ ngỡ tiếp cận với môn học Nội dung tin học lập trình lớp 11 nội dung lạ đa số học sinh với nhiều khái niệm, thuật ngữ, cấu trúc liệu mà học sinh tiếp xúc lần đầu Chính mà học sinh dễ mắc sai lầm lập trình giải tốn Trong việc giảng dạy cho HS, ngồi việc giúp học sinh lĩnh hội kiến thức bản, người thầy phải biết kích thích tính tích cực, sáng tạo say mê học hỏi học tập em Vì việc học tập tự giác, tích cực, chủ động, sáng tạo đòi hỏi học sinh phải có ý thức mục tiêu đặt ra, tạo động lực bên thúc đẩy thân em hoạt động để đạt mục tiêu Điều thực dạy học không đơn giản việc nêu rõ mục tiêu mà quan trọng gợi động học tập Để rèn luyện kỹ lập trình cho học sinh khá, giỏi trước chọn đội tuyển thi học sinh giỏi mơn Tin học có nhiều cách mà giáo viên áp dụng đối tượng học sinh khác Các trường có điểm thi đầu vào cao việc rèn luyện kỹ có nhiều thuận lợi với trường có điểm thi đầu vào trung bình thấp việc rèn luyện kỹ lập trình cho em gặp nhiều khó khăn Tuy nhiên trường với đối tượng học sinh khác giáo viên áp dụng nhiều biện pháp khác để rèn luyện kỹ lập trình cho học sinh với hiệu khác Các giáo viên hướng dẫn cho học sinh biết tốn giải với nhiều thuật toán khác thuật toán giải toán lớp toán, thực tế cho thấy, đứng trước toán tin học học sinh thường lúng túng xác định thuật tốn khơng xác định thuật tốn Việc nhiều ngun nhân, chẳng hạn mơn Tin học không liên quan đến thi đại học nên em không tâm học, không đầu tư, em khơng có máy để thực hành thêm nhà Tuy nhiên cho toán tin học có dạng tương tự dạng mở rộng từ tốn sách giáo khoa, tốn mà em biết em xây dựng có hứng thú để xây dựng thuật tốn cho tốn đặt Vì giáo viên chọn tập từ mở rộng phát triển để rèn luyện kỹ lập trình cho học sinh Dĩ nhiên cách làm không với giáo viên cách chọn toán để học sinh vận dụng gây hưng thú cho học sinh lại điều đáng quan tâm Với đề tài “Mở rộng toán để nâng cao kỹ lập trình cho học sinh khả, giỏi” nên sáng kiến kinh nghiệm tơi muốn trình bày kinh nghiệm việc rèn luyện kỹ lập trình cho học sinh khá, giỏi học môn Tin học 11 Mục đích nghiên cứu Hệ thống tốn dạng số dạng tập thường gặp giúp cho giáo viên học sinh phần nhận dạng giải số tập liên quan Việc áp dụng thuật toán toán để xây dựng thuật toán cho toán tương tự toán mở rộng từ toán q trình giúp học sinh rèn luyện kỹ lập trình Đối tượng nghiên cứu Sử dụng ngơn ngữ lập trình Turbo Pascal Free Pascal để tiến hành nghiên cứu toán nâng cao dành cho học sinh khá, giỏi với đối tượng nghiên cứu học sinh khối 11 trường PT Nguyễn Mộng Tuân Hình thành kỹ thực hành giải tập cho học sinh có hệ thống kiến thức với dạng tập lập trình Phương pháp nghiên cứu Hình thành học sinh kỹ phân tích, xử lý vấn đề liên quan đến tập, sử dụng thành thạo vòng lặp biết trước, thủ tục chuẩn vào/ra đơn giản, bước đầu làm quen với số chương trình dạng thủ tục tạo điều kiện thuận lợi cho việc tiếp thu kiến thức cách viết chương trình có cấu trúc Để trình bày sáng kiến kinh nghiệm này, đã sử dụng phối kết hợp nhiều phương pháp như: nghiên cứu tài liệu, thuyết trình, quan sát, tham khảo ý kiến cấp đồng nghiệp, điều tra bản, thực nghiệm so sánh, phân tích kết thực nghiệm, … phù hợp với môn học thuộc lĩnh vực Tin học NỘI DUNG SÁNG KIẾN KINH NGHIỆM 2.1 Cơ sở lý luận sáng kiến kinh nghiệm Nghị hội nghị Trung ương VIII khóa XI đạo: “Giáo dục đạo tạo Quốc sách hàng đầu, nghiệp Đảng Nhà nước toàn dân Đầu tư cho giáo dục đầu tư phát triển, ưu tiên trước cho chương trình, kế hoạch phát triển kinh tế, xã hội; phát triển giáo dục đào tạo nâng cao dân trí, đào tạo nhân lực, bồi dưỡng nhân tài Chuyển mạnh trình giáo dục từ chủ yếu trang bị kiến thức sang phát triển toàn diện lực phẩm chất người học Học đôi với hành, lý luận gắn với thực tiễn, giáo dục nhà trường kết hợp với giáo dục gia đình giáo dục xã hội” Nghị hội nghị Trung ương VIII khóa XI đề mục tiêu: “Đối với giáo dục phổ thơng tập trung phát triển trí tuệ, thể chất, hình thành phẩm chất, lực cơng dân, phát bồi dưỡng khiếu, định hướng nghề nghiệp cho học sinh Nâng cao chất lượng giáo dục toàn diện, trọng giáo dục lý tưởng truyền thống đạo đức, lối sống, ngoại ngữ, tin học, lực kỹ thực hành, vận dụng kiến thức vào thực tiễn, phát triển khả sáng tạo tự học, khuyến khích học tập suốt đời, hồn thành đào tạo giáo dục phổ thông giai đoạn sau 2015” Căn vào mục tiêu môn Tin học, phải cung cấp tri thức bản, làm tảng để học sinh tiếp tục sâu vào tìm hiểu xây dựng khoa học Tin học tiếp thu tri thức lĩnh vực kĩ thuật công nghệ tiên tiến, lĩnh vực công nghệ thông tin 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 đề Nếu học sinh rèn luyện kỹ lập trình tốt việc mở rộng toán dành cho học sinh giỏi hút học sinh, tạo hứng thú cho học sinh học lập trình 2.2 Thực trạng vấn đề trước áp dụng sáng kiến kinh nghiệm Mơn Tin học mơn học đặc thù có nhiều kiến thức khó lập trình pascal lớp 11 (đây kiến thức thi học sinh giỏi tỉnh môn Tin học) thường bị xem nhẹ, bị xem “môn phụ” Học sinh – phụ huynh chưa mặn mà, chưa quan tâm mực tới môn học nên việc lựa chọn bồi dưỡng học sinh giỏi vô khó khăn Đứng trước tốn tin học, học sinh thường lúng túng khơng biết tìm thuật tốn tốn từ đâu tìm nào? Một số học sinh khá, giỏi có thói quen mò mẫm thử nghiệm để tìm lời giải, điều dẫn tới kết sai chệch hướng giải toán, hiệu suất để tìm thuật tốn khơng cao, số học sinh khơng biết cách tìm thuật tốn từ đâu điều gây tâm lý chán nản cho em Với tình hình để giúp học sinh định hướng tốt trình tìm thuật tốn, trước tự tìm thuật tốn tốt người giáo viên cần tạo cho học sinh thói quen tìm thuật tốn cho toán đặt từ các toán quen thuộc mà em đã biết, khai thác yếu tố đặc trưng số toán để tìm thuật tốn cho tốn Việc áp dụng thuật toán toán để xây dựng thuật toán cho toán tương tự toán mở rộng từ tốn q trình giúp học sinh rèn luyện kỹ lập trình Chính mở rộng tốn SGK Tin học 11 để nâng cao kỹ lập trình cho học sinh giỏi, tơi nhận thấy em hiểu sâu thuật toán cảm nhận thấy học lập trình khơng khó đến mức khơng thể hiểu, u thích mơn học Và bước để tạo tiền đề việc lựa chọn học sinh để bồi dưỡng học sinh giỏi 2.3 Giải pháp sử dụng để giải vấn đề 2.3.1 Các giải pháp thực Xây dựng hệ thống tập để rèn luyện kỹ lập trình thơng qua buổi học, buổi học nên chọn toán để mở rộng phát triển kỹ lập trình Mỗi buổi học nên xây dựng hệ thống tập sau: Bước 1: Chọn toán toán quen thuộc với học sinh để học sinh lập trình Bước 2: Mở rộng tốn cấp độ (chỉ cần học sinh lập trình mà chưa cần quan tâm đến yếu tố như: quan tâm đến yếu tố đặc biệt liệu vào, thời gian, phạm vi giá trị biến…) Bước 3: Mở rộng toán cấp độ (quan tâm đến yếu tố như: trường hợp đặc biệt liệu vào, phạm vi giá trị biến, thời gian, chuyển sang đọc ghi vào kiểu tệp …) Bước 4: Mở rộng toán để học sinh rèn luyện kỹ lập trình nhà máy giấy sau nộp lại để giáo viên kiểm tra đánh giá Tổ chức cho học sinh hình thành kỹ lập trình thơng qua nhiều buổi học có hướng dẫn giáo viên phòng máy Tổ chức kiểm tra để thu thập thông tin khả rèn luyện kỹ lập trình học sinh 2.3.2 Các biện pháp để tổ chức thực Nội dung triển khai thông qua buổi học (mỗi buổi học tiết) Số lượng buổi học buổi giáo viên xây dựng tùy vào chất lượng học sinh Trong phạm vi chương trình mơn tin học lớp 11, sử dụng số hệ thống tập sau để rèn luyện kỹ lập trình cho học sinh khá, giỏi thông qua buổi học: 2.3.2.1 Hoạt động 1: Tìm hiểu số tốn ước số(Buổi 1+2) Bài tập 1: (Bài toán bản) Viết chương trình nhập từ bàn phím số nguyên dương N, tính tổng ước thực N in hình Ví dụ: N=6 tổng ước 1+2+3 =6; N=9 tổng ước 1+ =4 Nhận xét: Học sinh biết để kiểm tra xem số i có phải ước số N hay khơng dùng phép tốn Mod (N mod i = 0), giáo viên cần hướng dẫn học sinh duyệt số i khoảng từ đến (N div 2) học sinh làm nhanh chóng, ta có đáp án sau: Program bai1; Var i,tg,N:word; Begin write(‘Nhap N=’); readln(N); tg:=0; for i:=1 to N div if n mod i =0 then tg:=tg+i; writeln(‘Tong cac uoc la= ‘, tg:5); Readln; End Giáo viên yêu cầu học sinh nhập vài giá trị N để xem kết Sau yêu cầu học sinh làm tập sau: Bài tập 2: Số N gọi số hoàn hảo tổng ước thực N Viết chương trình nhập từ bàn phím số ngun dương N, thơng báo hình DUNG N số hồn hảo, ngược lại thơng báo KHONG Nhận xét: Học sinh dễ dàng nhận thấy cách làm tương tự cách làm 1, thêm cơng việc kiểm tra xem tổng ước có N hay khơng? Học sinh nhanh chóng chép chương trình bài1 sửa lại để chương trình sau: Program bai2; Var i,tg,N:word; Begin write(‘Nhap N=’); readln(N); tg:=0; for i:=1 to N div if n mod i =0 then tg:=tg+i; if tg=N then Writeln(‘DUNG’) else writeln(‘KHONG’); Readln; End Tương tự ta yêu cầu học sinh làm tập sau: Bài tập 3: Viết chương trình in hình số hồn hảo khoảng từ a đến b (với 1R Câu b) Vì câu Câu a ta xếp phần tử lẻ lên đầu, phần tử chẵn cuối dãy nên câu b ta cần dùng biến K đếm xem có phần tử lẻ sau ta dùng thuật tốn xếp tăng dần cho đoạn từ đến K, sau ta lại dùng thuật toán xếp giảm dần cho đoạn từ K+1 đến N Bài tập 5: Viết chương trình nhập vào từ bàn phím mảng chiều A gồm M phần tử, mảng chiều B gồm N phần tử Yêu cầu: Hãy trộn hai dãy thành dãy C dãy C xếp theo thứ tự tăng dần Nhận xét: Giáo viên nên học sinh thử tìm thuật tốn cho dựa vào thuật toán xếp đã biết trên, sau hướng dẫn thuật tốn Hướng dẫn thuật toán: +Đưa thuật toán trộn hai dãy lại với nhau: + Sử dụng thuật toán xếp toán +Câu lệnh sử dụng sau: For i:=1 to m+n read (a[i]); For j:=(m+n) downto For i:=1 to j-1 If a[i]>a[i+1] then Begin tg:=a[i]; a[i]:=a[i+1]; 12 a[i+1]:=tg; End; For i:=1 to m+n write(a[i],’’); Bài tập 6: Hãy đổi chỗ phần tử dãy cho phần tử dương nằm đầu dãy, phần tử âm nằm cuối dãy in dãy sau đã xếp Nhận xét: + Ta sử dụng hai biến i j + Nếu gặp số hạng dương biến số i tăng lên + Nếu gặp số hạng âm biến số j bị giảm + Áp dụng thuật toán xếp toán i:=1;j:=n; repeat while a[i]>0 i:=i+1; while a[j]