MỤC LỤC MỤC LỤC 1 I ĐIỀU KIỆN HOÀN CẢNH TẠO RA SÁNG KIẾN 2 II MÔ TẢ GIẢI PHÁP 3 1 Mô tả giải pháp trước khi tạo ra sáng kiến 3 2 Mô tả giải pháp sau khi có sáng kiến 3 III NỘI DUNG SÁNG KIẾN 5 A LÝ TH[.]
ĐIỀU KIỆN HOÀN CẢNH TẠO RA SÁNG KIẾN
Căn cứ vào Nghị quyết số 29-NQ/TW ngày 04 tháng 11 năm 2013 hội nghị lần thứ tám Ban chấp hành trung ương khoá XI về đổi mới căn bản, toàn diện giáo dục và đào tạo nghị quyết của Đảng cộng sản Việt Nam; Công văn số 3718/BGDĐT-GDTrH ngày 15 tháng 08 năm 2016 của Bộ giáo dục và đào tạo về việc Hướng dẫn thực hiện nhiệm vụ giáo dục trung học năm học 2017-2018 và công văn số 1170/SGDĐT-GDTrH cụ thể hoá việc Hướng dẫn thực hiện nhiệm vụ năm học 2017-2018 của Sở giáo dục và đào tạo Nam Định Với mục tiêu tạo chuyển biến căn bản, toàn diện, mạnh mẽ về chất lượng, hiệu quả trong giáo dục và đào tạo Sở giáo dục và đào tạo Nam Định đã nhấn mạnh các nhiệm vụ trọng tâm trong năm học là: Nâng cao chất lượng hiệu quả giáo dục trong các cơ sở giáo dục trung học Tiếp tục giữ vững khẳng định vị trí là một trong những đơn vị dẫn đầu toàn quốc về chất lượng giáo dục đại trà cũng như bồi dưỡng học sinh giỏi Thực hiện thường xuyên, hiệu quả các phương pháp hình thức và kĩ thuật dạy học tích cực.
Mục tiêu giáo dục của chúng ta hiện nay là đào tạo những con người lao động tự chủ, năng động, sáng tạo, có năng lực giải quyết những vấn đề thường gặp, góp phần xây dựng đất nước giàu mạnh, xã hội công bằng dân chủ văn minh Đưa đất nước Việt Nam tiến nhanh trên con đường phát triển hòa nhập với thế giới ở đầu thế kỉ XXI Đây chính là thời đại của nền công nghiệp 4.0.
Qua quá trình học tập, nghiên cứu tài liệu chuyên môn, nội dung tập huấn đầu năm học 2017-2018, cùng với kinh nghiệm giảng dạy tin học lớp 11 và dẫn đội tuyển học sinh giỏi môn tin học 4 năm liền có giải cao, tôi mạnh dạn chọn và xây dựng đề tài: “Sử dụng ngôn ngữ lập trình C ++ để giải quyết các bài tập kiểu xâu”.
MÔ TẢ GIẢI PHÁP
Mô tả giải pháp trước khi tạo ra sáng kiến
Kiểu xâu là một trong những chuyên đề chính, trọng tâm trong nội dung tin học lớp 11, nội dung này cũng có mặt trong hầu hết các đề thi học sinh giỏi môn tin học cấp Tỉnh và cấp Quốc gia hàng năm. Để đạt được điểm tối đa các bài tập về kiểu xâu, học sinh nhất thiết phải hiểu sâu sắc, vận dụng linh hoạt các phương thức có sẵn đối với kiểu xâu Hơn nữa, học sinh cần phải nhận dạng được bài toán, tổ chức dữ liệu hợp lí, tìm ra phương pháp tối ưu để viết chương trình giải bài toán nhanh nhất.
Từ trước tới nay, hầu hết giáo viên trong tỉnh ta đã quá quen với việc hướng dẫn bằng ngôn ngữ Pascal trong giảng dạy môn tin học lớp 11 cũng như hướng dẫn đội tuyển học sinh giỏi, coi đó như một giải pháp an toàn Tuy nhiên, đó là một ngôn ngữ hàn lâm và hầu như rất khó để phát triển Trong bối cảnh thế giới đang bước vào nền công nghiệp 4.0, đất nước ta cũng đang cố gắng để bắt kịp xu hướng ấy Việc sử dụng ngôn ngữ Pascal không còn phù hợp vì chưa đáp ứng được yêu cầu và mục đích của đổi mới căn bản, toàn diện giáo dục.
Chính vì vậy, tôi viết sáng kiến này để phần nào giúp các em học sinh tháo gỡ những khó khăn khi học tập về kiểu xâu trong ngôn ngữ lập trình C ++ - một ngôn ngữ mới có rất nhiều công cụ hỗ trợ người lập trình Bên cạnh đó, tôi cũng mong muốn “Sử dụng ngôn ngữ lập trình C ++ để giải quyết các bài tập kiểu xâu” là tài liệu tham khảo giúp đỡ các thầy cô phần nào trong quá trình giảng dạy và hướng dẫn đội tuyển học sinh giỏi.
Mô tả giải pháp sau khi có sáng kiến
Đề tài này gồm hai phần chính:
Lý thuyết cơ bản về kiểu xâu: gồm các thao tác cơ bản, hay sử dụng nhất về kiểu xâu, các ví dụ tương ứng và chương trình minh hoạ
Các dạng bài tập cơ bản về kiểu xâu: Đây là phần trọng tâm của đề tài, gồm sáu nội dung chính:
- Tìm từ và thống kê kí tự trong xâu
- Phép toán với số nguyên lớn
- Bài tập áp dụngVới mỗi dạng, tôi trình bày đa dạng các bài tập về kiểu xâu mà tôi đã sưu tầm trên mạng hoặc trong các đề thi học sinh giỏi cấp Tỉnh, cấp Quốc gia qua nhiều năm, cùng với ý tưởng và chương trình tham khảo cho mỗi bài tập.
LÝ THUYẾT KIỂU XÂU
String hay còn gọi là xâu kí tự, chuỗi kí tự… là một tập hợp kí tự được đánh số thứ tự bắt đầu từ 0 Để biểu diễn một xâu kí tự, ta đặt chuỗi kí tự trong ngoặc kép ""
- Trước hết cần phải khai báo thư viện chứa các hàm liên quan đến xâu:
- Cấu trúc khai báo kiểu xâu: string ;
Cách 1: Dùng câu lệnh nhập như một dữ liệu thông thường
Cấu trúc: cin>> ;
Ví dụ: string s; cin>> s; // đọc một xâu cho biến s
Lưu ý: câu lệnh cin không cho phép nhập dấu cách Khi gặp dấu cách cin hiểu là đã kết thúc việc nhập nên dẫn đến việc nhập không chính xác với xâu chứa dấu cách.
Cách 2: Để nhập một xâu có chứa cả dấu cách, ta dùng cách nhập thứ 2 như sau: Cấu trúc: fflush(stdin); // xoá bộ đệm getline(cin, );
{ string s; cout