(SKKN HAY NHẤT) một số kiến thức cơ bản về chuỗi(string) trong c c++ nhằm giúp học sinh tiếp cận với ngôn ngữ lập trình c c++ khi ôn luyện và thi HSG

24 8 0
(SKKN HAY NHẤT) một số kiến thức cơ bản về chuỗi(string) trong c c++ nhằm giúp học sinh tiếp cận với ngôn ngữ lập trình c c++ khi ôn luyện và thi HSG

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

Thông tin tài liệu

SỞ GIÁO DỤC VÀ ĐÀO TẠO THANH HOÁ TRƯỜNG THPT DÂN TỘC NỘI TRÚ TỈNH SÁNG KIẾN KINH NGHIỆM MỘT SỐ KIẾN THỨC CƠ BẢN VỀ CHUỖI (STRING) TRONG C/C++ NHẰM GIÚP HỌC SINH TIẾP CẬN VỚI NGÔN NGỮ LẬP TRÌNH C/C++ KHI ƠN LUYỆN VÀ THI HỌC SINH GIỎI Người thực hiện: Trương Văn Phát Chức vụ: Giáo viên SKKN thuộc lĩnh vực (mơn): Tin học THANH HỐ, NĂM 2021 UAN VAN CHAT LUONG download : add luanvanchat@agmail.com DANH MỤC CHỮ VIẾT TẮT STT Từ Từ v UAN VAN CHAT LUONG download : add luanvanchat@agmail.com MỤC LỤC Mở đầu 1.1 Lý chọn đề tài 1.2 Phạm vi đốố́i tượng đề tài 1.3 Mục đích đề tài .1 1.4 Điểm của sang kiến .1 1.5 Phương pháp nghiên cứu 1.5.1 Phương pháp nghiên cứu lý thuyếố́t .1 1.5.2 Phương pháp tham vấn chuyên gia .2 Nội dung sáng kiếố́n kinh nghiệm 2.1 Cơ sở lý luận củủ̉a sáng kiếố́n kinh nghiệm .2 2.2 Thực trạng chất lượng giảng dạy môn tin học trường THPT Dân tộc nội trú tỉnh Thanh Hoá (cơ sở thực nghiệm) 2.2.1 Đặc điêm tình hình 2.2.2 Thực trạng củủ̉a vấn đề Môt số kiếố́n thức chuỗi (String) ngôn ngữ lập trìì̀nh C/C++ 3.1 Tổng quan chuỗi (String) C/C++ 3.2 Chuỗi Ký Tự C-Style 3.3 Kiểu chuỗi (String) thư viện STL củủ̉a C++ 3.3.1 Các phương thức, phép tốn tiện ích củủ̉a kiểu chuỗi (String) C/C++ 3.3.2 Các phương thức chèn, xóa, lấy chuỗi con: 3.3.3 Phương thức so sánh 3.3.4 Các phương thức tìì̀m kiếố́m thay thếố́ .7 Hiêu qua của sang kiến 13 Kếố́t luận, kiếố́n nghị 13 6.1 Kếố́t luận 13 6.2 Kiếố́n nghị, đề xuất 13 TÀI LIỆU THAM KHẢO 14 UAN VAN CHAT LUONG download : add luanvanchat@agmail.com Sáng kiến kinh nghiệm Bộ môn Tin học Mở đầu 1.1 Lý chọn đề tài Tại kỳ thi học sinh giỏi cấp đòi hỏi học sinh cần phải có tư thuật tốn lập trìì̀nh tốố́t Trong chương trìì̀nh hành, nội dung lập trìì̀nh nói riêng thuật tốn nói chung chủủ̉ ́ố́u dạy tập trung lớp lớp 11 theo cách tiếố́p cận hàn lâm, nặặ̣ng học ngôn ngữ lập trìì̀nh (Pascal), làm cho HS khó tiếố́p thu khơng hiệu Hầu hếố́t biếố́t sử dụng ngơn ngữ lập trìì̀nh Pascal Đó ngơn ngữ sử dụng nhiều kìì̀ thi tin học nước ta Tuy nhiên, C/C++ ngôn ngữ sử dụng rộng rãi để giải tốn tin học; đơi cung cấp sốố́ thuận lợi định so với Pascal Với định hướng củủ̉a chương trìì̀nh giáo dục mơn tin học thìì̀ ngơn ngữ lập trìì̀nh Pascal thay thếố́ ngơn ngữ khác Python… Tuy nhiên, ngôn ngữ C/C++ lại quy định kỳ thi chọn học sinh giỏi cấp từ nhiều năm Trong ngôn ngữ khác Python … lại chưa đề cập tới trước Và thật có nhiểu trường sử dụng ngơn ngữ lập trìì̀nh C/C++ cơng cụ để giảng dạy cho học sinh, đặặ̣c biệt học sinh đội tuyển dự thi học sinh giỏi cấp trường, cấp tỉnh cấp quốố́c gia môn tin học C/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 Chuỗi (String) C/C++ phức tạp nhiều so với chuỗi Pascal Xuất phát từ lý qua nhiều năm giảng dạy, bồi dưỡng học sinh giỏi Tôi xin đề cập tới đề tài: “Một số kiến thức chuổi (String) C/C++ nhằm giúp học sinh tiếp cận với ngôn ngữ lập trình C/C++ ơn luyện thi học sinh giỏi ” 1.2 Phạm vi đối tượng đề tài Pham vi: Nghiên cứu thực tếố́ học sinh trường THPT Dân tộc nội trú tỉnh Thanh Hóa Đối tương: Nghiên cứu giải pháp nhằm nâng cao chất lượng dạy ôn luyện thi học sinh giỏi môn tin học trường THPT 1.3 Mục đích đề tài Tìì̀m hiểu nêu kiếố́n thức chuổi (String) C/C++ nhằm giúp học sinh tiếp cận với ngôn ngữ lập trình C/C++ ơn luyện thi học sinh giỏi 1.4 Điểm của sang kiên Đề xuất kiếố́n thức Chuỗi (String) ngôn ngữ C/C++ 1.5 Phương pháp nghiên cứu 1.5.1 Phương pháp nghiên cứu lý thuyết  Nghiên cứu tài liệu cơng trìì̀nh khoa học liên quan đếố́n kiếố́n thức lập trìì̀nh C/C++  Nghiên cứu cấu trúc, nội dung sách giáo khoa tin học THPT UAN VAN CHAT LUONG download : add luanvanchat@agmail.com Sáng kiến kinh nghiệm Bộ môn Tin học  Nghiên cứu kiếố́n thức liên quan với loại ngơn ngữ lập trìì̀nh khác nhằm tìì̀m tính tốố́i ưu ngơn ngữ lập trìì̀nh C/C++ 1.5.2 Phương pháp tham vấn chuyên gia Nội dung sáng kiến kinh nghiệm 2.1 Cơ sở lý luận củủ̉a sáng kiến kinh nghiệm * Giới thiệu ngơn ngữ lập trình C+ + a Ngơn ngữ: C++ ngơn ngữ lập trìì̀nh mạnh C++ hỗ trợ lập trìì̀nh cấu trúc (structural, Pascal) lập trìì̀nh hướng đốố́i tượng (như Java, C#) Nhược điểm thường gặặ̣p dùng C++ để giải tập chương trìì̀nh C++ khó gỡ rốố́i, vìì̀ chưa có phần mềm hỗ trợ gỡ rốố́i đủủ̉ mạnh GNU C++ biên dịch chậm so với C# b Trình biên dịch: Trìì̀nh biên dịch dùng kỳ thi Online Judge G++, trìì̀nh biên dịch mã nguồn mở cho ngôn ngữ C++ Để tận dùng công cụ gỡ rốố́i, bạn cần dùng trìì̀nh biên dịch Visual C/C++ (msvc) củủ̉a Microsoft Trìì̀nh biên dịch so với G++ có vài điểm khác biệt cần lưu ý giải tập Nhưng nhìì̀n chung, dùng chương trìì̀nh viếố́t cho VC++ để nộp mà không gây lỗi biên dịch đáng kể 2.1.1.3 Ưu điểm C/C++: Sức mạnh củủ̉a C/C++ đếố́n từ STL, viếố́t tắt củủ̉a Standard Template Libary, thư viện lớn class thủủ̉ tục chuẩn cho C/C++ Các trìì̀nh biên dịch G++ VS hỗ trợ tốố́t STL 2.2 Thực trạng chất lượng giảng dạy môn tin học trường THPT Dân tộc nội trú tỉnh Thanh Hoá (cơ sở thực nghiệm) 2.2.1 Đặc điêm tinh hinh Trường THPT Dân tộc nội trú tỉnh Thanh Hóa trường chuyên biệt, 100% học sinh người dân tộc thiểu sốố́, sinh sốố́ng 11 Huyện miền núi củủ̉a Tỉnh Thanh Hóa hưởng chếố́ độ sách củủ̉a nhà nước củủ̉a Tỉnh Cơ sơ vât chât nha trương cấp, quan quản lý trang bị đầy đủủ̉, đa đươc trang bi may chiếu, may tinh, phong tin hoc phuc vu cho công tac day va hoc của nha trương, trường xây dựng từ năm 1992, nên khơng gian phịng học nhỏ, có nhiều hạn chếố́ triển khai dạy Đôi ngu giao viên trẻ, đông, nhiêt tình công tac cung vơi 540 hoc sinh toàn trường chia làm 18 lớp: Khốố́i 10: 06 lớp với 180 học sinh Khốố́i 11: 06 lớp với 180 học sinh Khốố́i 12: 06 lớp với 180 học sinh 2.2.2 Thực trạng củủ̉a vấn đề a Thuân lợi: Đươc sư quan tâm của Sơ Giao duc & Đao tao, nhà trương đươc trang bi 02 phong may tinh, ngoai có sốố́ phòng học đươc trang bi may chiếu, may tinh phuc vu cho nhu câu công tac giang day ưng dung CNTT của giao viên UAN VAN CHAT LUONG download : add luanvanchat@agmail.com Sáng kiến kinh nghiệm Bộ môn Tin học Là 10 đơn vị thí điểm trang cấp ứng dụng triển khai dự án trường học thơng minh tồn tỉnh b Khó khăn: Trong thời gian qua, ngày tính đa dạng trìì̀nh độ học sinh lớp trường THPT Dân tộc nội trú nói riêng trường THPT tỉnh nói chung Trương THPT Dân tộc nội trú Tỉnh có 100% hoc sinh la dân tơc thiêu số, cac xa đặc biêt kho khăn Trước phần đa chưa tiếố́p xúc với môn tin học, với máy tính Giờ em khơng có điều kiện tiếố́p xúc nhiều với máy tính, nên chưa có kỹ sử dụng máy tính Chính vìì̀ đề tài tơi áp dụng cho việc ôn luyện thi học sinh giỏi môn tin học trường phổ thông Môt sô kiến thức chuỗi (String) ngôn ngữ lập trình C/C++ 3.1 Tổng quan chuỗi (String) C/C++ C++ bao gồm kiểu biểu diễn chuỗi đây: - Chuỗi ký tự C-Style - Lớp String giới thiệu C/C++ chuẩn 3.2 Chuỗi Ký Tự C-Style Chuỗi ký tự C- Style có nguồn gốố́c ngơn ngữ C tiếố́p tục hỗ trợ C++ Bản chất chuỗi mảng ký tự chiều kếố́t thúc ký tự null '\0' Vìì̀ chuỗi null kếố́t thúc chứa ký tự bao gồm chuỗi theo sau null Ví dụ khai báo khởi tạo tạo chuỗi bao gồm từ Hello Để giữ ký tự null cuốố́i mảng, kích thước củủ̉a mảng ký tự chứa chuỗi phải nhiều sốố́ lượng ký tự từ khóa "Hello": char greeting[6] = {'H', 'e', 'l', 'l', 'o', '\0'}; Nếố́u thực theo quy tắc khởi tạo, bạn viếố́t lệnh sau: char greeting[] = "Hello"; Dưới phần biểu diễn nhớ cho chuỗi C/C++: Trong thực tếố́, bạn khơng đặặ̣t ký tự null vị trí cuốố́i củủ̉a chuỗi (string constant) Bộ biên dịch C tự động thêm '\0' vào vị trí cuốố́i củủ̉a chuỗi khởi tạo chuỗi 3.3 Kiểu chuỗi (String) thư viện STL C++ 3.3.1 Các phương thức, phép tốn tiện ích củủ̉a kiểu chuỗi (String) C/C++ Thư viện chuẩn STL (Standard Template Library) cung cấp kiểu String Các thị #include cần khai báo để sử dụng string: UAN VAN CHAT LUONG download : add luanvanchat@agmail.com Sáng kiến kinh nghiệm Bộ môn Tin học #include using std::string; //using namespace std; Kiểu string củủ̉a STL hỗ trợ nhóm phương thức phép tốn tiện ích sau * Các phép toán phương thức - Các toán tử +, += dùng để ghép hai chuỗi để ghép ký tự vào chuỗi; Các phép so sánh theo thứ tự từ điển: == (bằng nhau), != (khác nhau), > (lớn hơn), >= (lớn hay bằng), < (nhỏ hơn),

Ngày đăng: 28/11/2022, 15:36

Tài liệu cùng người dùng

Tài liệu liên quan