(Sáng kiến kinh nghiệm) vận dụng thuật toán sắp xếp và tìm kiếm để tăng tốc độ chương trình của một số bài toán trong đề thi học sinh giỏi môn tin học lớp 11
Mục lục Mở đầu .2 1.1 Lý chọn đề tài .2 1.2 Đối tượng phạm vi nghiên cứu .2 1.3 Phương pháp nghiên cứu 2 Nội dung sáng kiến kinh nghiệm .3 2.1 Bài toán 1: 2.1.1 Thực trạng 2.1.2 Giải pháp 2.2 Bài toán 2: 2.2.1 Thực trạng 2.2.2 Giải pháp 2.3 Hiệu sáng kiến kinh nghiệm hoạt động giáo dục, với thân, đồng nghiệp nhà trường Kết luận, kiến nghị 10 1 Mở đầu 1.1 Lý chọn đề tài Đối với học sinh trường THPT, chương trình Tin học 10 Tin học 11 việc cung cấp cho học sinh cách tư giải toán với hỗ trợ Ngơn ngữ lập trình, cụ thể Ngơn ngữ lập trình PASCAL, cịn cung cấp thuật tốn xếp (thuật toán xếp phương pháp tráo đổi) tìm kiếm (tìm kiếm nhị phân) Trong đề thi học sinh giỏi Tin học tỉnh ta theo cấu trúc đề thi 2018 gồm câu, câu 3, 4, yêu cầu học sinh cần phải vận dụng thuật tốn xếp tìm kiếm mức độ nâng cao để giải toán Tuy nhiên số học sinh có tư tưởng cần giải tốn tư thông thường với test nhỏ quan niệm thuật tốn tối ưu Việc hoàn toàn sai lầm, giới hạn test tăng cao chương trình em thường bị test chương trình chạy thời gian (mặc định giới hạn thời gian giây) Vì muốn giải test lớn, số toán em phải vận dụng thuật toán xếp tìm kiếm để tăng tốc độ chương trình, đảm bảo mặt thời gian giải test lớn 1.2 Đối tượng phạm vi nghiên cứu - Môn Tin học lớp 11 trường THPT; - Đội tuyển HSG trường THPT Hàm Rồng; 1.3 Phương pháp nghiên cứu - Phân tích, tổng hợp, khảo sát - Đánh giá so sánh kết học sinh; 2 Nội dung sáng kiến kinh nghiệm 2.1 Bài toán 1: Cho dãy số: dãy A có n phần tử, dãy B có m phần tử Yêu cầu: In m dòng, dòng thứ i số lượng số dãy A nhỏ B[i] Dữ liệu vào: Từ file văn SSDAYSO.INP - Dòng chứa số n, m số lượng phần tử dãy A, B - Dòng thứ chứa n số nguyên A[1], A[2], … A[n] - M dòng dòng chứa số nguyên B[1], B[2], … B[m] (1