SỞ GIÁO DỤC VÀ ĐÀO TẠO THANH HOÁ TRƯỜNG THPT HÀ TRUNG SÁNG KIẾN KINH NGHIỆM GIẢI PHÁP KHAI THÁC ỨNG DỤNG CxxDROID C/C++ TRÊN SMARTPHONE ĐỂ NÂNG CAO HIỆU QUẢ DẠY VÀ HỌC CHƯƠNG 5 TỆP VÀ THAO TÁC VỚI TỆP[.]
SỞ GIÁO DỤC VÀ ĐÀO TẠO THANH HOÁ TRƯỜNG THPT HÀ TRUNG SÁNG KIẾN KINH NGHIỆM GIẢI PHÁP KHAI THÁC ỨNG DỤNG CxxDROID-C/C++ TRÊN SMARTPHONE ĐỂ NÂNG CAO HIỆU QUẢ DẠY VÀ HỌC CHƯƠNG 5: TỆP VÀ THAO TÁC VỚI TỆP TRONG CHƯƠNG TRÌNH TIN HỌC 11 Người thực hiện: Lê Văn Như Chức vụ: Giáo viên SKKN thuộc lĩnh vực (mơn): Tin học skkn THANH HỐ NĂM 2022 skkn MỤC LỤC MỞ ĐẦU 1 Lý chọn đề tài 1.2 Mục đích nghiên cứu .2 1.3 Đối tượng nghiên cứu 1.4 Phương pháp nghiên cứu NỘI DUNG SÁNG KIẾN KINH NGHIỆM 2.1 Cơ sở lý luận sáng kiến kinh nghiệm 2.2 Thực trạng vấn đề trước áp dụng sáng kiến kinh nghiệm 2.3 Các giải pháp sử dụng để giải vấn đề .4 2.3.1 Giới thiệu app CxxDROID-C/C++ cách sử dụng 2.3.2 Ứng dụng cụ thể vào tiết dạy Chương Tệp thao tác với tệp chương trình tin học 11 .8 2.4 Hiệu sáng kiến hoạt động giáo dục than, đồng nghiệp nhà trường 15 KẾT LUẬN, KIẾN NGHỊ .17 3.1 Kết luận 17 3.2 Kiến nghị .17 Tài liệu tham khảo .18 skkn MỞ ĐẦU 1 Lý chọn đề tài Căn theo thông tư 32 Bộ giáo dục ban hành có hiệu lực từ ngày tháng 11 năm 2020 Điều 37 qui định việc cho phép học sinh sử dụng điện thoại thiết bị khác học, nhằm phục vụ mục đích học tập, cho phép Ban giám hiệu chí cao thầy cô giáo nhà trường Cùng với phát triển kinh tế xã hội, nhiều gia đình đầu tư cho điện thoại thông minh để phục vụ cho việc lien lạc học tập em mình.Từ thực tế q trình giảng dạy tơi trọng đến việc ứng dụng phần mềm điện thoại di động để hướng dẫn học sinh sử dụng điện thoại viết chạy chương trình, phục vụ cho tiết học lập trình C++ sinh động hiệu Ngày khoa học công nghệ phát triển ngày nhanh Việc áp dụng thành tựu khoa học tiên tiến, phần mềm lập trình sẵn vào công việc giảng dạy giáo viên xu tất yếu Vài năm gần đây, việc sử dụng điện thoại smartphone cài thêm ứng dụng hỗ trợ cho việc dạy học trở nên phổ biến Có nhiều app hỗ trợ tốt cho việc dạy học chương trình tin học 11 như: Pascal N-IDE, pascal programming, Python Programming, Coding Python, Cxxdroid-c/c++, Coding C++, Việc ứng dụng phần mềm vào dạy học có nhiều ưu điểm trội tính hỗ trợ động, tức thời, dễ cài đặt, kiểm tra Các tiện ích có sẵn miễn phí CH Play hệ điều hành ANDROID App Store hệ điều hành IOS Tuy nhiên đến thời điểm chưa có tài liệu hướng dẫn cách sử dụng ứng dụng tiếng việt cho phần mềm Từ thực tế đó, tơi nghiên cứu tìm hiểu, thực nghiệm hồn thành đề tài sáng kiến kinh nghiệm “Giải pháp khai thác ứng dụng CxxDROID-C/C++ smartphone để nâng cao hiệu dạy học chương 5: Tệp thao tác với tệp chương trình tin học 11” Qua khảo sát thực tế lớp 11A, 11D, 11G, 11H, 11I trường THPT Hà Trung Số học sinh có điện thoại thơng minh SMART PHONE IPHONE chiếm tỉ lệ 98% Cụ thể lớp dạy sau: Lớp Số học sinh có smartphone 11 A 42/42 11D 37/38 11G 39/40 11H 40/42 11I 35/40 Điều kiện sở vật chất trường THPT Hà Trung: Trường có 41 lớp, có phịng thực hành tin học, phịng có 20 máy đa số skkn hỏng nhiều năm khơng có nguồn kinh phí để sửa chữa thay Lớp đơng nên đến chí có tiết học có đến học sinh thực hành máy vi tính gây nhiều khó khăn cho tiết thực hành Ở Các tiết lý thuyết học sinh viết chương trình bảng xem giáo viên chạy chương trình có sẵn chiếu lên xem mà khơng tự tay viết chạy thử Chính khó khăn đó, việc sử dụng thiết bị di động sẵn có từ phía học sinh ứng dụng phần mềm điện thoại thơng minh góp phần làm giảm bớt sức ép cho phịng máy, giảm bớt kinh phí tu bổ sửa chữa máy tính cho nhà trường, gây hứng thú cho học sinh học lập trình Trong trình dạy tiết lý thuyết giáo viên cho học sinh vừa học lý thuyết vừa thực hành viết chương trình điện thoại lớp học, đồng thời phản chiếu chương trình điện thoại lên hình smart ti vi có sẵn lớp để so sánh, quan sát nhận xét chương trình kết thơng qua ứng dụng tích hợp sẵn điện thoại Play To, Smart View, mà em thường xuyên sử dụng để phản chiếu hình điện thoại lên smart tivi Từ cảm nhận, từ từ hiểu vấn đề, thấy lập trình khơng q khó trước kia, nên mong muốn tìm hiểu để biết thêm chút nữa, hiểu thêm chút nữa, để tìm tịi sáng tạo thuật tốn mới, Như em khơng khơng nản, khơng bng xi mà cịn có hứng thú để học, để hiểu, để tìm tịi, sáng tạo lập trình 1.2 Mục đích nghiên cứu Thơng qua việc nghiên cứu đề tài nhằm giúp học sinh nắm vững cách sử dụng phần mềm có sẵn CH Play AppStore Smartphone Góp phần giúp em biết phần mềm máy tính lập trình ngày người ta cịn sử dụng smartphone để lập trình lúc nơi đâu lúc nào, để từ hình thành phát triển tư cho học sinh, gây hứng thú đam mê chủ động hơn, tích cực học lập trình Từ học sinh (nhất học sinh trung bình, yếu) tự thân viết chương trình giải toán đơn giản thực tế học tập Đồng thời góp phần làm giảm sức ép cho phịng thực hành, góp phần giảm kinh phí tu bổ sửa chữa hàng năm cho phòng máy vi tính Do điều kiện thời gian, sáng kiến này, tơi tập trung vào hai vấn đề là: - Cách sử dụng app Cxxdroid-C/C++ - Ứng dụng cụ thể vào thực tế dạy học Chương 5: Tệp thao tác với tệp chương trình tin học 11 phần mềm 1.3 Đối tượng nghiên cứu - Nghiên cứu dạy học lập trình chương trình tin học phổ thông - Nghiên cứu SGK SGV tin học 11 skkn - Nghiên cứu hoạt động dạy học theo hướng phát triển lực học sinh trường THPT 1.4 Phương pháp nghiên cứu Tìm hiểu tính cách sử dụng app CxxDROID-C/C++ Nghiên cứu so sánh tính loại phần mềm điện thoại với phần mềm máy tính để đưa kinh nghiệm cách sử dụng tính phần mềm smartphone để ứng dụng vào dạy học thực tế Tôi phối kết hợp nhiều phương pháp nghiên cứu như: nghiên cứu sở lý thuyết, nghiên cứu tài liệu, thuyết trình, phương pháp dạy học đổi mới… phù hợp với môn học thuộc lĩnh vực Tin học Nghiên cứu đưa cách truyền tải kiến thức lý thuyết, cách viết chương trình hồn thiện số ví dụ từ đơn giản đến nâng cao Đồng thời trao đổi, tìm hiểu kinh nghiệm đồng nghiệp trường giáo viên trung học phổ thơng Từ đó, tiếp cận học sinh, tiến hành thực nghiệm sư phạm lớp 11A, 11D,11G, 11H 11I trường THPT Hà Trung Sau đó, so sánh đối chiếu kết lớp trước sau tiến hành thực nghiệm Tôi tiến hành thực nghiệm phần mềm CxxDROID-C/C++ qua tiết học lớp với trợ giúp SMARTPHONE so sánh với tiết khơng có ứng dụng SMARTPHONE mà tiến hành dạy lý thuyết máy chiếu bảng đen với thực hành qua tiết thực hành máy tính phịng thực hành tin học Qua đó, rút học kinh nghiệm việc sử dụng ứng dụng phần mềm CxxDROID-C/C++ điện thoại giảng dạy dạy học truyền thống 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ị 40/2000/QH10 thị 14/2001/CT-TT ngày 9/12/2000 việc đổi chương trình giáo dục phổ thơng: Nội dung chương trình tích cực áp dụng cách sáng tạo phương pháp tiên tiến, đại, ứng dụng CNTT vào dạy học Chỉ thị 29/CT trung ương Đảng việc đưa CNTT vào nhà trường Thông tư số 14/2002/TT- BGD& ĐT ngày 1/4/2002 việc hướng dẫn quán triệt chủ trương đổi giáo dục phổ thông Thông tư 32 Bộ giáo dục ban hành có hiệu lực từ ngày tháng 11 năm 2020 Tại điều 37 qui định việc cho phép học sinh sử dụng điện thoại thiết bị khác học nhằm mục đích phục vụ học tập skkn Căn vào mục tiêu môn Tin học 11: 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 Để xác định, đề nhiệm vụ cụ thể môn, 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 đề 2.2 Thực trạng vấn đề trước áp dụng sáng kiến kinh nghiệm Trường THPT Hà Trung nằm địa bàn xã Hà Bình huyện Hà Trung xã nơng thơn huyện, có khoảng 80% học sinh trường em nhà làm nông nghiệp nên chưa có đủ điều kiện kinh tế cho phép gia đình có máy vi tính phục vụ việc học tập Cơ sở vật chất nhà trường sơ sài thiếu thốn Trường có phịng thực hành, phòng 20 máy đa số máy hết hạn sử dụng, máy hỏng nhiều Nhiều năm qua khơng có kinh phí để tu bổ sửa chữa nên việc dạy học môn tin học học chay Giáo viên gõ chạy chương trình máy tính chiếu lên chiếu cho học sinh quan sát theo dõi Gây nhiều khó khăn cho việc dạy học giáo viên học sinh Trong năm gần đây, ảnh hưởng đại dịch COVID nên trường THPT Hà Trung nói riêng nước nói chung chuyển từ học trực tiếp sang học trực tuyến nên gia đình sắm cho em điện thoại thông minh để phục vụ học tập nên học sinh có điện thoại thơng minh vừa để liên lạc vừa phục vụ học tập Nhưng em lại chưa biết cách sử dụng chưa biết có app phục vụ cho việc học lập trình hay không? Môn tin học môn học đặc thù, có nhiều kiến thức khó đặc biệt chương trình tin học 11 nên có nhiều học sinh chưa hiểu nội dung chương trình học sách giáo khoa, dẫn đến tình trạng chán học, khơng thích học 2.3 Các giải pháp sử dụng để giải vấn đề 2.3.1 Giới thiệu app CxxDROID-C/C++ cách sử dụng - Để tìm kiếm ứng dụng lập trình Chúng ta truy cập vào cửa hàng ứng dụng CHplay điện thoại sử dụng hệ điều hành android apple store gõ từ khoá Cxxdroid-c/c++ thấy ứng dụng: skkn Tiến hành cài đặt mở app lên ta thấy giao diện sau: Đặc trưng trình biên dịch CxxDROID-C/C++: - Là trình biên dịch C / C ++ ngoại tuyến miễn phí: khơng cần Internet để chạy chương trình C / C ++ - Trình quản lý gói kho lưu trữ tùy chỉnh với gói dựng sẵn cho thư viện phổ biến, chẳng hạn Boost, SQLite, ncurses, libcurl,… - Ví dụ có sẵn ngồi hộp để học nhanh - Trình mơ đầu cuối đầy đủ tính skkn - Chế độ trình thơng dịch C/C ++ (REPL) dựa Cern Cling có sẵn - Hiệu suất vượt trội với cơng nghệ nhớ đệm trình biên dịch tiên tiến - Kiến trúc trưởng thành: mã phân tích biên dịch với trình biên dịch IDE khơng bị sập hồn tồn lỗi thời gian chạy chương trình - Giao diện người dùng thiết kế với tốc độ tính khả dụng tâm trí: quên phím tắt khơng cảm ứng tổ hợp nút cảm ứng yêu cầu để chạy chương trình - Tính chỉnh sửa: Dự đốn mã thời gian thực, thụt lề tự động phân tích mã giống IDE thực - Thanh bàn phím mở rộng có tất ký hiệu cần lập trình C ++ - Cú pháp tơ sáng & chủ đề - Tab - Chia sẻ lần nhấp Pastebin Tuy nhiên, CxxDROID-C/C++ yêu cầu nhớ tối thiểu 150-200 MB nhiều muốn sử dụng thư viện nặng Boost Vì mục tiêu CxxDROID-C/C++ giúp người học ngơn ngữ lập trình C++ code chạy thử chương trình, ưu tiên hàng đầu chuyển thư viện chung Học sinh sử dụng bàn phím ảo điện thoại tiến hành gõ, xoá, sửa, chèn, để hình thành chương trình giống thực máy tính theo cấu trúc câu lệnh học Ví dụ: Viết chương trình đơn giản: hiển thị lên hình dịng chữ: “xin chao cac ban” Để chạy trương trình bấm vào nút trịn tam giác góc bên phải điện thoại để xem kết có lỗi máy báo Để quay lại chương trình bấm vào nút mũi tên phía bên trái Đồng thời, ta cịn mở tài liệu mới, mở tài liệu có lưu trữ lại cách bấm vào biểu tượng thư mục phía bên phải điện thoại giống hệt máy tính skkn Khi lưu trữ chương trình, tệp liệu vào (input) tệp liệu (output) phải ln nhớ vị trí đường dẫn Đường dẫn SMARTPHONE bắt đầu /storage/emulated/0/… CxxDROID- C/C++ cho phép tạo thư mục riêng để lưu trữ tệp cho ngăn nắp giống máy vi tính Trong trường hợp khơng nhớ đường dẫn xem lại đường dẫn tới tệp cách nhấn vào biểu tượng thư mục phía bên phải điện thoại chọn Recent files Khi dạy học tệp, vấn đề khó khăn đa số học sinh em hiểu sai hoạt động trỏ tệp, quên đường dẫn chứa file chương trình file input output toán, đặc biệt lẫn lộn đường dẫn đến tệp máy tính điện thoại Tiến trình giảng theo nội dung, tiến trình sách giáo khoa khơng hiệu với đại đa số học sinh Hơn nữa, ví dụ xuyên suốt học sách giáo khoa với học sinh trung bình, yếu khó với số ví dụ mở đầu Vì trình giảng dạy, cần dẫn dắt từ từ, nhiều ví dụ đơn giản, gần gũi, giải thích câu lệnh chi tiết để em thấm dần chút để em hiểu rõ hoạt động câu lệnh yêu cầu em tự viết câu lệnh toán sách giáo khoa Với mong muốn em hiểu dần dần, khuyến khích để em muốn tìm hiểu thêm, thấm nhiều thêm chút kiến thức mơn học - Trong q trình dạy học việc chuẩn bị kĩ lưỡng nội dung cần truyền tải đến học sinh quan trọng, nhiên để em lĩnh hội nội dung học cách tốt nhất, thân nghĩ cần tạo hứng thú, đam mê học tập cho em, làm cho em đam mê, hứng thú với tập, đoạn chương trình, tìm tịi xem viết đoạn chương trình chạy máy thành đạt kết Vì vậy, tiết dạy lý thuyết kết hợp cho học sinh thực hành lớp để em tự thấy kết chương trình viết khơng phải kết chương trình giáo viên skkn 2.3.2 Ứng dụng cụ thể vào tiết dạy Chương V Tệp thao tác với tệp chương trình tin học 11 A MỤC TIÊU: - Về kiến thức: + Tìm hiểu thư viện tệp + Hiểu câu lệnh vào/ra liệu lập trình - Về kĩ năng: Bước đầu sử dụng câu lệnh khai báo thư viện tệp Tạo tệp liệu vào (*.inp) xem kết tệp liệu ra(*.out) để giải số toán đơn giản - Về tư thái độ: + Tiếp tục khơi gợi lịng ham thích giải tốn lập trình máy tính điện thoại +Tiếp tục rèn luyện phẩm chất cần thiết người lập trình cẩn thận, chu đáo, sáng tạo… - Định hướng hình thành phát triển lực: +Phát triển lực sử dụng ngôn ngữ (bằng cách thông qua hoạt động phát biểu định nghĩa, định lí, phương pháp, quy tắc, học) +Phát triển lực tính tốn (thơng qua giải tập) +Phát triển lực giao tiếp lực hợp tác (thông qua hoạt động theo nhóm) +Phát triển lực giải vấn đề B CHUẨN BỊ CỦA GIÁO VIÊN VÀ HỌC SINH - Giáo viên: + Kế hoạch dạy + Phiếu học tập + Máy tính, máy chiếu, slide giảng, sách giáo khoa - Học sinh: + Chuẩn bị kiến thức cũ học có liên quan đến học + Đồ dùng học tập, sách giáo khoa, điện thoại C TỔ CHỨC DẠY HỌC: Phần lý thuyết - Giáo viên chia lớp thành nhóm, nhóm từ 4-5 học sinh, đảm bảo nhóm có SMARTPHONE - Sử dụng cơng cụ SmartView chiếu phiếu học tập lên hình smart ti vi * Hoạt động 1: Tìm hiểu khai báo thư viện tệp cách sử dụng - Giáo viên chiếu lên smart tivi ví dụ sau: Trong tệp vd1.inp có cấu trúc dịng có số ngun, dịng có số thực Yêu cầu: Ghi vào tệp vd1.out số nguyên số thực cuối tệp vd1.inp Số cách số dấu cách skkn Trên điện thoại Trên máy tính Học sinh phát tình có vấn đề: Khi viết chương trình điện thoại máy tính khác có đường dẫn đến tệp - Trên điện thoại là: /Storage/emulated/0/… - Trên máy tính là: D:/… * Hoạt động 2: Lưu trữ chương trình điện thoại B1: Nếu chưa có thư mục baitap tạo thư mục baitap cách bấm vào chọn NEW FOLDER gõ tên thư mục chọn CREATE B2: Bấm vào biểu tượng thư mục phía hình chọn SAVE B3: chọn SELECT FOLDER gõ tên file chương trình chọn SAVE skkn * Hoạt động 3: Mở tài liệu để tạo file *.inp B1: chọn ấn vào NEW B2: tiến hành nhập liệu cho(nhập test) B3: lưu trữ file với tên vd1.inp vào vị trí đường dẫn * Hoạt động 4: Chạy thử chương trình Ấn vào biểu tượng để chạy chương trình có lỗi máy báo * Hoạt động 5: Mở tệp có B1 Bấm vào biểu tượng thư mục B2: Chỉ đến đường dẫn baitap chọn Open B3: Ấn vào tệp cần mở Ví dụ: chọn tệp vd1.out để mở xem kết - Cả lớp quan sát kết chương trình hình ti vi để làm theo hướng dẫn giáo viên * Hoạt động 6: Giáo viên chuẩn hóa kiến thức cho học sinh Ngữ nghĩa cấu trúc câu lệnh: - Khai báo thư viện fstream để định nghĩa lại kiểu liệu: 10 skkn #include - Ofstream: Là kiểu liệu biểu diễn Output file stream sử dụng để tạo file để ghi thơng tin tới file ofstream cout(“đường dẫn tới tệp ghi thông tin”); - Ifstream: kiểu liệu biểu diễn Input file stream sử dụng để đọc thông tin từ file ifstream cin(“đường dẫn tới tệp chứa liệu”); Trong q trình thảo luận nhóm, quan sát, đảm bảo thành viên nhóm hoạt động có tương tác thành viên nhóm với để sau hồn thành thành viên hiểu làm cảm nhận sản phẩm vừa làm sản phẩm nhóm khơng thờ kiểu viết chương trình học khơng phải Trong q trình quan sát có nhóm khó khăn hay lệch hướng hỗ trợ nhắc nhở em cho kịp tiến độ Giáo viên mời thành viên nhóm báo cáo kết nhóm cách sử dụng PlayTo Smart View điện thoại để kết nối điện thoại nhóm với smart ti vi đồng thời giải thích chức biểu tượng, nhắc lại số lệnh quan trọng liên quan tới tệp chương trình (sau tự trình bày em hiểu hơn, em cảm thấy tự làm em học trung bình, yếu) Các nhóm khác nhận xét, bổ sung, nhóm sau bổ sung cho nhóm trước đến nhóm cuối tồn chương trình thấm sâu vào học sinh Sau cho chạy chương trình nhóm (vì nhóm nhận xét bổ sung) cho lớp quan sát kết Sau chạy chương trình học sinh quan sát kết xong, giáo viên yêu cầu nhóm nhà làm lại nhần nhuyễn thao tác mở, đọc, ghi,… lại thư mục tệp theo đường dẫn cho trước Các nhóm lưu vào điện thoại, lớp nhà ghi tất chương trình mẫu ví dụ Phần tập thực hành Ngơn ngữ lập trình mơn học khó u cầu viết chương trình phải có tính xác cao Đối với nhiều học sinh thực hành viết chương trình cần sai mội dấu chấm, dấu phẩy cú pháp chương trình báo lỗi Vì vậy, thực chương trình bị lỗi nhiều học sinh (học lực trung bình, yếu thấy máy báo lỗi em khơng suy nghĩ, nhận xét lỗi gì?) cho giáo viên nói lý thuyết sng mà thực hành không được, không cho kết tập Từ làm cho em chán nản, khơng thích học mơn Khi giảng dạy phần tơi thường đưa tập ghi tệp trước sau đến tập đọc tệp * Hoạt động 1: Phần ghi tệp: 11 skkn Bài tập 1: Viết chương trình nhập vào từ bàn phím số ngun n dãy có n số nguyên (N