(SKKN 2022) giúp học sinh tạo dữ liệu đầu vào, cài đặt chương trình tối ưu và khắc phục những sai lầm thường gặp khi làm việc với kiểu dữ liệu xâu trong ngôn ngữ lập trình c++
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
265,52 KB
Nội dung
SỞ GIÁO DỤC VÀ ĐÀO TẠO THANH HOÁ TRƯỜNG THPT THỌ XUÂN SÁNG KIẾN KINH NGHIỆM TÊN ĐỀ TÀI GIÚP HỌC SINH TẠO DỮ LIỆU ĐẦU VÀO, CÀI ĐẶT CHƯƠNG TRÌNH TỐI ƯU VÀ KHẮC PHỤC NHỮNG SAI LẦM THƯỜNG GẶP KHI LÀM VIỆC VỚI KIỂU DỮ LIỆU XÂU TRONG NGƠN NGỮ LẬP TRÌNH C++ Người thực hiện: Lê Thị Hạnh Chức vụ: Giáo viên SKKN thuộc lĩnh vực (mơn): Tin học THANH HỐ NĂM 2022 Mục lục Ở ĐẦU 1.1 Lý chọn đề tài C++ ngôn ngữ lập trình phổ biến, có kiểu liệu tĩnh hỗ trợ hầu hết phương pháp lập trình Dữ liệu kiểu xâu C++ phức tạp nhiều so với liệu kiểu xâu Pascal, việc vận dụng linh hoạt thao tác xử lí kiểu liệu vào giải toán liên quan khơng phải dễ Bên cạnh số thói quen sử dụng thao tác xử lý kiểu xâu ngơn ngữ lập trình pascal làm cho em vận dụng sai giải tập C++ cách đáng tiếc, với tài liệu tham khảo phổ thơng thống ngơn ngữ lập trình C++ cịn hạn chế Với mong muốn giúp học sinh giải tốt tập xâu hiểu biết sâu sắc kiểu liệu xâu ngơn ngữ lập trình C++, tơi mạnh dạn trình bày sáng kiến kinh nghiệm: “ Giúp học sinh tạo liệu đầu vào, cài đặt chương trình tối ưu khắc phục sai lầm thường gặp làm việc với kiểu liệu xâu ngôn ngữ lập trình C++ ” để trao đổi đồng nghiệp 1.2 Mục đích nghiên cứu Trong phạm vi đề tài tơi muốn đưa ý tưởng giải quyết, cài đặt chương trình tối ưu giải số tốn cụ thể, qua sai lầm học sinh thường mắc phải sử dụng số thao tác xử lý xâu định hướng số tập kiểu xâu Các thao tác tập hiểu kiểu xâu C++ hiệu thuật tốn nâng lên rõ rệt Từ học sinh phân dạng tập xâu sử dụng thao tác xử lý xâu cách nhuần nhuyễn Cài đặt chương trình tối ưu cho tập xâu, rèn luyện tư phong cách lập trình Cũng qua đề tài, tơi muốn đồng nghiệp trao đổi, trau dồi chuyên môn nhằm góp phần nâng cao trình độ chun mơn nghiệp vụ khả mở rộng kiến thức 1.3 Đối tượng nghiên cứu Đề tài áp dụng học sinh giỏi với nhiệm vụ chủ yếu ôn thi học sinh giỏi bồi dưỡng kiến thức cho học sinh u thích mơn tin 1.4 Phương pháp nghiên cứu Để hồn thành đề tài này, tơi tiến hành áp dụng số phương pháp nghiên cứu sau: Phương pháp đặt vấn đề - giải vấn đề, Phương pháp phân tích tổng hợp,Phương pháp so sánh đối chiếu, Phương pháp thực nghiệm NỘI DUNG CỦA SÁNG KIẾN KINH NGHIỆM 2.1 Cơ sở lí luận sáng kiến kinh nghiệm Giáo dục tin học đóng vai trò chủ đạo việc chuẩn bị cho học sinh khả tìm kiếm, tiếp nhận, mở rộng tri thức sáng tạo thời đại cách mạng công nghiệp lần thứ tư tồn cầu hố Tin học có ảnh hưởng lớn đến cách sống, cách suy nghĩ hành động người, công cụ hiệu hỗ trợ biến việc học thành tự học suốt đời.[1] Căn vào quan điểm, định hướng 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 2.2 Thực trạng vấn đề trước áp dụng sáng kiến kinh nghiệm 2.2.1 Về phía Phụ huynh học sinh Môn Tin học môn học không đưa vào thi tốt nghiệp xét trường Cao đẳng, Đại học Chính đa phần khơng phụ huynh đồng tình lựa chọn vào đội tuyển Tin học phải đầu tư thời gian để tìm hiểu 2.2.2 Về phía Giáo viên Tin học 11 lĩnh vực khó truyền tải, Khơng phải Giáo viên có chun mơn tốt đào tạo học sinh Giỏi, mà Giáo viên có chun mơn tốt phải đồng hành với việc có phương pháp giảng dạy lập trình tốt Có đánh giá điểm mạnh, điểm yếu lập trình học sinh, sai lầm lập trình em hay mắc phải 2.2.3 Về phía học sinh Các em thường quen với việc giải tốn tìm cách giải cho đáp án theo đề Chính nhiều em thi học sinh giỏi tự tin làm tốt mà khơng kiểm tra cách giải tối ưu chưa? Đã bao quát tất trường hợp xảy chưa? Đã chạy test với liệu lớn hay chưa? Dẫn đến kết kỳ thi thấp 2.2.4 Một số tài liệu có Trên thực tế có số tài liệu đề cập đến tập xâu, tài liệu đưa thuật tốn chương trình giải số tập cụ thể làm ví dụ minh họa cho kỹ thuật lập trình nghiên cứu mà chưa khái quát, nhấn mạnh điểm cần lưu ý với kiểu xâu C++ 2.3 Các sáng kiến kinh nghiệm giải pháp sử dụng để giải vấn đề Từ thực trạng trên, qua năm đứng đội tuyển từ 2017- 2022, chuyển đổi ngơn ngữ lập trình từ pascal sang C++ , dạy kiểu liệu xâu tập hợp lỗi sai thường gặp học sinh, đưa cách khắc phục, hướng dẫn em tạo liệu đầu vào để kiểm tra độ phức tạp, thời gian thuật toán, hướng em tới thuật toán tối ưu giải tập kiểu liệu xâu 2.3.1 Những sai lầm học sinh thường gặp 2.3.1.1 Vân dụng sai : cin getline a) Nhập xâu Học sinh cần linh động cách nhập xâu tùy vào yêu cầu đề để tránh làm chậm chương trình test + Xâu không chứa dấu cách dấu cách cuối xâu dùng cin: cin>>tên biến xâu; Với cách nhập nhập xâu từ đầu đến trước vị trí cách trống gặp kí tự trắng (như dấu cách, kí tự xuống dịng, ….) coi kết thúc việc nhập liệu + xâu chứa dấu cách dùng getline: getline(cin,tên biến xâu); + xâu có chứa dấu cách khơng có dấu cách ta lựa chọn cách đọc mảng kí tự Lưu ý: dùng getline thời gian chạy chương trình lâu cin Ứng dụng linh hoạt cin, getline, mảng xâu, mảng kí tự Để thấy linh hoạt, hiệu hiểu rõ chất cin, getline ta giới thiệu cho học sinh ví dụ sau: Cho file XAUDEP.INP gồm dấu cách kí tự Một từ kí tự liên tiếp không chứa dấu cách, tối ưu xâu để hai từ có dấu cách in kết xâu tìm vào file XAUDEP.OUT #include using namespace std; string s,st; int main() { freopen("xaudep.inp","r",stdin); freopen("xaudep.out","w",stdout); getline(cin,s); // sử dụng getline để đọc xâu đầu vào s=s+' '; st=""; for(int i=0;i s) {st=st+s+' ';} cout> s) {i++; a[i]=s;} int n=i; for (i=1; i n; cout