Hệ thống các bài tập có nội dung liên quan đến các vấn đề đã đưa ra.
- Bài tập 1: Viết chương trình nhập mảng một chiều gồm n phần tử rồi xuất ra màn hình các phần tử của mảng vừa nhập. Biết n được nhập vào từ bàn phím.
- Bài tập 2: Viết chương trình nhập mảng một chiều gồm n phần tử rồi xuất ra màn hình các phần tử của mảng vừa nhập có giá trị chẵn. Biết n được nhập vào từ bàn phím.
- Bài tập 3: Viết chương trình nhập mảng một chiều gồm n phần tử rồi xuất ra màn hình các phần tử của mảng vừa nhập có giá trị chẵn. Biết n được nhập vào từ bàn phím.
- Bài tập 4: Viết chương trình nhập mảng một chiều gồm n phần tử rồi xuất ra màn hình tổng các phần tử của mảng vừa nhập. Biết n được nhập vào từ bàn phím.
- Bài tập 5: Viết chương trình nhập mảng một chiều gồm n phần tử rồi xuất ra màn hình số lượng các phần tử của mảng có giá trị dương. Biết n được nhập vào từ bàn phím.
- Bài tập 6: Viết chương trình nhập mảng một chiều gồm n phần tử rồi xuất ra màn hình phần tử lớn nhất của mảng. Biết n được nhập vào từ bàn phím.
- Bài tập 7: Viết chương trình nhập mảng một chiều gồm n phần tử rồi xuất ra màn hình mảng được sắp xếp tăng dần. Biết n được nhập vào từ bàn phím.
SỞ GD – ĐT ĐAKLAK TRƯỜNG THPT QUANG TRUNG & ĐỀ TÀI SÁNG KIẾN KINH NGHIỆM: HEÄ THOÁNG MOÄT SOÁ BAØI TOAÙN GIUÙP HOÏC SINH GIAÛI QUYEÁT TOÁT BAØI TAÄP PHAÀN MAÛNG MOÄT CHIEÀU - TIN HOÏC 11 Giáo viên: Nguyeãn Thò Ngoïc Quyeân Môn: Tin Hoïc Năm học: 2014 – 2015 MỤC LỤC Phần mở đầu: Trang 3 I.1. Lý do chọn đề tài: Trang 3 I.2. Mục tiêu, nhiệm vụ của đề tài: Trang 4 I.3. Đối tượng nghiên cứu: Trang 4 I.4. Giới hạn phạm vi nghiên cứu: Trang 4 I.5. Phương pháp nghiên cứu: Trang 4 Phần nội dung: Trang 4 II.1. Cơ sở lý luận: Trang 4 II.2. Thực trạng: Trang 5 Thuận lợi - Khó khăn: Trang 5 Thành công - Hạn chế: Trang 5 Mặt mạnh - Mặt yếu: Trang 6 Các nguyên nhân, các yếu tố tác động Trang 6 Phân tích, đánh giá các vấn đề về thực trạng mà đề tài đã đặt ra. Trang 6 II.3. Giải pháp, biện pháp: Trang 7 Mục tiêu của giải pháp, biện pháp: Trang 7 Nội dung và cách thức thực hịên giải pháp, biện pháp: Trang 7 Điều kiện thực hiện giải pháp, biện pháp: Trang 12 Mối quan hệ giữa các giải pháp, biện pháp: Trang 12 Kết quả khảo nghiệm, giá trị khoa học của vấn đề nghiên cứu: Trang 13 II.4. Kết quả thu được qua khảo nghiệm, giá trị khoa học của vấn đề nghiên cứu: 13 Phần kết luận, kiến nghị: Trang 13 III.1. Kết luận: Trang 13 III.2. Kiến nghị: Trang 14 Tài liệu tham khảo Trang 15 Phần mở đầu: I.1. Lý do chọn đề tài: Xuất phát từ yêu cầu đổi mới phương pháp dạy học: hướng tới hoạt động học tập chủ động, chống lại thói quen học tập thụ động, đề cao khả năng tự học của người học và đề cao vai trò của người Thầy về khả năng dạy cho người học cách học có hiệu quả nhất. Xuất phát từ những ưu điểm của việc ứng dụng CNTT trong dạy học: giúp người học hiểu nhanh, nhớ lâu các nội dung học tập, giúp người Thầy tiến hành bài học không phải bắt đầu bằng giảng giải, thuyết trình, mà bằng vai trò thiết kế, tổ chức, cố vấn, .trả lại cho người học vai trò là chủ thể, không phải học thụ động bằng nghe thầy giảng giải mà học tích cực bằng hành động của chính mình nhằm mục tiêu hình thành và phát triển nhân cách. Với mục tiêu khi đưa Tin học vào trường học là nhằm giúp cho học sinh có khả năng phân tích, tổng hợp, trừu tượng hóa, khái quát hóa vấn đề và đặc biệt là phát triển tư duy. Muốn vậy ngoài việc dạy đại trà Tin học trong nhà trường nhằm đảm bảo tính phổ thông, hướng nghiệp và dạy nghề ta cần phải tạo điều kiện cho các học sinh có năng khiếu Tin học được phát triển về khả năng lập trình đề giải quyết các bài toán. Và xuất phát từ thực trạng dạy học hiện nay: Trong chương trình Tin học 11, kỹ năng lập trình của học sinh chưa cao, kiến thức về lập trình thì rộng, thời gian và PPCT chưa phù hợp chưa tạo hứng thú học tập cho học sinh. Với những lí do trên, để góp phần vào việc nâng cao chất lượng dạy và học Tin học ở nhà trường phổ thông, tạo hứng thú học tập cho học sinh và giúp học sinh học tập tốt hơn môn học, nâng cao niềm tin của học sinh vào khoa học, lập trình, tôi mạnh dạn đưa ra đề tài “Hệ thống một số bài toán giúp học sinh giải quyết tốt bài tập phần mảng 1 chiều” – Tin học 11. I.2. Mục tiêu, nhiệm vụ của đề tài: - Giúp học sinh khối 11 giải được một số bài toán đơn giản trên máy tính bằng cách vận dụng được các kiến thức về thuật toán, cấu trúc dữ liệu, và ngôn ngữ lập trình cụ thể (Pascal) để giải các bài toán liên quan đến mảng một chiều. - Đưa ra nội dung mục 1: Mảng một chiều, bài 11: Kiểu mảng, sách Tin học 11 để hướng dẫn học sinh nghiên cứu, thảo luận qua đó nắm vững kiến thức về kiểu mảng một chiều như khai báo, xử lý mảng một chiều Từ đó hình thành ở học sinh khả năng phân tích, xử lý các vấn đề liên quan đến mảng một chiều trong việc lập trình giải các bài toán đơn giản. I.3. Đối tượng nghiên cứu: - Học sinh khối 11 Trường THPT Quang Trung. - Sử dụng máy tính để chạy các chương trình đơn giản về mảng một chiều. I.4. Giới hạn phạm vi nghiên cứu: - Tin học 11, bài: Kiểu mảng, mục 1: Mảng một chiều. I.5. Phương pháp nghiên cứu: - Kết hợp thực tiễn giáo dục tại Trường THPT Quang Trung. - Kiểm tra đôn đốc việc học tập của học sinh. - Kiểm tra thường xuyên, định kỳ. - Hướng dẫn nghiên cứu, thảo luận nội dung đưa ra - Tham khảo các tài liệu về Ngôn ngữ lập trình Pascal và tài liệu về sáng kiến kinh nghiệm của đồng nghiệp. Phần nội dung: II.1. Cơ sở lý luận: Khi học sinh học bài: Kiểu mảng học sinh gặp rất nhiều khó khăn trong việc giải các bài toán có liên quan. Để học sinh hiểu và lập trình được các bài toán đơn giản, giáo viên phải hướng dẫn học sinh các công việc liên quan đến mảng một chiều như: khai báo mảng một chiều, nhập mảng một chiều gồm các phần tử theo ý muốn (không nhập ngẫu nhiên các phần tử của mảng), xử lý mảng một chiều đơn giản như: tính tổng các phần tử của mảng, đếm các phần tử của mảng, hay xuất các phần tử của mảng thỏa điều kiện nào đó. Từ đó học sinh có thể lập trình giải bài toán sắp xếp dãy số nguyên (tăng dần hoặc giảm dần), tìm phần tử lớn nhất (hoặc nhỏ nhất) của dãy số nguyên một cách đơn giản. II.2. Thực trạng: a. Thuận lợi - Khó khăn: Thuận lợi: Là môn học được tiếp cận và ứng dụng những thành tựu của CNTT trong giảng dạy. Được sự quan tâm, tạo điều kiện của Ban Giám Hiệu nhà trường sắm sửa phòng máy và các trang thiết bị phục vụ việc dạy và học. Có đội ngũ giáo viên trẻ, đều đạt chuẩn yêu cầu của cấp học, nhiệt tình trong công tác và đặc biệt là ý thức tự học, tự nâng cao trình độ chuyên môn nghiệp vụ cao. Khó khăn: Nhà trường đóng trên địa bàn kinh tế còn khó khăn do đó điều kiện học tập của học sinh còn gặp khó khăn, rất ít học sinh ở nhà có máy tính. Việc tư duy học tập bộ môn của học sinh chưa cao, chất lượng học sinh đầu vào chưa được đồng đều. Các thành viên trong nhóm hầu hết đều mới ra trường còn ít kinh nghiệm trong giảng dạy nên việc học tập kinh nghiệm còn hạn chế. Thành công - Hạn chế: Thành công: Nâng cao được ý thức học tập của học sinh. Học sinh hứng thú trong việc học tập, thích viết chương trình và chạy thử trên máy hơn, do đó đạt kết quả cao hơn trước. Hạn chế: Chưa áp dụng kinh nghiệm được hết cho toàn khối 11 nên kết quả toàn trường chưa đồng đều. Một số học sinh tư duy học tập bộ môn chưa cao dẫn đến ý thức về lập trình còn gặp nhiều hạn chế. Mặt mạnh - Mặt yếu: Mặt mạnh: Được sự quan tâm, tạo điều kiện của Ban Giám Hiệu nhà trường về việc dạy và học. Có đội ngũ giáo viên trẻ, nhiệt tình trong công tác . Mặt yếu: Chất lượng học sinh đầu vào chưa được đồng đều, tư duy học tập bộ môn của học sinh chưa cao. Các nguyên nhân, các yếu tố tác động Học sinh chưa yêu thích môn học, ngại khó nên chưa có ý thức học tập tốt. Phân tích, đánh giá các vấn đề về thực trạng mà đề tài đã đặt ra. Trong quá trình học lập trình, khi học sinh học bài: Kiểu mảng học sinh gặp rất nhiều khó khăn trong việc giải các bài toán có liên quan. Để học sinh hiểu và lập trình được các bài toán đơn giản, giáo viên phải hướng dẫn học sinh các công việc liên quan đến mảng một chiều như: khai báo mảng một chiều, nhập mảng một chiều gồm các phần tử theo ý muốn (không nhập ngẫu nhiên các phần tử của mảng), xử lý mảng một chiều đơn giản như: tính tổng các phần tử của mảng, đếm các phần tử của mảng, hay xuất các phần tử của mảng thỏa điều kiện nào đó. Từ đó học sinh có thể lập trình giải bài toán sắp xếp dãy số nguyên (tăng dần hoặc giảm dần), tìm phần tử lớn nhất (hoặc nhỏ nhất) của dãy số nguyên một cách đơn giản. Để học sinh có ý thức học tập và hứng thú khi học Tin học, giáo viên phải nhiệt tình trong công tác giảng dạy, phải có kế hoạch xây dựng ý tưởng, thiết kế bài giảng và hướng dẫn các thao tác cho học sinh phù hợp với nội dung đã đưa ra. Giáo viên phải cho học sinh hoạt động theo nhóm làm việc nghiêm túc, khuyến khích cộng điểm cho các học sinh, các nhóm hoạt động tốt. II.3. Giải pháp, biện pháp: Mục tiêu của giải pháp, biện pháp: Giáo viên có kế hoạch xây dựng ý tưởng, thiết kế bài giảng và hướng dẫn các thao tác cho học sinh phù hợp với nội dung đã đưa ra. Hệ thống các bài tập có nội dung liên hệ đến các vấn đề đã đưa ra. Trong giờ thực hành, giáo viên yêu cầu các học sinh, các nhóm làm việc nghiêm túc, sau đó các học sinh, các nhóm có thể tự chấm điểm (dưới sự chỉ dẫn của giáo viên) để tạo được sự hứng thú trong học tập và sự sáng tạo trong quá trình thực hành. Giáo viên phải có kế hoạch bồi dưỡng để nâng cao kiến thức bản thân đáp ứng được những yêu cầu đổi mới, cập nhật thông tin một cách đầy đủ, chính xác. Nội dung và cách thức thực hịên giải pháp, biện pháp: Giáo viên có kế hoạch xây dựng ý tưởng, thiết kế bài giảng và hướng dẫn các thao tác cho học sinh phù hợp với nội dung đã đưa ra. Bài: Kiểu mảng, mục 1: Mảng một chiều, Tin học 11 giáo viên cần hướng dẫn học sinh lần lượt các nội dung như: + Khai báo mảng một chiều. Var : array [kiểu chỉ số] of ; Ví dụ: Var a : array [1 .. 50] of integer; + Nhập mảng một chiều gồm các phần tử theo ý muốn (không nhập ngẫu nhiên các phần tử của mảng). Ví dụ: Nhập mảng một chiều gồm n phần tử, với n được nhập vào từ bàn phím. Write(‘Nhap so phan tu cua mang n =’); Readln(n); For i:= 1 to n do Begin Write(‘ Phan tu a[’,i,‘]=’); Readln(a[i]); End; + Xử lý mảng một chiều đơn giản như: tính tổng các phần tử của mảng, đếm các phần tử của mảng hay xuất các phần tử của mảng thỏa điều kiện nào đó. Ví dụ: Ä Xuất các phần tử của mảng. For i := 1 to n do write(a[i]:10); VVí dụ: Ä Xuất các phần tử của mảng có giá trị chẵn. For i := 1 to n do If a[i] mod 2 = 0 then write(a[i]:10); Ví dụ: Ä Xuất tổng các phần tử của mảng. S := 0; For i := 1 to n do S := S + a[i]; Writeln(‘Tong cac phan tu cua mang la:’, S:10); Ví dụ: Ä Xuất số lượng các phần tử của mảng có giá trị dương. dem := 0; For i := 1 to n do If a[i] > 0 then dem := dem + 1; Writeln(‘So lương cac phan tu cua mang có gia tri duong la:’, S:10); Từ đó học sinh có thể lập trình giải bài toán tìm phần tử lớn nhất (hoặc nhỏ nhất) của dãy số nguyên, sắp xếp dãy số nguyên (tăng dần hoặc giảm dần) một cách đơn giản hơn. Ví dụ: Ä Xuất phần tử lớn nhất của mảng. max := a[1]; For i := 2 to n do If max <= a[i] then max := a[i]; Writeln(‘ Phan tu lon nhat cua mang la:’, max:10); For i := 1 to n do For j := i+1 to n do If a[i]> a[j] then Begin x:= a[i]; a[i]:= a[j]; a[j]:= x; End; For i:=1 to n do Write(a[i]:5); Ví dụ: Ä Sắp xếp dãy số nguyên tăng dần. Hệ thống các bài tập có nội dung liên quan đến các vấn đề đã đưa ra. Bài tập 1: Viết chương trình nhập mảng một chiều gồm n phần tử rồi xuất ra màn hình các phần tử của mảng vừa nhập. Biết n được nhập vào từ bàn phím. Bài tập 2: Viết chương trình nhập mảng một chiều gồm n phần tử rồi xuất ra màn hình các phần tử của mảng vừa nhập có giá trị chẵn. Biết n được nhập vào từ bàn phím. Bài tập 3: Viết chương trình nhập mảng một chiều gồm n phần tử rồi xuất ra màn hình các phần tử của mảng vừa nhập có giá trị chẵn. Biết n được nhập vào từ bàn phím. Bài tập 4: Viết chương trình nhập mảng một chiều gồm n phần tử rồi xuất ra màn hình tổng các phần tử của mảng vừa nhập. Biết n được nhập vào từ bàn phím. Bài tập 5: Viết chương trình nhập mảng một chiều gồm n phần tử rồi xuất ra màn hình số lượng các phần tử của mảng có giá trị dương. Biết n được nhập vào từ bàn phím. Bài tập 6: Viết chương trình nhập mảng một chiều gồm n phần tử rồi xuất ra màn hình phần tử lớn nhất của mảng. Biết n được nhập vào từ bàn phím. Bài tập 7: Viết chương trình nhập mảng một chiều gồm n phần tử rồi xuất ra màn hình mảng được sắp xếp tăng dần. Biết n được nhập vào từ bàn phím. Trong giờ thực hành, giáo viên yêu cầu các học sinh, các nhóm làm việc nghiêm túc, sau đó các học sinh, các nhóm tự chấm điểm (dưới sự chỉ dẫn của giáo viên) để tạo được sự hứng thú trong học tập và sự sáng tạo trong quá trình thực hành. Học sinh hoàn thiện các bài tập và chạy thử trên máy với một số bộ Input tiêu biểu để kiểm tra chương trình. Ví dụ: Ä Viết chương trình giải quyết bài tập 1. Program Bai_tap_1; Uses CRT; Var a : array [1 .. 50] of integer; n, i : byte; Begin Clrscr; Write(‘Nhap so phan tu cua mang n =’); Readln(n); For i:= 1 to n do Begin Write(‘ Phan tu a[’,i,‘]=’); Readln(a[i]); End; Writeln(‘Cac phan tu cua mang la:’); For i := 1 to n do write(a[i]:10); Readln End. Ví dụ: Ä Viết chương trình giải quyết bài tập 5. Program Bai_tap_5; Uses CRT; Var a : array [1 .. 50] of integer; n, i : byte; Begin Clrscr; Write(‘Nhap so phan tu cua mang n =’); Readln(n); For i:= 1 to n do Begin Write(‘ Phan tu a[’,i,‘]=’); Readln(a[i]); End; dem := 0; For i := 1 to n do If a[i] > 0 then dem := dem + 1; Writeln(‘So lương cac phan tu cua mang có gia tri duong la:’, S:10); Readln End. Ví dụ: Ä Viết chương trình giải quyết bài tập 7. Program Bai_tap_7; Uses CRT; Var a : array [1 .. 50] of integer; n, i : byte; Begin Clrscr; Write(‘Nhap so phan tu cua mang n =’); Readln(n); For i:= 1 to n do Begin Write(‘ Phan tu a[’,i,‘]=’); Readln(a[i]); End; For i := 1 to n do For j := i+1 to n do If a[i]> a[j] then Begin x:= a[i]; a[i]:= a[j]; a[j]:= x; End; For i:=1 to n do Write(a[i]:5); Readln End. Điều kiện thực hiện giải pháp, biện pháp: Học sinh phải tập trung nghe giáo viên hướng dẫn và phải có tư duy về môn học. Có phòng máy để cho học sinh thực hành. Mối quan hệ giữa các giải pháp, biện pháp: Có mối quan hệ logic từ lý thuyết đến bài tập, từ bài tập đầu tiên đến các bài tập tiếp theo liên quan đến kiểu mảng một chiều. Kết quả khảo nghiệm, giá trị khoa học của vấn đề nghiên cứu: Qua quá trình áp dụng những kinh nghiệm trên vào giảng dạy kết quả kiểm tra phần mảng 1 chiều, các lớp 11 năm học 2014 – 2015 như sau: Lớp 11A01 11B01 11B02 Tỉ lệ trên TB 97% 79% 75% Từ những kinh nghiệm được áp dụng vào dạy học Tin học 11 đã tạo hứng thú học tập cho học sinh, học sinh có ý thức học tập cao hơn và đã có tư duy về môn học. II.4. Kết quả thu được qua khảo nghiệm, giá trị khoa học của vấn đề nghiên cứu: Kết quả thu được qua khảo nghiệm cao hơn, ý thức học tập của học sinh cũng cao hơn trước, học sinh có động lực, hứng thú và phấn đấu trong học tập. Giáo viên hướng dẫn học sinh thực hiện tốt về việc áp dụng kiến thức từ lý thuyết đến thực hành. Phần kết luận, kiến nghị: III.1. Kết luận: Để giúp học sinh khối 11 giải được một số bài toán đơn giản liên quan đến mảng một chiều, tạo động lực, hứng thú, tư duy cho học sinh và hình thành ở học sinh khả năng phân tích, xử lý các vấn đề liên quan đến mảng một chiều trong việc lập trình giải các bài toán đơn giản. Trên đây là một số kinh nghiệm giải quyết các bài toán liên quan đến mảng một chiều mà tôi đã rút ra được trong quá trình giảng dạy môn Tin học 11. Tuy nhiên còn rất nhiều hạn chế. Rất mong Quý Thầy, Cô đóng góp ý kiến xây dựng để chuyên đề của tôi mang lại hiệu quả cao hơn. III.2. Kiến nghị: Nhà trường trang bị phòng máy và các thiết bị hỗ trợ việc Dạy - Học kịp thời hơn. Nâng cao chất lượng học sinh đầu vào để kết quả đạt được đồng đều hơn. Bố trí giáo viên tham gia các lớp bồi dưỡng chuyên đề, học tập kinh nghiệm chuyên môn nghiêm túc để áp dụng vào dạy học đạt kết quả cao hơn. Krông Păc, ngày 02/03/2015 Người viết Nguyễn Thị Ngọc Quyên TÀI LIỆU THAM KHẢO: Sách giáo khoa Tin học 11 của Nhà xuất bản Giáo dục. Sách giáo viên Tin học 11 của Nhà xuất bản Giáo dục. Sách bài tập Tin học 11 của Nhà xuất bản Giáo dục. Tài liệu về ngôn ngữ lập trình Pascal.
Tài liệu đính kèm: