Sử dụng giải thuật sắp xếp giúp học sinh giải các bài toán trong lập trình theo định hướng phát triển năng lực

24 67 0
Sử dụng giải thuật sắp xếp giúp học sinh giải các bài toán trong lập trình theo định hướng phát triển năng lực

Đ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 BA ĐÌNH NGA SƠN SÁNG KIẾN KINH NGHIỆM SỬ DỤNG GIẢI THUẬT SẮP XẾP GIÚP HỌC SINH GIẢI CÁC BÀI TỐN TRONG LẬP TRÌNH THEO ĐỊNH HƯỚNG PHÁT TRIỂN NĂNG LỰC Họ tên: Vũ Thị Huệ Chức vụ: Giáo Viên SKKN thuộc mơn: Tin Học THANH HỐ, NĂM 2020 Mục lục Mở đầu 1.1 Lý chọn đề tài 1.2 Mục đích nghiên cứu 1.3 Đối tượng nghiên cứu 1.4 Phương pháp nghiên cứu .1 1.5 Những điểm sáng kiến 2 Nội dung sáng kiến kinh nghiệm .2 2.1 Cơ sở lý luận vấn đề 2.2 Thực trạng vấn đề trước áp dụng sáng kiến kinh nghiệm 2.3 Giải pháp tổ chức thực .3 2.4 Hiệu đề tài nghiên cứu .13 Kết luận đề xuất…………………………………… …………………20 3.1 Kết luận…………………….………… ……………… …………… 20 3.2 Đề Xuất …………………………………………………….………… 20 Mở đầu 1.1 Lý chọn đề tài Sắp xếp( Sort) hiểu tổng quát q trình tuyển lựa, bố trí đặt lại vị trí đối tượng liệu theo trật tự định Sắp xếp đóng vai trị quan trọng sống nói chung Tin Học nói riêng Ý nghĩa cơng dụng xếp giúp đơn giản hóa việc tìm kiếm phần tử khối liệu xếp Thử hình dung xem, từ điển, từ khơng xếp theo trật tự, khó khăn việc tra cứu từ Theo nhà khoa học D.Knuth có tới 40% thời gian tính tốn máy tính dành cho việc xếp Như xếp công việc thường hay sử dụng lập trình, thao tác quan trọng xử lý liệu [5] Trong trình giảng dạy lớp bồi dưỡng cho học sinh mũi nhọn, phải sử dụng tới kỹ thuật xếp để giải tốn có ứng dụng thuật toán xếp Trong đề tài sáng kiến kinh nghiệm lần tơi mạnh dạn trình bầy thuật tốn đến chương trình đề xếp liệu đưa vào nhớ Tơi áp dụng để truyền đạt cho học sinh mình, thu tiết học thực lý thú có hiệu 1.2 Mục đích nghiên cứu - Mục đích nghiên cứu sáng kiến tơi muốn trình bầy làm rõ thuật toán xếp tiêu biểu để ứng dụng vào giải toán mức độ THPT - Nắm vững cấu trúc cú pháp hoạt động giải thuật xếp tiêu biểu - Luyện cho học sinh kỹ viết, sử dụng kỹ thuật xếp lập trình - Học sinh biết vận dụng kiến thức giải thuật xếp giải vấn đề thực tiễn, phát huy suy nghĩ tích cực, tư sáng tạo Huy động tiềm học sinh, góp phần hình thành lực giải vấn đề cho học sinh 1.3 Đối tượng nghiên cứu - Sử dụng giải thuật xếp liệu giải toán máy tính chương trình phổ thơng cách khoa học hiệu - Tôi áp dụng sáng kiến với em học sinh khối 10 khối 11 trường THPT Ba Đình – Nga Sơn – Thanh Hóa Dạy cho em biết hiểu việc viết chương trình áp dụng thuật tốn xếp giải tốn máy tính khơng phải khó, em thấy tính ứng dụng thực tiễn toán xếp lớn, em thực u thích đam mê học lập trình Tin Học 1.4 Phương pháp nghiên cứu Khi nghiên cứu áp dụng đề tài sử dụng phương pháp nghiên cứu: - Phương pháp nghiên cứu xây dựng sở lý thuyết, qua văn chủ trương Đảng, sách pháp luật nhà nước giáo dục đào tạo - Phương pháp phân tích tổng hợp, thu thập thơng tin từ nhiều nguồn tài liệu - Phương pháp điều tra khảo sát thực tế xử lý số liệu Đảm bảo tính xác thực trạng, hiệu vấn đề nghiên cứu rút kết luận quan trọng 1.5 Những điểm sáng kiến - Sáng kiến làm áp dụng lần đầu trường THPT Ba Đình - Nga Sơn - Thanh Hóa đem lại kết cao - Sáng kiến đề cập đến khía cạnh khác kỹ thuật xếp liệu Từ đánh giá thời gian thực thi dung lượng nhớ cấp phát kỹ thuật xếp Người lập trình chọn áp dụng thuật tốn xếp phù hợp với yêu cầu toán liệu đặt Nội dung sáng kiến kinh nghiệm 2.1 Cơ sở lý luận sáng kiến kinh nghiệm Theo nhà khoa học D.Knuth nghiên cứu chứng minh 40% thời gian tính tốn máy tính dành cho xếp Khơng phải ngẫu nhiên thuật tốn xếp nhanh( Quick Sort) bình chọn 10 thuật toán tiêu biểu kỷ XX [5] Trong chương trình giảng dạy Tin Học cấp học nói chung việc xếp liệu đề cập, Tin Học lớp 10 lớp 11 em học sinh học từ thuật tốn đến chương trình để xếp phần tử mảng theo thứ tự tăng dần giảm dần ví dụ bổ ích cho việc nắm vững phép xử lý mảng [2] Tuy nhiên thuật toán xếp chủ đạo sách giáo khoa Tin Học lớp 10 lớp 11 đưa thuật toán xếp tráo đổi ( Exchange Sort) hay cịn có tên gọi khác xếp bọt( Bubble Sort) thích hợp với tốn sở có liệu nhỏ [1] Khi giải toán với liệu lớn hơn, yêu cầu độ phúc tạp nhỏ, cần thời gian chạy hợn, tơi tìm hiểu đến thuật tốn xếp khác để phù hợp cho toán đặt tơi trình bầy sáng kiến kinh nghiệm Bên cạnh đó, cá nhân tơi nhận thức tầm quan trọng việc tăng cường đổi dạy học Bộ giáo dục đào tạo tập trung đạo thông qua nghị Hội nghị trung ương khóa XI việc đổi bản, toàn diện giáo dục đào tạo nêu rõ: ” Tiếp tục đổi mạnh mẽ phương pháp dạy học học theo phương pháp đại, phát huy tính tích cực, chủ động sáng tạo vận dụng kiến thức, kỹ người học, khắc phục lối truyền thụ áp đặt chiều, ghi nhớ máy móc Tập trung dạy cách học, cách nghĩ, khuyến khích tự học, tạo sở để người học tự cập nhật đổi trí thức, kỹ phát triển lực Chuyển từ học lớp sang tổ chức hình thức học tập đa dạng, ý hoạt động đa dạng, ngoại khóa, nghiên cứu khoa học Đẩy mạnh ứng dụng công nghệ thông tin truyền thông dạy học ” Hiện tài liệu ngơn ngữ lập trình phong phú đa dạng Việc đưa hệ thống tập có tính phân bậc để luyện kỹ cho em hoc sinh giúp em dễ dàng nắm bắt nội dung học mà định hướng phát triển tư cho em khả ngôn ngữ lập trình, linh hoạt hình thành lực tích cực, thiết thực cho em Xây dựng sở lý thuyết lẫn vận dụng, đem lại hiệu cao cho người học người dạy 2.2 Thực trạng vấn đề trước áp dụng sáng kiến kinh nghiệm Về tinh thần thái độ em hoc sinh trường THPT Ba Đình tơi thấy em nhận thức vai trò lớn lao ứng dụng công nghệ thông tin “ Cách mạng công nghiệp 4.0” nay, em hào hứng, tích cực xây dựng ý tưởng để giải tốn máy tính Thích lắng nghe quy trình để làm sản phẩm phần mềm mà thực tế em sử dụng, điều kích thích niềm say mê học lập trình em Trong chương trình Tin Học THPT Nga Sơn, Lập trình Pascal mơn học khó, hầu hết học sinh chưa học làm quen cấp hai nên em tỏ lúng túng lựa chọn thuật tốn, khó khăn việc diễn đạt câu lệnh, cú pháp để viết chương trình Khi dạy học lớp, đặc biệt việc bồi dưỡng cho học sinh mũi nhọn, giải toán cần sử dụng đến thuật toán xếp, em sử dụng thuật toán xếp sách giáo khoa đưa gặp nhiều khó khăn để sử lý số liệu lẫn thời gian chạy chương trình.Chương trình khơng kiểm tra hết Text đề kết khơng cao Vì tơi mạnh dạn áp dụng đề tài: “ SỬ DỤNG GIẢI THUẬT SẮP XẾP GIÚP HỌC SINH GIẢI CÁC BÀI TOÁN TRONG LẬP TRÌNH THEO ĐỊNH HƯỚNG PHÁT TRIỂN NĂNG LỰC ” 2.3 Giải pháp tổ chức thực 2.3.1 Khái niệm 2.3.1.1 Định nghĩa xếp Xét cách tổng quát, giả sử có phần tử a 1, a2, a3 an cho với thứ tự f cho trước thỏa nãm: f(a1) i Ví dụ: Nếu muốn xếp mảng A có n phần tử thủ tục viết cho giải thuật chọn trực tiếp sau Procedure Chon(Var a:; n :byte); Var I,j:byte; Begin For i:=1 to n-1 For j:= to n If behon(a[j],a[i]) then Hoanvi(a[i],a[j]); End; Với giải thuật phần tử thứ phải so sánh với n-1 phần tử lại, phần tử thứ i phải so sánh với n-1 phần tử lại Như số lần xếp mảng A là: (n-1)+(n-2)+ (n-3) + …n(n-1)/2 Tóm lại giải thuật chọn trực tiếp có ưu điểm giải thuật đơn giản, dễ hiểu nghiên cứu giảng dạy thực tế ta sử dụng n nhỏ số lần xếp nhiều( tương đương n2)[2] Ví dụ: Chương trình sử dụng giải thuật chọn để xếp từ nhỏ đến lớn phần tử mảng số nguyên Program Gtchon; Const Spt=10; Var A:array[1 spt] of integer; min, vitri, i, j:integer; Begin Writeln(‘ sap xep mang bang giai thuat chon’); For i:=1 to spt Begin Write(‘ phan tu’,a[‘,i,’] =’); readln (a[i]); End; For i:=1 to spt Begin min:=a[spt]; Vitri:=spt; For j:=i to spt If a[j]j • Chừng a[i]j) Phần L, j phần tử có giá trị nhỏ giá trị phần tử phần i, R Tiếp tục thực giải thuật với phần cú pháp đệ quy + Sắp xếp mảng từ phần tử thứ L đến phần tử thứ j + Sắp xếp mảng từ phần tử thứ i đến phần tử thứ R + Chấm dứt Thủ tục minh họa cho giải thuật Procedure Quicksort( Var a:; N:); Procedure Sort (L, R: byte); Var I,j:byte; x:< Kiểu mảng>; Begin x:= a[(L+R) div 2]; i:= L; J:=R; Repeat While behon(a[i],x) Inc(i); While behon(x,a[j]) Dec(j); Until i>j; If L

Ngày đăng: 14/07/2020, 12:29

Từ khóa liên quan

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

Tài liệu liên quan