Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 32 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
32
Dung lượng
3,43 MB
Nội dung
1 BÁO CÁO SÁNG KIẾN Đề tài: Một số phương pháp tạo hứng thú cho học sinh học ngôn ngữ lập trình C++ số kinh nghiệm dạy sử dụng hàm ngôn ngữ C++ Lĩnh vực(mã)/cấp học: Tin học (14)/THPT Tác giả: Nguyễn Thị Út Trình độ chuyên môn: Cử nhân sư phạm tin học Chức vụ: Giáo viên tin học Nơi công tác: Tổ vật lý- công nghệ - tin học Trường THPT C Nghĩa Hưng Nam Định, ngày 28 tháng 10 năm 2020 THÔNG TIN CHUNG VỀ SÁNG KIẾN Tên sáng kiến: Một số phương pháp tạo hứng thú cho học sinh học ngôn ngữ lập trình C++ số kinh nghiệm dạy sử dụng hàm ngôn ngữ C++ Lĩnh vực (mã)/ cấp học: Tin học (14)/THPT Thời gian áp dụng sáng kiến: Từ ngày 23 tháng năm 2019 đến ngày 10 tháng năm 2020 Tác giả: Họ tên: Nguyễn Thị Út Năm sinh: 003/10/1989 Nơi thường trú: Thị trấn Rạng Đông – Nghĩa Hưng – Nam Định Trình độ chun mơn: Cử nhân sư phạm tin học Chức vụ công tác: Giáo viên Nơi làm việc:Trường THPT C Nghĩa Hưng Điện thoại: 0367977402 Tỷ lệ đóng góp tạo sáng kiến: 100% Đồng tác giả: không Đơn vị áp dụng sáng kiến: Tên đơn vị: Trường THPT C Nghĩa Hưng Địa chỉ: Thị trấn Rạng Đông – Nghĩa Hưng – Nam Định Điện thoại 03503873162 BÁO CÁO SÁNG KIẾN I ĐIỀU KIỆN HOÀN CẢNH TẠO RA SÁNG KIẾN Lý chọn đề tài: Trong dạy học nói chung, dạy học Tin học nói riêng, vấn đề đặt cần phải đổi chiến lược đào tạo người Đặc biệt cần đổi phương pháp dạy học theo hướng phát triển hệ động, sáng tạo nhằm tạo nguồn lực nội sinh cho người đồng thời tạo nên động lực cho phát triển kinh tế - xã hội Luật giáo dục điều 24.2 ghi rõ: “Phương pháp dạy học phổ thông phải phát huy tính tích cực, tự giác, chủ động, sáng tạo học sinh, phù hợp với đặc điểm lớp học, môn học; bồi dưỡng phương pháp tự học, rèn luyện kỹ vận dụng kiến thức vào thực tiễn, tác động đến tình cảm, đem lại niềm vui, hứng thú học tập cho học sinh” Mục đích, nội dung phương pháp ln có mối quan hệ biện chứng với Song song với việc nâng cao chất lượng nội dung sách giáo khoa việc đổi phương pháp dạy học điều thiết Môn Tin học giống nhiều môn học khác trường THPT, có vị trí đặc biệt thiếu thời đại Tin học 11 sở để hình thành kiến thức, kỹ lập trình mơn Tin học cấp THPT Ngơn ngữ lập trình pascal dạy chương trình Tin học 11 ngơn ngữ quen thuộc nhiều hệ học sinh, sinh viên nhà lập trình viên Đó ngơn ngữ có tính sư phạm cao, ngôn ngữ lựa chọn để đưa vào giảng dạy cho học sinh sinh viên Tuy nhiên, ngơn ngữ lập trình Pascal có nhiều hạn chế như: Tính ứng dụng thực tiễn để tạo sản phẩm thương mại thấp, nhiều năm qua nhà phát triển phần mềm không nâng cấp phát triển ngơn ngữ pascal Ngày nay, có nhiều ngơn ngữ lập trình pascal đời ngôn ngữ C, C++, Java, ngôn ngữ cung cấp công cụ cho phép người lập trình tạo sản phẩm có tính ứng dụng thực tiễn lớn Trong lên ngơn ngữ lập trình C++ Ngơn ngữ lập trình C++ đời vào giai đoạn đầu năm 80 kỷ 20, không ngừng phát triển tận ngày Đó ngơn ngữ lập trình dùng nhiều nay, đa số phần mềm thương mại viết C++, giải vô số thách thức ngành công nghiệp C++ ngơn ngữ định trải nghiệm thiết bị di động Ngày giới có hàng chục triệu lập trình viên chuyên nghiệp biết sử dụng C++ thường xuyên, họ tạo vô số sản phẩm ứng dụng giúp người dùng khai thác thông tin, điều khiển thiết bị máy móc hiệu Đối với nước ta nay, theo tinh thần đạo Đảng Bộ giáo dục đào tạo, cần đào tạo hệ học sinh, sinh viên sau học xong áp dụng tri thức học để làm sản phẩm có ích cho xã hội Đặc biệt đội ngũ công nghệ thông tin cần phải có lực tốt để tạo sản phẩm công nghệ hỗ trợ ngành kinh tế khác phát triển Do vậy, cần định hướng tạo điều kiện cho học sinh học ngôn ngữ lập trình mạnh C++, xu hướng tất yếu thời đại Trong kì thi học sinh giỏi cấp tỉnh mơn tin học khuyến khích học sinh sử dụng ngơn ngữ lập trình C++ đế làm nên tơi mạnh dạn áp dụng đề tài vào công tác giảng dạy lớp 11 A1 năm học 2019-2020 có em đội tuyển tin học nhà trường Hơn nội dung kiến thức hàm lập trình quan trọng, việc sử dụng chức hàm giúp người lập trình giải tốn phức tạp trở lên đơn giản hơn, sau trình giảng dạy xin đưa số kinh nghiệm sử dụng hàm lập trình C++ sáng kiến Qua q trình tìm hiểu, tơi thấy chưa có tài liệu nghiên cứu sâu vào vấn đề Chính tơi chọn đề tài: " Một số phương pháp tạo hứng thú cho học sinh học ngơn ngữ lập trình C++ số kinh nghiệm dạy sử dụng hàm ngôn ngữ C++"làm sáng kiến kinh nghiệm năm học 2020-2021 với mục đích trao đổi bạn đồng nghiệp phương pháp mà tơi áp dụng có hiệu trường công tác hy vọng cách làm bổ sung, hoàn thiện nhân rộng Trường THPT C Nghĩa Hưng nói riêng trường địa bàn tỉnh Nam Định nói chung Mục đích nghiên cứu: Xác định sở thực tiễn số biện pháp nâng cao chất lượng giáo dục đổi phương pháp dạy học – lấy người học làm trung tâm Tìm phương pháp dựa sở khoa học để truyền thụ kiến thức cho học sinh thêm sinh động thực tế hơn, đặc biệt chương trình Tin học phần kiến thức trừu tượng địi hỏi học sinh phải có tư duy, sáng tạo kỹ thực hành giải vấn đề cho học sinh trường THPT C Nghĩa Hưng Để nâng cao chất lượng giáo dục nhà trường, phải nâng cao chất lượng từ mơn, có mơn tin học Làm để học sinh lĩnh hội kiến thức từ nhiều hướng, nhiều khía cạnh khác từ lý thuyết từ thực tế thực hành học sinh hiểu kiến thức, có tư duy, sáng tạo dẫn tới ham học hỏi, u thích mơn học mà học sinh trường THPT C Nghĩa Hưng cần Đối tượng nghiên cứu: Nghiên cứu giải pháp để tạo hứng thú cho học sinh học lập trình C++ trường THPT C Nghĩa Hưng, nhằm mục đích nâng cao chất lượng giáo dục môn Tin học trường Phương pháp nghiên cứu - Phương pháp nghiên cứu xây dựng sở lý thuyết: Tìm đọc, nghiên cứu, phân tích tài liệu liên quan Rút kinh nghiệm thực tiễn giảng dạy Từ xây dựng sở lý luận đề tài - Phương pháp điều tra khảo sát thực tế, thu thập thông tin: Sử dụng phiếu điều tra hứng thú học tập môn Tin học học sinh trước sau tác động Từ đề giải pháp phù hợp để nâng cao hứng thú học môn Tin học cho học sinh - Phương pháp thống kê, xử lý số liệu: Sử dụng phương pháp thống kê để xử lý số liệu, so sánh kết thu thập lớp thực nghiệm lớp đối chứng II MÔ TẢ GIẢI PHÁP Mô tả giải pháp trước tạo sáng kiến Trường THPT C Nghĩa Hưng có 30 lớp có 10 lớp khối 11(gần 400 học sinh).Các em lớp 11A1 có tư tốt môn khoa học tự nhiên, đa số em có xu hướng học ngành nghề liên quan đến công nghệ thông tin tương lai Chính vậy, việc học sinh tiếp cận ngơn ngữ lập trình cũ pascal làm cho em cảm thấy nhàm chán thiếu hứng thú thực tế ngơn ngữ lập trình pascal sử dụng báo điện tử đề cập: https://thanhnien.vn/giao-duc/viet-nam-van-dang-day-cai-the-gioi-khongcon-day PGS-TS Phạm Thế Bảo, giảng viên khoa Công nghệ thơng tin Trường ĐH Sài Gịn, chia sẻ nhiều tâm tư việc dạy học tin học trường phổ thơng Ơng Bảo nói: M " ơt số giáo viên dạy tin học trường phổ thông cho biết họ dạy mơn ngơn ngữ lập trình Pascal, giới khơng cịn nơi dạy chương trình này” https://techtalk.vn/pascal-cho-chuong-trinh-hoc-cap-3-hieu-qua-hay-loithoi.html https://thanhnien.vn/giao-duc/hoc-nhung-dieu-khong-ai-su-dung510144.html Theo điều tra đầu năm lớp 11, 80% học sinh lớp 11A1 tiếp cận với ngôn ngữ pascal cấp chương trình Tin học Do vậy, đọc chương trình tin học 11 nói lập trình pascal nhiều em hỏi tơi: “Thưa học lập trình pascal để làm ạ? ” Bên cạnh em coi môn Tin học môn phụ, nội dung kiến thức lại mẻ, khó tiếp thu dẫn đến em thấy nhàm chán lơ với mơn học Vì việc tạo hứng thú học môn Tin học để em thấy u thích mơn học thấy vai trị môn học ứng dụng thực tiễn việc làm cần thiết Theo kết học năm học 2018 -2019, điểm tổng kết môn Tin học số lớp11a1 sau: sau: Sĩ số Giỏi Khá Trung bình Yếu – Kém SL % SL % SL % SL % 35 5.7 10 28.5 20 57.1 8.6 Theo kết khảo sát đầu năm 2019 -2020, học môn Tin học 11 tư thuật toán lớp 11a1 sau: sau: Sĩ số Giỏi Khá Trung bình Yếu - Kém SL % SL % SL % SL % 36 2.7 16.7 25 69.4 11.2 Qua số liệu thống kê cho thấy tỉ lệ học lực - giỏi lớp tương đối thấp Bên cạnh đội tuyển học sinh giỏi năm học 2018-2019 học ngôn ngữ lập trình Pascal theo phương pháp cũ đồng nghiệp dạy đạt kết chưa cao xếp thứ 40 tồn tỉnh Do mơn Tin học nói chung mơn Tin học 11 nói riêng, đặc biệt lớp 11a1chọn Ban khoa học tự nhiên em có định hướng học đại học học ngành liên quan đến công nghệ thông tin tương lai Để em có niềm đam mê, hứng thú học tốt môn học nhiệm vụ tương đối khó khăn thách thức thầy cô giáo trực tiếp phân công giảng dạy lớp Đặc biệt em đội tuyển học sinh giỏi có đam mê tố chất chưa có phương pháp phù hợp giúp em phát huy tối đa khả mình, tơi thấy đáng tiếc Vì vậy, u cầu đặt bên cạnh việc đổi phương pháp dạy học, dạy, tiết học, phần học giáo viên cần tìm giải pháp tạo hứng thú cho học sinh, để học sinh dễ hiểu u thích mơn học, say mê mơn học tránh học đối phó, học vẹt, từ em học hiệu em học sinh đội tuyển ln u thích mơn học, đam mê theo đuổi ước mơ có thành tích cao kì thi giỏi cấp tỉnh Mơ tả giải pháp sau có sáng kiến kinh nghiệm 2.1 Giải pháp thứ nhất: Tạo hứng thú tác động tâm lý thông qua câu chuyện lập trình diễn đàn dạy học lập trình C+ + Để học sinh học tốt mơn học, từ ban đầu giáo viên cần lôi học sinh, tạo hứng thú cho học sinh qua giảng, thông qua câu chuyện tình có vấn đề kích thích khả tìm tòi sáng tạo học sinh Ngay ban đầu giảng dạy lập trình, để em hứng thú học tập ngồi kiến thức giảng sinh động, thường lồng tiết dạy câu chuyện liên quan đến lập trình Thơng qua câu chuyện gương tin học trẻ nhen nhóm hứng thú tình u dành cho cơng nghệ thơng tin, đam mê lập trình góp phần định hướng nghề nghiệp tương lai cho em Ví dụ 1: Tấm gương cậu bé lớp tự học ngơn ngữ lập trình giành nhiều giải thưởng (http://juniorstartup.edu.vn/tam-guong-cau-be-lop-6-tu-hocngon-ngu-lap-trinh-va-gianh-nhieu-giai-thuong.html) Từ năm lớp 2, Võ Nguyễn Minh Triết (Trường THCS Trần Hưng Đạo, TP Quảng Ngãi) bắt đầu làm quen với ngơn ngữ lập trình mày mị làm chương trình "Đường lên đỉnh Olympia" Bước sang năm lớp 6, Triết vượt qua nhiều đàn anh để giành giải Nhì Hội thi Tin học trẻ tỉnh Quảng Ngãi Ví dụ 2: Khơng có cấp lẫn đại học, trở thành kỹ sư phần mềm Facebook nào? (HTTPS://EHKOO.COM/BAI-VIET/EVANPRIESTLEY-FACEBOOK ) Đây câu chuyện Evan Priestley, lập trình viên chí khơng có tốt nghiệp phổ thơng lẫn đại học, đảm nhiệm vị trí kĩ sư phần mềm Facebook từ 2007 đến 2011 Ví dụ 3: Đến từ vùng quê Quảng Ngãi đầy nắng gió, chàng trai sinh năm 96 - Lê Minh Hoàng sinh viên Học viện Kỹ thuật mật mã, đồng thời nhà đồng sáng lập hai doanh nghiệp Truyền thơng – Digital Marketing uy tín hàng đầu công ty DigiPublic Brand4U.(https:// tuoitre.vn/le-minh-hoang-chang-sinh-vien-tre-lam-chu-hai-doanh nghiep.htm ) Thời đại CNTT bùng nổ, em tiếp cận mạng máy tính sớm, giáo viên nên lơi em vào diễn đàn tin học, tham gia thành viên diễn đàn, trao đổi giao lưu, học hỏi giúp em u thích mơn học học tập hiệu Ví dụ 4: Lồng ghép học diễn đàn tin học hay như: http://congdongcviet.com: Diễn đàn lập trình hay nhiều học sinh, sinh viên học lập trình tham gia Trên diễn đàn có nhiều tài liệu C++ hay giúp em tự học http://vforum.vn/diendan/forumdisplay.php?167-C-C-: Diễn đàn học lập trình C++ đông đảo bạn tham gia với tập lập trình C++ từ đến nâng cao Trên diễn đàn em trao đổi kiến thức bổ ích 2.2 Giải pháp thứ Tạo hứng thú cho học sinh thông qua việc sử dụng phần mềm Crocodile ICT để mô tả thuật toán giúp học sinh hiểu rõ chất thuật tốn trước áp dụng ngơn ngữ C++ để lập trình Bởi rõ ràng biết, lập trình cho tốn việc em tiếp cận thuật tốn tốn Và tơi chọn phần mềm Crocodile ICT để minh họa lại bước thực thuật toán giúp em hiểu rõ hoạt động thuật toán Khi hiểu rõ thuật toán toán việc thể lại thuật tốn ngơn ngữ lập trình trở nên dễ dàng Trong trình dạy Tin học 11 đặc biệt cho lớp ban khoa học tự nhiên, trọng nhiều việc hình thành tư giải thuật cho học sinh, giúp em tự tin gặp tốn tương tự tìm giải thuật phù hợp Đây tảng giúp em tự tin tiếp cận chương trình lập trình khó tương lai Ví dụ 1: Khi dạy phần cấu trúc rẽ nhánh lặp Tôi lựa chọn tập để mơ thuật tốn phần mềm giúp em hiểu rõ chất rẽ nhánh lặp thuật toán Một số tập đơn giản sau: Bài tập 1: Giải phương trình bậc ax + b = Sơ đồ thuật toán phần mềm Crocodile ICT: Bài tập 2: Giải phương trình bậc 10 Sơ đồ thuật toán phần mềm Crocodile ICT: Để kiểm chứng tính đắn thuật tốn giải phương trình bậc hai ax2 + bx + c = 0, ta sử dụng Input sau: Với a = 1, b = -5, c = có biệt số Delta > 0, Phương trình có hai nghiệm phân biệt x1 = 3, x2 =2 Với a = 1, b = -4, c = có biệt số Delta = 0, Phương trình có nghiệm kép Với a = 1, b = 4, c = có biệt số Delta < 0, Phương trình vơ nghiệm Bài tập 3: Với a số ngun a>2, viết thuật tốn tính tổng sau: S= 1/a+1/(a+1) +… +1/(a+100) a Xác định toán - Input: Nhập vào số nguyên a với a>2 - Output: Tổng S b Ý tưởng - Khởi tạo giá trị ban đầu cho s=1/a - Tiếp theo cộng vào tổng S giá trị 1/(a+N) (với N nhận giá trị từ 1,2….,100) c Thuật tốn 18 return 0; } Hình ảnh minh họa viết chạy chương trình Dev-C++ 2.4 Giải pháp 4: Lưu ý cho em cách sử dụng hàm lập trình C+ + hiệu a) Khái niệm hàm Hàm khối lệnh xây dựng để thực chức cụ thể - Hàm ln ln xác định tên gọi cụ thể Mọi thao tác với hàm thực thông qua tên gọi - - Thơng thường, có dạng bản: Hàm: sau thực chức cụ thể, hàm trả bên giá trị o Thủ tục: trường hợp hàm sau thực chức cụ thể, thủ tục khơng trả bên ngồi giá trị o b)Mục đích việc xây dựng sử dụng hàm Khi có cơng việc giống cần thực nhiều vị trí Khi cần chia chương trình lớn phức tạp thành đơn thể nhỏ (hàm con) để chương trình sáng, dễ hiểu việc xử lý, quản lý việc tính tốn giải vấn đề Tóm lại, sử dụng hàm giúp cho chương trình bạn rõ ràng, xúc tích, ngắn gọn tiện lợi nhiều c) Cú pháp xây dựng hàm 19 Để xây dựng hàm C++, bạn cần khai báo theo cú pháp Trong cú pháp trên, bạn lưu ý thành phần đặt cặp dấu ngoặc vuông “[ ]” thành phần khuyết (tuỳ trường hợp ngữ cảnh mà linh động sử dụng) Còn thành phần đặt cặp dấu nhọn “< >” thành phần bắt buộc phải có khai báo hàm Ngoài Kiểu liệu trả hàm (kết hàm/ đầu ra), gồm loại: void: Không trả giá trị (dạng thủ tục) float / int / long / char * / kiểu cấu trúc / … : Trả giá trị kết có kiểu liệu tương ứng với toán (chỉ trả giá trị theo kiểu liệu) Tên hàm: Đặt tên theo qui ước cho phản ánh chức thực hàm Danh sách tham số (nếu có): tham số hình thức Những tham số nhận giá trị thực cách truyền tham số hàm gọi đến Nếu có nhiều tham số phải có dấu phẩy (,) để phân cách Trong trường hợp hàm khơng có tham số phải để ( ) ➤ Lưu ý: tham số (nếu có) khai báo tương tự khai báo biến Nghĩa tham số phải có kiểu liệu tên tham số d) Sử dụng hàm Sau khai báo xây dựng hàm, việc gọi sử dụng hàm lại đơn giản Bạn cần gọi tên hàm truyền tham số thực, cú pháp sau: Trong trường hợp hàm có trả ngồi kết đó, bạn cần khai báo biến có kiểu liệu tương ứng với kiểu liệu hàm để nhận kết trả Trong trường hợp hàm tham số phải để cặp dấu ngoặc đơn e) Ví dụ minh hoạ: Trong phần này, ta làm 02 ví dụ để minh hoạ cho 02 trường hợp hàm thủ tục Ví dụ Viết chương trình nhập số nguyên dương n in hình ước số n Đầu vào: số nguyên n (đây liệu để xác định tham số cho hàm) Đầu ra: in ước số n (đây liệu để xác định kiểu liệu trả hàm) Tuy nhiên, trường hợp “in” 20 hình, mà không trả giá trị Do dùng kiểu void cho hàm Xác định tên hàm: Hàm có chức in ước số số nguyên n nên đặt LietKeUocS Từ phân tích trên, có chương trình sau: Chương trình Dev-C++