
2
A. ĐẶT VẤN ĐỀ
I. Lý do chọn đề tài
Chúng ta đang từng bước triển khai Chương trình giáo dục phổ thông mới,
trong đó môn Tin học ngày càng khẳng định vai trò chủ đạo trong việc trang bị cho
người học khả năng tìm kiếm, tiếp nhận, mở rộng tri thức và sáng tạo trong thời
đại cách mạng công nghiệp lần thứ tư và toàn cầu hóa.
Pascal là ngôn ngữ lập trình thuộc dạng mệnh lệnh và thủ tục. Ngôn ngử này
đã đáp ứng được các yêu cầu cơ bản trong chương trình tin học bậc THPT như
cung cấp kiến thức cơ bản về thuật toán, cấu trúc dữ liệu, vận dụng kiến thức để
giải được một số bài toán đơn giản trên máy tính bằng lập trình. Vì vậy, những ưu
điểm của ngôn ngữ này đối với tin học là rất lớn. Tuy nhiên, Pascal cũng có rất
nhiều nhược điểm như rườm rà, phức tạp và lỗi thời….
Những ngôn ngữ ra đời sau đã có những bước cải tiến, trong đó có ngôn ngữ
lập trình C++. Đây là một ngôn ngữ lập trình hướng đối tượng, học các môn học về
cấu trúc dữ liệu và giải thuật,..mặc dù Pascal vẫn có những ưu điểm nhất định và
vẫn có thể cung cấp kiến thức cơ bản cho những người học lập trình cơ bản nhưng
mức độ vận dụng cũng như phát triển mở rộng của nó vẫn còn nhiều hạn chế. Thay
đổi Pascal bằng ngôn ngữ khác như C++ sẽ giúp bồi dưỡng và phát triển tư duy lập
trình cũng như tư duy ứng dụng cho học sinh.
Qua nhiều đợt tập huấn về ngôn ngữ lập trình C++. Từ năm học 2020-2021
tôi đã sử dụng và giảng dạy cho học sinh lớp 11 tại trường THPT Kim Liên bằng
ngôn ngữ lập trình C++
Trong quá trình giảng dạy tôi đã dành nhiều thời gian để nghiên cứu, tìm
kiếm, sưu tầm, phân loại được một số bài tập về mảng một chiều. Nên tôi viết đề
tài “NHỮNG BÀI TẬP VÀ CODE XỬ LÝ MẢNG MỘT CHIỀU BẰNG
NNLT C++” nhằm hệ thống hóa toàn bộ kiến thức về mảng một chiều để giúp giáo
viên và học sinh sử dụng trong việc dạy và học.
Khi trao đổi với đồng nghiệp cùng trường và một số giáo viên ở trường
khác trong khu vực, tôi nhận thấy còn nhiều giáo viên khi dạy về vấn đề mảng một
chiều còn khó khăn khi đưa ra các bài tập và code viết bằng NNLT C++, cho nên
tôi mạnh dạn trao đổi kinh nghiệm của mình. Rất mong các đồng nghiệp nhận xét,
góp ý để đề tài của tôi ngày càng hoàn thiện và ứng dụng rộng rãi trong thực tiễn.
Các bài toán và code mà tôi đưa ra chỉ nhằm giới thiệu cho học sinh cách viết chứ
chưa hẳn là một phương án tối ưu để giải quyết bài toán cụ thể đó.
II. Tính cấp thiết của đề tài
Các bài toán về mảng là rất quan trọng khi bắt đầu làm quen với lập trình, nó
thường gây ra khó khăn cho Học sinh khi mới bắt đầu làm quen và Giáo viên khi