Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 32 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
32
Dung lượng
303,5 KB
File đính kèm
sang-kien-kinh-nghiem.rar
(48 KB)
Nội dung
TRƯỜNG THPT CẨM PHẢ - TÊN SÁNG KIẾN: ®é phứctạpthuậttoán TC GI: Vũ Thị Hiền CHỨC VỤ: Giáo viên ĐƠN VỊ CÔNG TÁC: Trường THPT Cẩm Phả Quảng Ninh, tháng 12 năm 2017 MỤC LỤC MỤC LỤC .1 PHẦN I MỞ ĐẦU 1.1 Lý viết sángkiếnkinhnghiệm 1.2 Mục tiêu sángkiến 1.2.1 Mục tiêu chung 1.2.2 Mục tiêu cụ thể 1.3 Giới hạn sángkiến 1.3.1 Đối tượng nghiên cứu: 1.3.2 Về không gian: 1.3.3 Về thời gian: 1.4 Phương pháp nghiên cứu PHẦN II NỘI DUNG .5 CHƯƠNG 1: TỔNG QUAN Cơ sở lý luận: Cơ sở thực tiễn: CHƯƠNG 2: NỘI DUNG NGHIÊN CỨU .7 Lý thuyết 1.1 Cách thứ nhất: Bằng thực nghiệm 1.2 Cách thứ hai: Bằng phương pháp lý thuyết 1.3 Các quy tắc xác định độphứctạpthuậttoán 1.4 Phân loại câu lệnh ngôn ngữ lập trình bậc cao Ví dụ Bài tập 12 CHƯƠNG 3: KẾT QUẢ ĐẠT ĐƯỢC 23 Kết sau áp dụng sángkiếnkinhnghiệm 23 Điều kiện để áp dụng sángkiến 24 PHẦN III: KẾT LUẬN, KIẾN NGHỊ 25 Kết luận: 25 Kiến nghị: 25 TÀI LIỆU THAM KHẢO .26 PHẦN I MỞ ĐẦU 1.1 Lý viết sángkiếnkinhnghiệm Như biết, có nhiều thuật tốn để giải toán Một điều đặt giải toán, ta cần lựa chọn thuậttoán mà cho “tốt” cả, dựa sở để đánh giá thuậttoán “tốt” thuật tốn kia? Chính tơi tìm nghiên cứu “Độ phứctạpthuật toán” Và lý quan trọng là, em học sinh học chương trình Tin học phổ thơng, việc cài đặt thuật tốn xong mà chạy khơng có lỗi cú pháp thành cơng thành cơng chạy chương trình cho kết niềm vui lớn em Nhưng, tốn khó kì thi chọn học sinh giỏi môn Tin học hay kỳ thi Tin học trẻ không chun, có nhiều em cài đặt thuật tốn, chạy test đemo em lại không điểm tối đa giám khảo chấm chạy test với liệu lớn, em chưa quan tâm đến thời gian thực thuật tốn, đến dung lượng khơng gian nhớ cần thiết để lưu liệu vào, kết trung gian q trình tính tốn Đấy vấn đề mà giáo viên ôn đội tuyển Tin học cần quan tâm hướng dẫn em Tơi lấy ví dụ kì thi chọn học sinh giỏi cấp tỉnh năm học 2017 vừa qua, với câu đánh giá dễ so với câu lại, xin trích phần đề sau: “Cho sâu S gồm chữ tiếng Anh (a z, A Z) Bạn thống kê chữ xuất xâu S theo thứ tự từ điển số lần xuất Việc thống kê chữ khơng phân biệt chữ hoa, chữ thường Ví dụ xâu S=’afbAAffbbDda’ có kết thống kê sau: - A xuất lần, - B xuất lần, - D xuất lần, - F xuất lần …” Với đề trên, có em lựa chọn thuậttoán là: + B1: Sắp xếp chữ xâu; + B2: Đếm số lần xuất chữ xâu Nhưng có em lại lựa chọn thuật tốn: + B1: Đếm số lần xuất chữ xâu; + B2: Sắp xếp chữ xâu Với hai cách lựa chọn cách lựa chọn tốt hơn? Đó lý thơi thúc muốn nghiên cứu đề tài 1.2 Mục tiêu sángkiến 1.2.1 Mục tiêu chung Mục tiêu đề tài “Độ phứctạpthuật toán” khơng để phân tích, để so sánh thuật toán, để đánh giá xem thuậttoán tốt thuật tốn mà dựa vào kết phân tích đánh giá để hiệu chỉnh, cải tiến thuật tốn có tốt 1.2.2 Mục tiêu cụ thể Để đánh giá độphứctạpthuật toán, thơng thường ta dựa vào tiêu chí sau: - Tiêu chí 1: Chi phí cài đặt thuật tốn: thuật tốn dễ hiểu, dễ cài đặt, cơng sức cài đặt người lập trình - Tiêu chí 2: Tính hiệu thuật toán: thời gian thực thuật toán, dung lượng không gian nhớ cần thiết để lưu liệu vào, kết trung gian q trình tính tốn Nếu chương trình đơn giản tập ví dụ lớp, hay tập nhà đơn giản sách giáo khoa chương trình phổ thơng, thực số lần liệu vào liệu khơng q lớn tơi hướng học sinh tơi thực theo tiêu chí thứ l, hướng dẫn học sinh dùng thuật tốn có sẵn, hiệu dễ dàng lập trình Nhưng em tham gia kì thi học sinh giỏi em vấp phải test với liệu lớn, tính hiệu thuật tốn u cầu quan trọng hướng em đặt tiêu chí thứ quan trọng Trong trường hợp này, cần chọn thuậttoán chạy nhanh sử dụng tài ngun cho dù thuật tốn phải cài đặt phứctạp để nhận chương trình chạy nhanh hơn, hiệu Quay trờ lại ví dụ thi chọn học sinh giỏi Tỉnh vừa qua, Input xâu dài với vài nghìn kí tự việc xếp trước có tối ưu hay khơng sau ta tính có loại kí tự (tối đa 24 chữ cái) phải xếp 24 chữ thay hàng nghìn chữ cái? Như vậy, việc lựa chọn thuật tốn tốt phụ thuộc vào nhiều yếu tố toán phải viết chương trình dùng nhiều hay lần? Các yêu cầu hệ thống máy tính dùng để thực chương trình nào? Điều mấu chốt em phải dựa vào đặc tính cụ thể tốn để em xác định tiêu chí hiệu cho lựa chọn thuậttoán 1.3 Giới hạn sángkiến 1.3.1 Đối tượng nghiên cứu: Đề tài “Độ phứctạpthuật toán” thực nghiệm dạy môn Tin học lớp buổi ôn học sinh giỏi Tin học 1.3.2 Về không gian: Trường Trung học phổ thông Cẩm Phả - Thành phố Cẩm Phả - Tỉnh Quảng Ninh 1.3.3 Về thời gian: Đề tài thực năm học 2015 - 2016 tiếp tục nghiên cứu đến nay, có đúc kết kinhnghiệm từ năm học trước năm 2015 1.4 Phương pháp nghiên cứu - Dựa sở lý thuyết môn Khoa học tự nhiên, mơn Tốn mơn học sở cho phát triển tư lập trình Tin học - Dựa sở lý thuyết Ngơn ngữ lập trình Pascal, hoạt động bước máy tính thực chương trình - Thu thập liệu thông qua việc hỏi học sinh mức độ biết, hiểu vận dụng ngơn ngữ lập trình Pascal vào giải tập Tốn - Phân tích đánh giá mức độ học sinh hiểu vận dụng, từ xây dựng, giới thiệu toán phù hợp với đối tượng học sinh - Tổng kết rút kinhnghiệm sau dạy, học kỳ qua để tìm phương pháp nội dung phù hợp đối tượng học sinh PHẦN II NỘI DUNG CHƯƠNG 1: TỔNG QUAN Cơ sở lý luận: Thực Nghị trung ương số 29-NQ/TW “về đổi bản, toàn diện giáo dục đào tạo, đáp ứng cơng nghiệp hóa, đại hóa điều kiệnkinh tế thị trường định hướng xã hội chủ nghĩa hội nhập quốc tế ” hội nghị Trung ương (khóa XI) thơng qua Trong có mục tiêu: “Đối với giáo dục phổ thơng, tập trung phát triển trí tuệ, thể chất, hình thành phẩm chất, lực cơng dân, phát bồi dưỡng khiếu, định hướng nghề nghiệp cho học sinh Nâng cao chất lượng giáo dục toàn diện, trọng giáo dục lý tưởng, truyền thống, đạo đức, lối sống, ngoại ngữ, tin học, lực kĩ thực hành, vận dụng kiến thức vào thực tiễn…” Thực Chỉ thị số 05 - CT/TW Bộ trị đẩy mạnh học tập làm theo tư tưởng, đạo đức, phong cách Hồ Chí Minh Đó là: phong cách tư độc lập, tự chủ, sáng tạo, gắn chặt lý luận với thực tiễn, phong cách làm việc dân chủ, khoa học, kỹ lưỡng, cụ thể, tới nơi, tới chốn; phong cách ứng xử văn hóa, tinh tế, đầy tính nhân văn, viết nói ngắn gọn, dễ hiểu, dễ nhớ, dễ làm,… Cơ sở thực tiễn: Mơn Tin học đến khơng môn học mẻ học sinh phổ thơng, học sinh làm quen cấp học Đây thuận lợi cho học sinh, học sinh học từ đầu để làm quen với môn học Sự liên quan môn Tin học với môn học khác nhiều, học sinh phải vất vả để xem lại, tìm kiếm lại tri thức mơn học khác Đặc biệt nội dung lập trình mơn học Tin học lại có liên quan nhiều đến kiến thức mơn khoa học tự nhiên Tốn, Lí, liên quan nhiều đến tư Toán học Nếu học sinh yếu tư Tốn học khó khăn lập trình Muốn giải việc giáo viên cần phải dẫn dắt học sinh tiếp cận với môn học cách tự nhiên, hào hứng thơng qua kiến thức sẵn có em môn học mà em yêu thích Nhiều giáo viên hạn chế trình độ, khả cập nhật thông tin Không vậy, số giáo viên tư thuật tốn chậm, hay nói cách khác chưa hiểu rõ thuật tốn để diễn đạt việc dạy lập trình Chính điều làm cho giáo viên có hạn chế dạy cho em thuậttoán tối ưu Khi bước vào học phổ thơng học sinh bắt đầu định hình học theo khối để thi đại học Thời gian học chủ yếu dành cho môn học Tốn, Lý, Hóa, Văn, Anh Tin học môn phụ nên thời gian để học tiết học lớp Đối với Tin học 10, 12 tính ứng dụng mơn học thực tế em dễ dàng nhìn thấy thực ln Còn với Tin học 11 thuộc lĩnh vực lập trình, khó có sản phẩm để em nhìn thấy Hơn việc tư thuật tốn nội dung khó em Điều dẫn đến nhiều học sinh không thích khơng đầu tư cho đội tuyển Ngồi ra, cần giải tốn khơng mà xử lý phải nhanh với test liệu lớn Từ thực tế muốn nghiên cứu “Độ phứctạpthuật tốn” để hiểu rõ hơn, có nhìn sâu, rộng để giúp em lựa chọn tư thuậttoán tốt CHƯƠNG 2: NỘI DUNG NGHIÊN CỨU Lý thuyết Việc giải toán máy tính thường tiến hành qua bước sau: Bước 1: Xác định toán Bước 2: Thiết kế lựa chọn thiết kế thuậttoán Bước 3: Viết chương trình Bước 4: Kiểm thử hiệu chỉnh chương trình Bước 5: Viết tài liệu Mỗi tốn đặc tả hai thành phần: Input Output Việc xác định tốn xác xác định rõ hai thành phần mối quan hệ chúng Các thơng tin cần nghiên cứu cẩn thận để lựa chọn thuật tốn, cách thể đại lượng cho, đại lượng phát sinh q trình giải tốn ngơn ngữ lập trình thích hợp Ví dụ, tốn tin học đề cập đến số nguyên dương N, tuổi người, rõ phạm vi giá trị N từ đến 150, để lựa chọn cách thể N kiểu liệu thích hợp Để giải tốn bước bước đơn giản quan trọng Nhưng quan bước bước 2: Bước lựa chọn thiết kế thuậttoán Mỗi thuật tốn giải tốn đó, có nhiều thuật tốn khác giải tốn Vì thế, cần phải thiết kế lựa chọn thuật tốn phù hợp có để giải tốn cho trước Có hai cách tiếp cận để đánh giá thời gian thực thuật toán: 1.1 Cách thứ nhất: Bằng thực nghiệm Chúng ta viết chương trình cho chạy chương trình với liệu vào khác máy tính Ví dụ với yêu cầu kỳ thi chọn học sinh giỏi Tỉnh năm 2017 tỉnh Quảng Ninh vừa qua, giải theo cách thứ là: + Bước 1: Đếm số lần xuất chữ xâu; + Bước 2: Sắp xếp chữ xâu Với cách việc đếm số lần xuất kí tự xâu đơn giản, kể dãy kí tự có hàng ngàn kí tự, phép tính cộng đơn giản; sau xếp, có nhiều tối đa 24 kí tự phải xếp Khi chương trình chạy nhanh nhiều so với cách thứ hai sau: + Bước 1: Sắp xếp chữ xâu; + Bước 2: Đếm số lần xuất chữ xâu Với cách giải ta có xâu đưa vào hàng nghìn kí tự việc máy tính phải xếp hàng nghìn kí tự nhiều thời gian, dẫn đến treo máy 1.2 Cách thứ hai: Bằng phương pháp lý thuyết Chúng ta coi thời gian thực thuậttoán hàm số cỡ liệu vào (dữ liệu phần input) Ta sử dụng hàm số T(n) để biểu diễn thời gian thực thuật tốn (trong n cỡ liệu vào) Chúng ta xem xét việc xác định độphứctạpthuật tốn thơng qua kí pháp hàm O lớn 1.3 Các quy tắc xác định độphứctạpthuậttoán - Quy tắc số: Nếu thuật tốn T có thời gian thực T(n)=O(c1f(n)) với c1 số dương coi thuật tốn T có độphứctạp tính tốn O(f(n)) - Quy tắc cộng: Giả thiết, thuậttoán gồm hai phần liên tiếp T1 T2 Khi đó, phần T1 thuật tốn có thời gian thực T1(n) = O(f(n)) phần T2 có thời gian thực T2(n)=O(g(n)), thời gian thực thuậttoán là: T1(n) + T2(n) = O(f(n) + g(n)) - Quy tắc lấy max: Nếu thuật tốn T có thời gian thực T(n) = O(f(n) + g(n)) coi thuật tốn T có độphứctạp tính tốn O(max(f(n),g(n))) Chú ý: Với quy tắc này, T(n) đa thức tốn hạng bậc thấp bỏ qua đánh giá độphứctạpthuậttoán - Quy tắc nhân: Nếu thuật tốn T có thời gian thực T(n) = O(f(n)) Khi thực k(n) lần đoạn thuật tốn T với k(n)=O(g(n)) độphứctạp tính tốn là: O(f(n).g(n)) 1.4 Phân loại câu lệnh ngôn ngữ lập trình bậc cao a Câu lệnh đơn thực thao tác, ví dụ câu lệnh gán đơn giản (không chứa lời gọi hàm biểu thức), đọc/ ghi đơn giản, câu lệnh chuyển điều khiển đơn giản (break, goto, return …) b Nếu S1, S2, Sm câu lệnh Begin S1; S2,…; Sm; End; Là câu lệnh hợp hay khối lệnh c Nếu S1, S2 câu lệnh E biểu thức logic Câu lệnh {3} câu lệnh IF nên có thời gian thực O(max(O(1))) = O(1); Câu lệnh {2} có số lần lặp n-1 lần nên có thời gian thực O(n-1) Tương tự câu lệnh {1} có số lần lặp n-1 nên có thời gian thực O( ( n − 1) 2); Vậy thời gian thực thuậttoán O(max(O(1), O(n-1), O( ( n − 1) 2))) = O( ( n − 1) 2); Bài Phân tích độphứctạpthuật tốn tìm kiếm (Sequential Search) - Xác định toán: + Input: Dãy A gồm N số nguyên khác a1, a2,…, aN số nguyên k; + Output: Chỉ số i mà = k thơng báo khơng có số hạng dãy A có giá trị k - Ý tưởng: Tìm kiếm thực cách tự nhiên Lần lượt từ số hạng thứ nhất, ta so sánh giá trị số hạng dang xét với khóa gặp số hạng khóa dãy xét hết khơng có giá trị khóa Trong trường hợp thứ hai dãy A khơng có số hạng khóa {1} vt:=0; {2} for i:=1 to n {3} if a[i]=k then {4} vt:=i; Phân tích: Câu lệnh {1}, {4} lệnh đơn nên có thời gian thực O(1) Câu lệnh {3} câu lệnh IF nên có thời gian thực O(max(O(1))) = O(1) Câu lệnh {2} có số lần lặp n lần nên có thời gian thực O(n) Vậy thời gian thực thuậttoán O(max(O(1), O(1), O(n))) = O(n); Bài Phân tích độphứctạpthuật tốn tìm kiếm nhị phân (Binary Search) - Xác đinh toán: + Input: Dãy A dãy tang gồm N số nguyên khác a1, a2,…, aN số nguyên k; + Output: Chỉ số i mà = k thơng báo khơng có số hạng dãy A có giá trị k - Ý tưởng: 16 Sử dụng tính chất dãy A dãy tang, tìm cách thu hẹp nhanh phạm vi tìm kiếm sau lần so sánh khóa với số hạng chọn Để làm điều đó, ta chọn số N + 1 hạng agiữa dãy để so sánh với k, đó: = Khi xảy ba trường hợp sau: - Nếu agiữa = k số cần tìm Việc tìm kiếm kết thúc - Nếu agiữa > k phạm vi tìm kiếm từ a1 đến agiữa - - Nếu agiữa < k phạm vi tìm kiếm từ agiữa +1 tới aN {1} i:=1; {2} j:=n; {3} while (ij) {4} begin {5} m:=(i+j) div 2; {6} if a[m]>k then j:=m; {7} if a[m] N ƯCLN(M, N) = ƯCLN(M - N,N); {1} var m, n, UCLN, BCNN:integer; {2} begin {3} readln(m,n); {4} BCNN:=m*n; {5} While mn If m>n then m:=m-n else n:=n-m; {6} UCLN:=m; {7} BCNN:=BCNN div UCLN; {8} write(UCLN,' ',BCNN); {9} end Phân tích: Câu lệnh {1}, {3}, {4}, {6}, {7}, {8} lệnh đơn nên có thời gian thực O(1) Câu lệnh {5} câu lệnh while nên có thời gian thực O(max(m,n)); Vậy thời gian thực thuậttoán O(max(O(1), O(1), O(max(m,n)) )) = O(max(m,n)); Cách 2: Thuật tốn Euclide: Ngồi cách tìm UCLN Các bạn sử dụng cách chia lấy dư (mod), chương trình tối ưu phải thực phép tính Ý tưởng: UCLN số x, y UCLN số n m mod n, ta đổi m n, n m mod n n Khi UCLN m var x,y,UCLN,BCNN, t :integer; {1} begin {2} readln(m,n); {3} BCNN:=m*n; {4} t:= n mod m; {5} While t {6} Begin {7} t:= m MOD n; {8} m:= n; 18 {9} n:= t; {10} End; {11} ucln:=m; {12} BCNN:=BCNN div UCLN; {13} write(UCLN,' ',BCNN); {14} end Phân tích: Câu lệnh {2}, {3}, {4}, {7}, {8}, {9}, {11}, {12}, {13} lệnh đơn nên có thời gian thực O(1) Câu lệnh {5} câu lệnh while nên có thời gian thực O(max(m,n)); Vậy thời gian thực thuậttoán O(max(O(1), O(1), O(max(m,n)) )) = O(max(m,n)); Cách 3: Tìm UCLN cách dùng đệ quy: Đệ quy hiểu đơn giản gọi nhiều lần chương trình chương trình Thực sự, tốn đơn giản, khơng sử dụng đệ quy làm phứctạp vấn đề làm chương trình trở nên rắc rối, phải thực nhiều phép tính Tuy nhiên, bắt buộc phải dùng đệ quy, bạn tham khảo cách làm đây: {1} function ucln(x,y:integer):integer; {2} begin {3} if x = y then ucln:=x {4} else if x > y then ucln:=ucln(x mod y,y) {5} else ucln:=ucln(x, y mod x); {6} end; {7} var m, n:integer; {8} begin {9} readln(m,n); {10} write('Ước chung lớn là: ', UCLN(m,n), ' Bội chung nhỏ là: ', (m*n) div UCLN(m,n)); {11} end Phân tích: Câu lệnh {1}, {7}, {8}, {9}, {10} lệnh đơn nên có độphứctạp 19 O(1); Câu lệnh {2} đến {6} có độphứctạp O(log(max(x,y))); Vậy thời độphứctạpthuậttoán O(log(max(x,y))) Bài Cho xâu S gồm chữ tiếng Anh (a z, A Z) Bạn thống kê chữ xuất xâu S theo thứ tự từ điển số lần xuất Việc thống kê chữ không phân biệt chữ hoa, chữ thường Ví dụ xâu S=’afbAAffbbDda’ có kết thống kê sau: - A xuất lần, - B xuất lần, - D xuất lần, - F xuất lần …” Dữ liệu: Từ tệp VANBAN.INP có dòng ghi xâu S Kết quả: Ghi vào tệp VANBAN.OUT Dòng ghi số lượng chữ khác có xâu S (khơng phân biệt chữ hoa, chữ thường) Mỗi dòng ghi chữ in hoa, cách số lần xuất xâu S Cách {1} assign(f1,’vanban.inp’); {2} reset(f1); {3} assign(f2,’vanban.out’); {4} rewrite(f2); {5} m:=0; {6} while not eof(f1) {7} begin {8} read(f1,c); {9} t:=t+1; {10} a[t]:=upcacse[c]; {11}end; {12} for i:=1 to t {13} begin {14} p:=false; {15} for j:=1 to i-1 20 {16} if a[j]=a[i] then p:=true; {17} if not(p) then m:=m+1; {18} end; {19} writeln(f2,m) {20} for c:=’A’ to ‘Z’ {21} begin {22} d:=0; {23} for i:=1 to t {24} if a[i]=c then d:=d+1; {25} if d>=1 then writeln(f2,c,’ ‘,d); {26}end; {27} close(f1); {28} close(f2); Phân tích: Câu lệnh {1}, {2}, {3}, {4}, {5} có độphứctạp O(1); Câu lệnh {8}, {9}, {10} có độphứctạp O(1), lệnh nằm câu lệnh {7}, {11} nên khối lệnh có độphứctạp O(1); Câu lệnh {6} có độphứctạp O(n), n=t số kí tự; Tương tự trên, đoạn lệnh từ {12} đến {18} có độphứctạp O(n2); Câu lệnh từ {20} đến {26} có độphứctạp O(m.n) với m số kí tự từ A đến Z ≈ O(n2); Vậy độphứctạptoán O(n2) Cách 2: {1} assign(f1,'vanban.txt'); {2} assign(f2,'vanban2.txt'); {3} reset(f1); {4} rewrite(f2); {5} while not eof(f1) read(f1,s); {6} for i:=1 to length(s)-1 {7} for j:=i+1 to length(s) {8} if s[i]>s[j] then {9} begin 21 {10} {11} {12} {13} {14} {15} {16} {17} {18} {19} {20} {21} {22} {23} {24} {25} {26} {27} {28} {29} {30} {31} {32} tg:=s[i]; s[i]:=s[j]; s[j]:=tg; end; for i:=1 to length(s) begin p:=false; for j:=1 to i-1 if s[i]=s[j] then p:= true; if not(p) then m:=m+1; end; writeln(f2,m); for i:=1 to length(s) s[i]:=upcase(s[i]); for c:='A' to 'Z' begin d:=0; for i:=1 to length(s) if s[i]=c then d:=d+1; if d>=1 then writeln(f2,c,' ',d); end; close(f1); close(f2); Phân tích: Cách cách giống tính tốn, khác chỗ cách phải thêm thuật tốn xếp có độphứctạp O(n2) thuậttoán cách O(n2) 22 CHƯƠNG 3: KẾT QUẢ ĐẠT ĐƯỢC Kết sau áp dụng sángkiếnkinhnghiệm - Hiệu mà dễ nhận thấy sángkiếnkinhnghiệm việc giáo viên Tin học tiếp cận với nội dung đổi giáo dục tự học, tự nghiên cứu - Học sinh có hứng thú với mơn học nâng cao khả tư phân tích thuật tốn - Học sinh có ý thức việc lập trình Tơi áp dụng sángkiếnkinhnghiệm học sinh trường THPT Cẩm Phả từ năm học 2015 - 2016 đến Kết thu sau: Số lượng học sinh năm 200 học sinh tương đương với lớp 11 mà phụ trách - Năm học 2014 - 2015 chưa áp dụng sángkiếnkinhnghiệm học lực mơn Tin học sinh có kết sau: Học lực Số học sinh Tỉ lệ Giỏi 10 5% Khá 80 40% Trung bình 90 45% Yếu 15 7,5% Kém 2,5% - Năm học 2015 - 2016 bắt đầu áp dụng sángkiếnkinhnghiệm học lực mơn Tin học sinh có kết sau: Học lực Số học sinh Tỉ lệ Giỏi 20 10% Khá 100 50% Trung bình 70 35% Yếu 10 5% Kém 0% - Năm học 2015-2016 áp dụng sángkiếnkinhnghiệm đến thời điểm kết thúc học kì học lực mơn Tin học sinh có kết sau: 23 Học lực Số học sinh Tỉ lệ Giỏi 30 15% Khá 110 55% Trung bình 58 29% Yếu 1% Kém 0% Với kết số lượng học sinh có học lực giỏi, tăng đáng kể Điều đồng nghĩa với việc ngày có nhiều học sinh u thích mơn tin học lập trình lập trình khơng nỗi sợ học sinh phổ thông Điều kiện để áp dụng sángkiếnSángkiến tài liệu hữu ích giáo viên tin học dạy nội dung liên quan đến thuật toán, lựa chọn thuật tốn để lập trình em học sinh nghiên cứu, tìm hiểu ngơn ngữ lập trình Đặc biệt giáo viên tin học nhằm nâng cao khả tự học, tự nghiên cứu, ôn tập học sinh giỏi 24 PHẦN III: KẾT LUẬN, KIẾN NGHỊ Kết luận: Việc lựa chọn, thiết kế thuật tốn quan trọng Nó giúp tiết kiệm thời gian, cơng sức người lập trình tiết kiệm không gian, thời gian chạy chương trình Do đó, với vai trò trách nhiệm người làm việc công nghệ thông tin, đặc biệt giảng dạy em học sinh khối 10 có kiến thức liên quan đến thuậttoán hay chương trình sách giáo khoa lớp 11, việc ơn luyện đội Tin học trẻ, không ngừng học tập, nghiên cứu phương pháp hay, lời giải tốt để em lĩnh hội tốt hơn, đạt giải cao kì thi Tin học trẻ khơng chun cấp thành phố hay tỉnh Kiến nghị: Trong trình nghiên cứu khơng tránh thiếu sót mong góp ý, bổ sung thầy, cơ, đồng nghiệp để sángkiến hồn thiện hơn, giúp ích cho cơng tác giáo dục chung tốt Tôi xin chân thành cảm ơn thầy, cô Hội đồng sư phạm nhà trường THPT Cẩm Phả - nơi tơi cơng tác hỗ trợ, khích lệ, tạo điều kiện tốt để tơi hồn thành sángkiếnkinhnghiệm Tơi xin cam đoan sángkiếnkinhnghiệm thân viết, không chép nội dung người khác Cẩm Phả, ngày 29 tháng 12 năm 2017 Người viết Vũ Thị Hiền 25 TÀI LIỆU THAM KHẢO - Tài liệu chuyên Tin học Quyển – Hồ Sĩ Đàm (chủ biên) – NXB Giáo dục - Sách giáo khoa Tin học 10 – Hồ Sĩ Đàm (chủ biên) – NXB Giáo dục - Sách tập Tin học 10 – Hồ Sĩ Đàm (chủ biên) – NXB Giáo dục - Sách giáo khoa Tin học 11 – Hồ Sĩ Đàm (chủ biên) – NXB Giáo dục - Sách tập Tin học 11 – Hồ Sĩ Đàm (chủ biên) – NXB Giáo dục 26 CỘNG HÒA Xà HỘI CHỦ NGHĨA VIỆT NAM Độc lập - Tự - Hạnh phúc Mẫu SK1 PHIẾU ĐÁNH GIÁ, XẾP LOẠI SÁNGKIẾNKINHNGHIỆM Năm học: 200 - 200 I Đánh giá xếp loại HĐKH Trường Tên đề tài: Họ tên tác giả: Chức vụ: Tổ: Nhận xét Chủ tịch HĐKH đề tài: a) Ưu điểm: b) Hạn chế: Đánh giá, xếp loại: Sau thẩm định, đánh giá đề tài trên, HĐKH Trường thống xếp loại : Những người thẩm định: Chủ tịch HĐKH (Ký, ghi rõ họ tên) (Ký, đóng dấu, ghi rõ họ tên) II Đánh giá, xếp loại HĐKH Phòng GD&ĐT Sau thẩm định, đánh giá đề tài trên, HĐKH Phòng GD&ĐT thống xếp loại: Những người thẩm định: Chủ tịch HĐKH (Ký, ghi rõ họ tên) (Ký, đóng dấu, ghi rõ họ tên) III Đánh giá, xếp loại HĐKH Sở GD&ĐT Quảng Ninh Sau thẩm định, đánh giá đề tài trên, HĐKH Sở GD&ĐT Quảng Ninh thống xếp loại: Những người thẩm định: Chủ tịch HĐKH (Ký, ghi rõ họ tên) (Ký, đóng dấu, ghi rõ họ tên) 27 CỘNG HÒA Xà HỘI CHỦ NGHĨA VIỆT NAM Độc lập - Tự - Hạnh phúc Mẫu SK2 PHIẾU ĐÁNH GIÁ, XẾP LOẠI SÁNGKIẾNKINHNGHIỆM Năm học: 200 - 200 I Đánh giá xếp loại HĐKH Trường THPT (Trung tâm) Tên đề tài: Họ tên tác giả: Chức vụ: Tổ: Nhận xét Chủ tịch HĐKH đề tài: a) Ưu điểm: b) Hạn chế: Đánh giá, xếp loại: Sau thẩm định, đánh giá đề tài trên, HĐKH Trường (Trung tâm): .thống xếp loại : Những người thẩm định: Chủ tịch HĐKH (Ký, ghi rõ họ tên) (Ký, đóng dấu, ghi rõ họ tên) II Đánh giá, xếp loại HĐKH Sở GD&ĐT Quảng Ninh Sau thẩm định, đánh giá đề tài trên, HĐKH Sở GD&ĐT Quảng Ninh thống xếp loại: Những người thẩm định: Chủ tịch HĐKH (Ký, ghi rõ họ tên) (Ký, đóng dấu, ghi rõ họ tên) 28 Mẫu SK3 PHIẾU CHẤM ĐIỂM, XẾP LOẠI SÁNGKIẾNKINHNGHIỆM Năm học 200 - 200 (Dành cho người tham gia đánh giá xếp loại SKKN) HỘI ĐỒNG KHOA HỌC Trường (Phòng, Sở) - Đề tài: - Họ tên tác giả: - Đơn vị: - Điểm cụ thể: Phần Nhận xét Điểm người đánh giá xếp loại đề tài tối đa Tên đề tài Đặt vấn đề Cơ sở lý luận Cơ sở thực tiễn Nội dung nghiên cứu Kết nghiên cứu Kết luận 8.Đề nghị 9.Phụ lục 10.Tài liệu tham khảo 11.Mục lục 12.Phiếu đánh giá xếp loại 1 Thể thức văn bản, tả Tổng cộng 20đ 29 Điểm đạt Căn số điểm đạt được, đề tài xếp loại : Người đánh giá xếp loại đề tài: 30