Định hướng giảng dạy thuật toán sắp xếp và tìm kiếm trong trường THPT

74 119 0
Định hướng giảng dạy thuật toán sắp xếp và tìm kiếm trong trường THPT

Đ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

CỘNG HÒA XÃ HỘI CHỦ NGHĨA VIỆT NAM Độc lập – Tự – Hạnh phúc I Tên sáng kiến, lĩnh vực áp dụng: - Tên sáng kiến: “Định hướng giảng dạy thuật tốn xếp tìm kiếm trường THPT” - Lĩnh vực áp dụng: Giảng dạy môn tin học THPT, ôn luyện đội tuyển học sinh giỏi II Nội dung sáng kiến: Giải pháp cũ thường làm: Việc tìm kiếm xếp thường vấn đề khó, trừu tượng học sinh bắt đầu tiếp cận tin học lập trình Trước giáo viên dạy đến phần tìm kiếm xếp theo cấu trúc thường không hiểu sâu vấn đề, dạy không rõ ràng, chiếu lệ, ví dụ áp dụng nghèo nàn khơng phong phú Chủ yếu đưa ý tưởng dạng tổng quát để học sinh biết tìm kiếm, xếp Dẫn đến học sinh mơ hồ, khó hiểu nội dung phần học, nội dung môn học Mặt khác học sinh không chủ động tìm hiểu nội dung theo yêu cầu giáo viên, nên hồn tồn bị động mơn học Bằng thực nghiệm với nhiều năm giảng dạy lớp ôn thi học sinh giỏi nhận thấy giảng dạy phần xếp tìm kiếm thường gặp vấn đề như: Thứ nhất, việc đưa thuật tìm kiếm xếp chưa phù hợp Khi học thuật toán vào học kỳ I lớp 10 (Bài Bài tốn thuật tốn) đến HKII lớp 11 (bài 11 Kiểu mảng) học sinh có tập để vận dụng, để tiếp cận học sinh lại phải lật lại kiến thức thuật toán học lớp 10 - kiến thức học sinh học lâu mà học sinh nhớ được, việc làm vấn đề phức tạp lên học sinh trở nên thụ động tiếp thu thơng qua giáo viên truyền đạt, khơng phát huy tính chủ động, tích cực Trong đợt ơn thi cho đội tuyển học sinh giỏi gần giáo viên phải truyền đạt lại từ đầu, dẫn đến thời gian hiệu đạt khơng cao Thứ hai, chưa xây dựng cụ thể hệ thống ví dụ minh họa vận dụng tập phù hợp với tiến trình phát triển tư cho học sinh để học sinh hiểu rõ tìm kiếm xếp Ngồi ví dụ mẫu sách giáo khoa khơng có thêm ví dụ áp dụng cụ thể có học sinh khó thực ghi nhớ dừng lại toán biểu diễn dạng liệt kê sơ đồ khối chưa thực việc viết chương trình Điều dẫn đến học sinh học thụ động, không hiểu sâu kiến thức, linh hoạt vận dụng tập cụ thể Tiến trình lên lớp cũ dạy thuật toán: - Học sinh xác định toán - Giáo viên nêu ý tưởng - Giáo viên đưa thuật toán liệt kê sơ đồi khối - Giáo viên mơ ví dụ Thứ ba, phần mơ thuật tốn để học sinh tiếp cận thuật tốn cách nhanh thường quan tâm sử dụng Trong tin học lớp 10 có đưa việc mơ phòng, nhiên phần diễn đạt chưa sâu đơn giản dẫn đến học sinh khó thể hiểu hết q trình thực thuật toán Việc sâu vào biểu diễn thuật toán sơ đồ khối liệt kê làm học sinh khó hiểu nhàm chán Thứ tư, khơng có nội dung để học sinh tham gia trình tìm hiểu thuật tốn, làm tính chủ động học sinh học thuật tốn Thường giáo viên trình bày thuyết trình học sinh nghe giảng tiếp thu Giải pháp cải tiến: Hiểu rõ tồn cách thức giảng dạy nói trên, nhóm chúng tơi đưa việc xây dựng tài liệu tìm hiểu xếp tìm kiếm với cách thức tiếp cận hoàn toàn nhằm khắc phục tồn này, là: - Xây dựng kế hoạch dạy học nhà trường cho phù hợp với nội dung giảng dạy Đưa nội dung thuật tốn có thuật tốn xếp, tìm kiếm tin học 10 vào nội dung giảng dạy tin học 11 - Đưa nhiều thuật tốn xếp, tìm kiếm khác ơn học sinh giỏi Mục đích ngồi để giải tốn học sinh rèn luyện cách thức xử lý công việc khơng khác ngồi xếp, rèn luyện tư thuật toán tốt - Cung cấp cho học sinh đầy đủ kiến thức thuật toán tìm kiếm, xếp bổ sung số kiến thức nâng cao Sau thuật tốn có đưa đánh giá nhận xét đầy đủ để học sinh có cách nhìn tổng quan thuật tốn sử dụng - Các ví dụ minh họa tập trình bày chi tiết, xếp cách hợp lý, từ dễ đến khó, tốn sau có liên hệ với toán trước Đặc biệt đưa dạng câu hỏi trắc nghiệm vào giảng dạy để luyện tập nâng cao khả tư nhanh tiếp cận thuật toán - Sử dụng kiến thức cũ để tiếp cận kiến thức thông qua hệ thống tập, sử dụng kết toán cho toán - Tài liệu đề cập đến nhiều dạng kiến thức khác đặc biệt toán thực tiễn Việc làm mặt củng cố kiến thức cho học sinh Mặt khác giúp học sinh có nhìn chung nhất, thấy mối liên hệ tin học thực tiễn sống - Tài liệu cung cấp hệ thống tập phong phú Điều giúp cho học sinh đứng trước tốn phải biết phân tích, đánh giá, so sánh nhận dạng để lựa chọn phương pháp giải phù hợp cho tốn Rèn luyện cho học sinh tính chủ động, tích cực kỹ vận dụng linh hoạt, sáng tạo kiến thức học Với cải tiến kỹ thuật dạy học ngày việc học sinh nghiên cứu tiếp nhận kiến thức thông qua hệ thống câu hỏi trắc nghiệm biểu diễn môn trở nên dễ dàng nhiều III Hiệu kinh tế xã hội Hiệu kinh tế Thứ nhất, xét mặt thời gian Để biên soạn chủ đề chuyên đề dạy học giáo viên phải nhiều thời gian tìm kiếm, biên tập lại từ tài liệu internet sách tham khảo Học sinh có nhu cầu tìm kiếm tập để luyện phải tìm kiếm nhiều tài liệu hệ thống lại Điều nhiều thời gian Trong đó, giáo viên học sinh sử dụng tài liệu để học sử dụng việc ôn thi học sinh giỏi Nếu cần giáo viên cần bổ sung hàng năm để có tài liệu phong phú tập cho riêng Thứ hai, xét tài Để viết nên tài liệu này, không kể tài liệu sách giáo khoa (học sinh giáo viên có), giáo viên nhiều truy cập internet, nhiều để nghĩ toán Trong với tài liệu này, giáo viên cần phô tô in tài liệu với giá rẻ Nếu tính hiệu kinh tế tiết kiệm nhiều, với tài liệu ta trì nhiều năm Hiệu xã hội: Sáng kiến tài liệu dùng việc giảng dạy theo chương trình chuẩn THPT tài liệu tham khảo tốt cho học sinh yêu thích với mơn học lập trình, sử dụng cho q trình ôn thi học sinh giỏi Sáng kiến không giúp giải cho vấn đề đổi phương pháp dạy học theo hướng tích cực chủ động giảng dạy cho học sinh tìm kiếm xếp nói riêng mà mở hướng đổi cho việc nghiên cứu chuyên đề khác để xử lý nội dung khó tin học 11 IV Điều kiện khả áp dụng Để áp dụng sáng kiến nhà trường cần xây dựng kế hoạch dạy học hợp lý, phù hợp với đối tượng học sinh mà giảng dạy Qua thực nghiệm tiến hành áp dụng năm học qua, tài liệu hữu ích cơng tác giảng dạy giáo viên, đặc biệt việc ôn luyện thi học sinh giỏi Đồng thời, nâng cao chất lượng giảng dạy học tập môn tin học 11, tạo hứng thú học tập góp phần bồi dưỡng lực tự học cho học sinh Vì vậy, sáng kiến áp dụng rộng rãi nhà trường nói riêng tồn tỉnh nói chung Tài liệu đồng nghiệp nhà trường đánh giá cao chất lượng nội dung phương pháp dạy học Chúng xin cam đoan thông tin nêu đơn trung thực, thật hoàn toàn chịu trách nhiệm trước pháp luật Gia Viễn, ngày 19 tháng 05 năm 2019 Người nộp đơn XÁC NHẬN CỦA LÃNH ĐẠO (Ký ghi rõ họ tên) ĐƠN VỊ CƠ SỞ PHỤ LỤC PHẦN I – ĐẶT VẤN ĐỀ Lí chọn sáng kiến Trong năm gần vấn đề đổi toàn diện giáo dục trở thành vấn đề khơng riêng ngành giáo dục mà tồn xã hội quan tâm, đổi để đáp ứng với nhu cầu thực tiễn xã hội ngày Một thay đổi thay đổi phương pháp dạy học từ phương pháp dạy học truyền thống sang phương pháp dạy học tích cực, từ người giáo viên trung tâm hoạt động với phương pháp dạy học tích cực học sinh trở thành trung tâm hoạt động, từ tiếp thu thụ động sang chủ động, tư duy, sáng tạo; giáo viên người định hướng hỗ trợ Đây phương pháp áp dụng thành công nhiều nước tiên tiến giới Để làm điều người thầy cần phải thiết kế giảng, chuyên đề cho phù hợp với nội dung kiến thức; phương pháp, phương tiện dạy học phù hợp với đối tượng học sinh điều cấp thiết Để qua phần học, tiết học học sinh thích thú với kiến thức mới, qua hiểu kiến thức học lớp, đồng thời học sinh thấy tầm quan trọng vấn đề việc ứng dụng kiến thức trước hết để đáp ứng yêu cầu môn học, sau việc ứng dụng vào công việc thực tiễn đời sống xã hội Môn Tin học môn học mẻ học sinh THPT, đặc biệt với nội dung tin học 11, với nhiều kiến thức trừu tượng chưa sát thực tế mà học sinh tiếp xúc với mơn lập trình cảm thấy khó tiếp thu, khó hiểu khơng làm tập áp dụng dẫn đến chán nản học môn Xuất phát từ thực tiễn giảng dạy thấy rằng, để thay đổi điều cần phải xây dựng lại số nội dung khó tin học 11 cho phù hợp với đối tượng học sinh tìm lại hứng thú với mơn học cho em học sinh Xuất phát từ sở trên, chọn đề tài “Định hướng giảng dạy thuật toán xếp tìm kiếm trường THPT”, nhằm giúp em dễ tiếp cận thuật tốn tìm kiếm xếp hơn, từ hiểu rõ ngữ nghĩa cách sử dụng thuật toán phù hợp với nhiều tốn khác từ tiếp thu tốt nội dung học làm tốt tập áp dụng, cảm thấy yêu thích mơn tin học nói chung nội dung ngơn ngữ lập trình nói riêng Mục đích sáng kiến Ngoài việc giúp cho học sinh tiếp cận dễ dàng với thuật tốn xếp tìm kiếm sáng kiến xây dựng hệ thống dạng tập thường gặp để ôn luyện cho học sinh dự thi kỳ thi học sinh giỏi môn tin học Phạm vi nghiên cứu Sáng kiến tập trung việc đổi xây dựng kế hoạch giáo dục phù hợp nghiên cứu nội dung thuật tốn tìm kiếm xếp theo chương trình Chuẩn trường THPT Bên cạnh đề cập đến số phần mở rộng nâng cao thuật tốn tìm kiếm xếp dùng ơn thi học sinh giỏi Cùng với hệ thống ví dụ minh họa tập áp dụng với thuật toán cụ thể Phương pháp nghiên cứu a) Nghiên cứu lý luận: Tìm hiểu tài liệu đề cập đến thuật toán tìm kiếm xếp, b) Nghiên cứu thực tiễn: Tìm hiểu cách giảng dạy tìm kiếm xếp mà giáo viên thường làm Phân tích làm rõ ưu điểm, nhược điểm cách dạy để từ xây dựng nội dung cách hợp lý nhằm bồi dưỡng lực tự học cho học sinh c) Thực nghiệm sư phạm: Tiến hành thực nghiệm nhằm đánh giá tính khả thi, tính hiệu tính phổ dụng sáng kiến Đồng thời, nhằm hoàn thiện mặt nội dung lý luận sáng kiến PHẦN II - GIẢI QUYẾT VẤN ĐỀ I Cơ sở lý luận: Thuật tốn xếp tìm kiếm hai khái niệm môn tin học nói chung chun ngành lập trình nói riêng Ngay sống hàng ngày ta thường gặp công việc liên quan đến xếp, tìm kiếm xếp hàng tập trung cho học sinh theo thứ tự từ thấp đến cao, xếp điểm trung bình mơn học cuối năm lớp theo thứ tự từ cao đến thấp; tìm học sinh có học lực loại yếu, học sinh phải thi lại… Nói cách tổng quát, cho dãy đối tượng, cần xếp lại vị trí đối tượng tìm kiếm đối tượng theo tiêu chí Dưới ta xét tốn xếp, tìm kiếm dạng đơn giản hướng giải thơng thường sau: Bài tốn 1: Cho dãy A gồm N số nguyên a1, a2,… aN Sắp xếp số hạng để dãy A trở thành dãy không giảm (tức số hạng trước không lớn số hạng sau) - Xác định toán + Input: Dãy A gồm N số nguyên a1, a2,… aN + Output: Dãy A xếp lại thành dãy không giảm - Ý tưởng: Với cặp số hạng liền kề dãy, số trước lớn số sau ta đổi vị trí chúng cho Việc lặp lại khơng đổi chỗ xảy Bài toán 2: Cho dãy A gồm N số nguyên khác nhau: a 1, a2,…, aN số ngun K Tìm xem có hay khơng số i (1 ≤ i ≤ N ) mà = K Nếu có cho biết số só - Xác định tốn: + Input: Dãy A gồm N số nguyên a1, a2,…, aN số nguyên K + Output: Đưa số i cho ai=K (nếu có) - Ý tưởng: Lần lượt từ số hạng thứ so sánh giá trị số hạng với K tìm tìm hết mà khơng tìm số hạng có giá trị K Đây hai toán mà học sinh sử dụng kiến thức học sách giáo khoa để thực II Cơ sở thực tiễn Ưu điểm việc sử dụng thuật tốn sách giáo khoa dễ nhớ, dễ sử dụng Tuy nhiên nhược điểm thuật toán khơng áp dụng cho nhiều tốn khác nhau, thời gian thực không tối ưu với loại liệu lớn, bên cạnh khơng kích thích tư học sinh, dễ làm học sinh tiếp thu thụ động, gây nhàm chán học, khó phát triển tư thuật tốn học sinh mà nội dung quan trọng với việc học lập trình Bên cạnh có q tập xếp, tìm kiếm để học sinh vận dụng dẫn đến học sinh hiểu tốn tìm kiếm xếp cách mơ hồ, sử dụng cách linh hoạt cho toán khác Mặt khác tơi nhận thấy thuật tốn học lớp 10 ngơn ngữ lập trình lớp 11 chưa có gắn kết chặt chẽ Các em học thuật toán sau gần năm em vận dụng thuật tốn sang ngơn ngữ lập trình cụ thể Điều dẫn tới việc em quên, không nắm thuật tốn, làm cho thuật tốn khó trở nên khó Hậu việc học môn tin trường THPT em đối phó khơng mang lại hấp dẫn mẻ mơn học mà tảng công việc ngày III Các biện pháp để giải vấn đề Xây dựng kế hoạch giảng dạy: Để học sinh vận dụng thuật tốn trực tiếp vào thực tiễn nhà trường cần thay đổi nội dung chương trình phù hợp trình học tập học sinh Cụ thể với môn tin học trường THPT Gia Viễn B thống xây dựng nội dung chương trình tin học đưa nội dung phần thuật tốn, có thuật tốn xếp tìm kiếm vào nội dung chương trình tin học lớp 11 sau: Tuầ Tiết n Chương I Nội dung Một số khái niệm lập trình ngơn ngữ lập trình §1 Khái niệm lập trình ngơn ngữ lập trình §2 Các thành phần ngơn ngữ lập trình §4 Bài tốn thuật tốn (tiết 1) §4 Bài tốn thuật tốn (tiết 2) §4 Bài tốn thuật tốn (tiết 3) §4 Bài tốn thuật tốn (tiết 4) Chương II Chương trình đơn giản §3 Cấu trúc chương trình §4 Một số kiểu liệu chuẩn §5 Khai báo biến §6 Phép tốn, biểu thức, câu lệnh gán (mục 1, 2, 3) §6 Phép toán, biểu thức, câu lệnh gán ( mục 4, 5, 6) §7 Các thủ tục chuẩn vào/ra đơn giản 10 §8 Soạn thảo, dịch, thực hiệu chỉnh chương trình 11 Bài tập thực hành ( mục a, b, c) 12 Bài tập thực hành ( mục d, e, f, g, h, i) Ghi Sách GK 10 Phòng máy Phòng máy 10 11 12 12 13 14 Chương III Cấu trúc rẽ nhánh lặp 13 §9 Cấu trúc rẽ nhánh (mục 1, 2, 3) 14 §9 Cấu trúc rẽ nhánh (mục 4) 15 Bài tập 16 §10 Cấu trúc lặp (mục 1) 17 §10 Cấu trúc lặp (mục 2) 18 §10 Cấu trúc lặp (mục 3) 19 Bài tập 20 Bài tập thực hành ( mục a, b, c, d) 21 Bài tập thực hành ( mục e, f, g, h) 22 23 24 25 26 27 Ôn tập Kiểm tra tiết Chương IV Kiểu liệu có cấu trúc §11 Kiểu mảng (mục 1: a) §11 Kiểu mảng (mục 1: b ví dụ 1) §11 Kiểu mảng (mục 1: b ví dụ 2) Bài tập 28 Bài tập thực hành ( 1) 29 Bài tập thực hành ( 2) 30 Bài tập thực hành ( 1) 31 Bài tập thực hành ( 2) 32 33 34 35 36 Ôn tập Ôn tập Kiểm tra học kỳ I §12 Kiểu xâu (mục 1, 2) §12 Kiểu xâu (mục 3) 15 16 17 18 Phòng máy Phòng máy Phòng máy Phòng máy Phòng máy Phòng máy Nội dung phần thuật tốn khơng dạy tin học lớp 10 chuyển sang chuyên đề tháo lắp máy tính Xây dựng nội dung giảng dạy thuật toán: Bên cạnh việc thay đổi cấu trúc chương trình việc thay đổi nội dung, phương pháp giảng dạy cho phù hợp thực tiễn điều quan trọng Dưới nội dung mà thực giảng dạy chun đề thuật tốn xếp tìm kiếm Bên cạnh thực toán sách giáo khoa cho đối tượng học sinh lớp thuật tốn nâng cao để ơn luyện cho học sinh giỏi 2.1 Bài toán đặt vấn đề Theo phương pháp dạy học tích cực để tiếp cận khái niệm xếp số thuật tốn xếp nên đưa ví dụ mang tính thực tiễn đơn giản để phát huy khả có học sinh Ví dụ ta đưa toán sau cho học sinh thảo luận đưa phương án giải quyết: Bài toán 1: Cho dãy số A gồm số: Với kiến thức học, chắn học sinh có đưa cách thức như: So sánh số sau tìm số nhỏ đặt đầu, sau với cách làm tương tự tìm số nhỏ thứ 2, Rồi cuối tìm vị trí Sắp xếp dãy số theo thứ tự tăng dần thuật toán xếp biểu diễn sau: Lượt duyệt 1: So sánh giá trị liền kề để đưa giá trị phía đầu dãy 53124 53124 53124 51324 15324 Lượt duyệt 2: Tiếp tục đưa giá trị phía đầu dãy 15324 15324 15234 12534 Lượt duyệt 3: Đưa giá trị phía đầu dãy: 12534 12534 12354 Lần duyệt 4: Đưa giá trị phía đầu dãy: 12354 12345 Sau giáo viên đưa vấn đề mở rộng hơn: Bài toán 2: Cho dãy số A gồm 5000 số: a1, a2, ,a5000 Như đến học sinh xuất mâu thuẫn khó giải liệu nhỏ việc xếp thực đơn giản liệu lớn thời gian để thực khó kể sử dụng máy tính máy tính Đến ta đưa phương hướng giải mâu thuẫn, là: lựa chọn sử dụng thuật tốn phù hợp để giải tốn Từ học sinh hiểu kết luận: “Một tốn có nhiều thuật tốn để giải” Dẫn dắt đến thuật toán với cách xử lý 2.2 Một số thuật toán xếp bản: Là hệ thống dạng toán trình bày theo mức độ phát triển tư học sinh Trong thuật tốn có mơ ví dụ đưa đánh giá nhận xết cho thuật toán 2.2.1 Thuật toán xếp bọt (Bubble Sort) - Ý tưởng thuật toán: Với cặp số hạng đứng liền kề dãy, số trước lớn số sau ta đổi chỗ chúng cho Việc lặp lặp lại, khơng có đổi chỗ xảy - Ý tưởng mô tả cụ thể sau: + Lượt 1: Ta xét từ cuối dãy, gặp hai phần tử kề mà số đứng trước lớn số đứng sau ta đổi chỗ chúng cho Sau lượt 1, phần tử nhỏ đưa vị trí + Lượt 2: Ta xét từ cuối dãy (chỉ đến phần tử thứ 2), gặp hai phần tử kề mà số đứng trước lớn số đứng sau ta đổi chỗ chúng cho Sau lượt 2, phần tử nhỏ thứ hai đưa vị trí + Lượt i: Ta xét từ cuối dãy (chỉ đến phần tử thứ i), gặp hai phần tử kề mà số đứng trước lớn số đứng sau ta đổi chỗ chúng cho Sau lượt i, phần tử nhỏ thứ i đưa vị trí i + Xong lượt thứ n-1 dãy xếp xong - Ví dụ: Cho dãy số A gồm số: Sắp xếp dãy số theo thứ tự tăng dần thuật toán xếp bọt biểu diễn sau: Lượt duyệt 1: So sánh giá trị liền kề để đưa giá trị phía đầu dãy 53124 53124 53124 51324 15324 Lượt duyệt 2: Tiếp tục đưa giá trị phía đầu dãy 15324 15324 15234 12534 Lượt duyệt 3: Đưa giá trị phía đầu dãy: 12534 12534 12354 Lần duyệt 4: Đưa giá trị phía đầu dãy: 12354 12345 - Chương trình cài đặt 10 26 Áp dụng thuật tốn xếp nhanh: 11 (5 3) (7 11 6) Lần duyệt 1: chốt nên ta chia thành dãy (5 3) (7 11 6) (3 2) ( 5) (7 11 6) Lần duyệt 2: Xét đoạn (5 3), chốt ta lại chia thành dãy (3 2) ( 5) ⇒ Chọn B 27 Áp dụng thuật toán xếp nhanh: 11 (5 3) (7 11 6) Lần duyệt 1: chốt nên ta chia thành dãy (5 3) (7 11 6) (3 2) ( 5) (7 11 6) Lần duyệt 2: Xét đoạn (5 3), chốt ta lại chia thành dãy (3 2) ( 5) (3 2) (4 5) (7 11 6) Lần duyệt 3: Xét đoạn (3 2), chốt ta lại chia thành dãy (3 2) ⇒ Chọn D 28 Áp dụng thuật toán xếp nhanh: 11 (5 3) (7 11 6) Lần duyệt 1: chốt nên ta chia thành dãy (5 3) (7 11 6) (3 2) ( 5) (7 11 6) Lần duyệt 2: Xét đoạn (5 3), chốt ta lại chia thành dãy (3 2) ( 5) (3 2) (4 5) (7 11 6) Lần duyệt 3: Xét đoạn (3 2), chốt ta lại chia thành dãy (3 2) (4 5) (7 11 6) Lần duyệt 4: Xét đoạn (3 2), chốt ta lại chia thành dãy ⇒ Chọn B 29 Áp dụng thuật toán xếp nhanh: 11 (5 3) (7 11 6) Lần duyệt 1: chốt nên ta chia thành dãy (5 3) (7 11 6) (3 2) ( 5) (7 11 6) Lần duyệt 2: Xét đoạn (5 3), chốt ta lại chia thành dãy (3 2) ( 5) 60 (3 2) (4 5) (7 11 6) Lần duyệt 3: Xét đoạn (3 2), chốt ta lại chia thành dãy (3 2) (4 5) (7 11 6) Lần duyệt 4: Xét đoạn (3 2), chốt ta lại chia thành dãy 3 (7 11 6) Lần duyệt 5: Xét đoạn (4 5), chốt ta lại chia thành dãy ⇒ Chọn C 30 Áp dụng thuật toán xếp nhanh: 11 (5 3) (7 11 6) Lần duyệt 1: chốt nên ta chia thành dãy (5 3) (7 11 6) (3 2) ( 5) (7 11 6) Lần duyệt 2: Xét đoạn (5 3), chốt ta lại chia thành dãy (3 2) ( 5) (3 2) (4 5) (7 11 6) Lần duyệt 3: Xét đoạn (3 2), chốt ta lại chia thành dãy (3 2) (4 5) (7 11 6) Lần duyệt 4: Xét đoạn (3 2), chốt ta lại chia thành dãy 3 (7 11 6) Lần duyệt 5: Xét đoạn (4 5), chốt ta lại chia thành dãy 5 (7 11 6) Lần duyệt 6: Xét đoạn (7 11 6), chốt ta lại chia thành dãy (7 8) (11 9) ⇒ Chọn A 2.5.3.3 Phần tự luận thuật tốn tìm kiếm Để xác định số lần ta thực kẻ bảng mô tả thực thuận toán với thuật toán: - Thuật tốn tìm kiếm I 10 A[i] -9 -9 -5 -2 7 10 15 A[i]=k? Đúng Như số lần thực với thuật tốn tìm kiếm - Thuật tốn tìm kiếm nhị phân: I 10 A[i] -9 -9 -5 -2 7 10 15 61 Dau 1 Cuoi 10 giua A[giua]=x? sai Đúng Như số lần thực với thuật tốn tìm kiếm 2 Program phantulonnhat; var f1,f2:text; b:array[1 1000] of integer; i,n,x:integer; Procedure nhap; Begin assign(f1,'dulieu.inp'); reset(f1); readln(f1,n,x); For i:=1 to n read(f1,b[i]); close(f1); end; function tim2(r,x : longint) : longint; var d,c,g : longint; begin d:=0;c:=r; g:=(d+c) div 2; while (gd) and (gc) begin if b[g]>=x then c:=g else d:=g; g:=(d+c) div 2; end; for g:=c downto d if b[g]=x then c:=g else d:=g; g:=(d+c) div 2; end; for g:=d to c if b[g]>=x then exit(g); tim2:=g; end; Begin nhap; assign(f2,'dulieu.out'); rewrite(f2); Write(f2,tim2(n,x)); close(f2); end Program phantulonnhat; var f1,f2:text; b:array[1 1000] of integer; i,n,x:integer; Procedure nhap; Begin 63 assign(f1,'dulieu.inp'); reset(f1); readln(f1,n,x); For i:=1 to n read(f1,b[i]); close(f1); end; function tim2(r,x : longint) : longint; var d,c,g : longint; begin d:=1;c:=r; g:=(d+c) div 2; while (gd) and (gc) begin if b[g]>=x then c:=g else d:=g; g:=(d+c) div 2; end; for g:=d to c f b[g]a[l[d]] then begin inc(d); l[d]:=i; end else begin dau:=1; cuoi:=d; while dau

Ngày đăng: 07/11/2019, 07:00

Từ khóa liên quan

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

Tài liệu liên quan