Skkn 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

19 6 0
Skkn 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

PhÇn I phÇn më ®Ç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[.]

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 skkn DANH MỤC CHỮ VIẾT TẮT STT Từ Từ viết tắt Nghĩa từ viết tắt GD ĐT Giáo dục Đào tạo CNTT Công nghệ thông tin THPT Trung học phổ thông CNTT & TT Công nghệ thông tin truyền thông HS Học sinh GV Giáo viên SGK Sách giáo khoa PPCT Phân phới chương trình LT Lập trình skkn MỤC LỤC Mở đầu 1.1 Lý chọn đề tài .1 1.2 Phạm vi đối tượng đề tài 1.3 Mục đích đề tài 1.4 Điểm của sáng kiến 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.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 sáng kiến kinh nghiệm 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 vấn đề .2 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.3 Kiểu chuỗi (String) thư viện STL C++ 3.3.1 Các phương thức, phép toán tiện ích 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: .5 3.3.3 Phương thức so sánh 3.3.4 Các phương thức tìm kiếm thay .7 Hiệu quả của sáng 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 skkn 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ủ yế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 chương trình giáo dục mơn tin học ngơn ngữ lập trình Pascal thay 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++ là 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 - Phạm 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 sáng 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 skkn 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 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, 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) 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/C++ đến từ STL, viết tắt 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 tình hình 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 Tỉnh Thanh Hóa hưởng chế độ sách nhà nước Tỉnh Cơ sở vật chất nhà trường cấp, quan quản lý trang bị đầy đủ, đã được trang bị máy chiếu, máy tính, phòng tin học phục vụ cho công tác dạy và học của nhà 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 ngũ giáo viên trẻ, động, nhiệt tình cơng tác cùng với 540 học sinh tồ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 vấn đề a Thuận lợi: Được sự quan tâm của Sở Giáo dục & Đào tạo, nhà trường được trang bị 02 phòng máy tính, ngoài có số phịng học được trang bị máy chiếu, máy tính phục vụ cho nhu cầu công tác giảng dạy ứng dụng CNTT của giáo viên skkn 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 toà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% học sinh là người dân tộc thiểu số, ở các xã đặc biệt khó 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 đề 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 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 chuỗi (string constant) Bộ biên dịch C tự động thêm '\0' vào vị trí cuối 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 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: skkn 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 tố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), 

Ngày đăng: 21/02/2023, 09:17

Từ khóa liên quan

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

Tài liệu liên quan