Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 29 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
29
Dung lượng
1,41 MB
Nội dung
SKKN: Dạy toán thuật toán Tin học cho học sinh lớp 10 MỤC LỤC SKKN: Dạy toán thuật toán Tin học cho học sinh lớp 10 CÁC KÝ HIỆU VIẾT TẮT TRONG SÁNG KIẾN KINH NGHIỆM Ký hiệu Ý nghĩa THPT Trung học phổ thơng PT Phương trình VN Vơ nghiệm VSN Vơ số nghiệm GTLN Giá trị lớn SNT Số nguyên tố SX Sắp xếp UCLN Ước chung lớn Đ Đúng S Sai B Bước NXB Nhà xuất Div Phép chia lấy phần nguyên Mod Phép chia lấy phần dư […] Làm tròn giá trị số dấu ngoặc SKKN: Dạy toán thuật toán Tin học cho học sinh lớp 10 BÁO CÁO KẾT QUẢ NGHIÊN CỨU, ỨNG DỤNG SÁNG KIẾN I Lời giới thiệu Trong kỷ ngun cơng nghệ bùng nổ, khơng có bất ngờ công nghệ thông tin giữ vững vị ngành hàng đầu nhu cầu nhân lực tiềm phát triển Vị củng cố bối cảnh giới đất nước bước vào thời đại Cách mạng cơng nghiệp 4.0 Vì đòi hỏi dù học sinh hay giáo viên phải tích cực học tập, nghiên cứu để hội nhập với thời đại Môn Tin học môn học giúp em dễ dàng tiếp cận với công nghệ, với giới Tuy nhiên mẻ với học sinh THPT đặc biệt học sinh trường THPT Nguyễn Viết Xuân với phần đông học sinh thuộc khu vực nông thôn Học sinh làm quen với máy tính chưa thực có khái niệm công nghệ thông tin, khái niệm tốn thuật tốn Tin học Trong phần toán thuật toán học lớp 10 phần kiến thức quan trọng Là tảng cho kiến thức tin học lớp 11 Là cốt lõi cho em muốn theo học lập trình Nên cần phương pháp, cách tiếp cận toán thuật tốn cho học sinh khơng cảm thấy sợ dẫn đến gốc BÀI TOÁN INPUT Muốn máy tính đưa OUTPUT Output từ Input CHƯƠNG TRÌNH Muốn viết chương trình CẦN THUẬT TỐN Bài tốn thuật toán Tin học quen thuộc với giáo viên Và thật làm sáng kiến kinh nghiệm phần cách ba năm Nhưng tơi thường tập trung vào thuật tốn khó phức tạp mà SKKN: Dạy tốn thuật toán Tin học cho học sinh lớp 10 quên việc xây dựng móng cho học sinh Từ thực tế giảng dạy nhiều năm nhận thấy học sinh tơi có biết cách giải tốn gặp khó khăn việc trình bày tốn phương pháp liệt kê phương pháp sơ đồ khối Từ đó, tơi đúc rút dạy nên để học sinh tiếp cận với thuật tốn dễ từ phát triển lên thuật tốn khó học sinh dễ tiếp cận nên có mơ thuật tốn test trường hợp đặc biệt để học sinh hiểu rõ Không cần nặng nề việc phải bám sát trình tự ví dụ sách giáo khoa Mục đích sáng kiến kinh nghiệm tơi muốn học sinh làm quen dần với thuật toán từ đơn giản nâng cao dần để học sinh hình thành kỹ viết thuật tốn thành thạo Do thời gian khả có hạn nên sáng kiến kinh nghiệm tơi viết nhiều tồn Kính mong đồng nghiệp học sinh góp ý để sáng kiến kinh nghiệm tơi hồn thiện Để phần giúp ích cho giáo viên học sinh trình giảng dạy học tập II Tên sáng kiến: Dạy toán thuật toán Tin học cho học sinh lớp 10 III Tác giả sáng kiến: - Họ tên: Nguyễn Thị Hà - Địa tác giả sáng kiến: Hội Hợp – Vĩnh Yên – Vĩnh Phúc - Số điện thoại: 0977 212 636 - E_mail: nguyenthiha.gvnguyenvietxuan@vinhphuc.edu.vn IV Chủ đầu tư tạo sáng kiến: Nguyễn Thị Hà V Lĩnh vực áp dụng sáng kiến: Giảng dạy cho học sinh lớp 10 học sinh học lập trình VI Ngày sáng kiến áp dụng lần đầu áp dụng thử: Năm 2017 - 2018 SKKN: Dạy toán thuật toán Tin học cho học sinh lớp 10 VII Mô tả chất sáng kiến: Bài tốn 1.1 Khái niệm Là việc mà ta muốn máy tính thực để từ thơng tin đưa vào (Input) tìm thơng tin (Output) Vậy tốn tin học gồm: Thơng tin, liệu vào: Input Thơng tin ra, kết quả: Output 1.2 Ví dụ xác định INPUT OUTPUT toán sau Ví dụ 1: Cho hai số a, b Tính tổng hai số Input: a, b Output: Tổng hai số Ví dụ 2: Cho hai số a, b, c Tìm max ba số Input: a, b, c Output: Max (a,b,c) Ví dụ 3: Giải phương trình: ax + b = Input: Hai số nguyên a b Output: Kết luận nghiệm PT SKKN: Dạy toán thuật toán Tin học cho học sinh lớp 10 Ví dụ 4: Giải phương trình: ax2 + bx + c = (a ≠ 0) Input: Số nguyên a, b, c với a ≠ Output: Kết luận nghiệm phương trình Thuật tốn 2.1 Khái niệm Thuật toán để giải toán dãy hữu hạn thao tác xếp theo trình tự xác định cho sau thực dạy thao tác ấy, từ Input toán, ta nhận Output cần tìm 2.2 Phương pháp Có hai phương pháp trình bày thuật tốn: * Phương pháp liệt kê: Là nêu trình tự thực bước giải tốn máy tính * Phương pháp sơ đồ khối: Là sử dụng hình khối để thể thuật toán với: : Thể nhập xuất liệu : Phép gán, tính tốn : Phép so sánh, kiểm tra : Quy trình thực thao tác 2.3 Tính chất - Tính dừng: Thuật tốn phải kết thúc sau số hữu hạn lần thực thao tác - Tính xác định: Sau thực thao tác thuật tốn kết thúc có thao tác thực - Tính đắn: Sau thuật tốn kết thúc ta phải nhận Output cần tìm 2.4 Ví dụ Ví dụ 1: Cho hai số a, b Trình bày thuật tốn tính tổng hai số Lời giải * Cách xác định toán SKKN: Dạy toán thuật toán Tin học cho học sinh lớp 10 - Input: a, b - Output: Tổng hai số * Thuật toán - Phương pháp liệt kê B1: Nhập a, b B2: S := a + b B3: Tổng S - Phương pháp sơ đồ khối * Mô thuật toán - Với a = 2, b = tổng S - Với a = 10, b = tổng S 16 Ví dụ 2: Cho số ngun N Trình bày thuật tốn kiểm tra tính chẵn lẻ N Lời giải * Cách xác định toán - Input: N - Output: N số chẵn N số lẻ * Thuật toán - Phương pháp liệt kê B1: Nhập N Nhập N B2: Nếu N chia hết cho N số chẵn B3: Ngược lại N số lẻ Đ S N số chẵn N số lẻ SKKN: Dạy toán thuật toán Tin học cho học sinh lớp 10 - Phương pháp sơ đồ khối * Mơ thuật tốn - Với N = N số chẵn - Với N = N số lẻ Ví dụ 3: Trình bày thuật tốn giải phương trình: ax + b = Lời giải * Cách xác định toán - Input: a, b - Output: Kết luận nghiệm PT * Thuật toán - Phương pháp liệt kê B1: Nhập a, b B2: Nếu a = B21: b = kết luận PT VSN B22: Ngược lại kết luận PT VN B3: Ngược lại phương trình có nghiệm x := -b/a - Phương pháp sơ đồ khối SKKN: Dạy toán thuật toán Tin học cho học sinh lớp 10 * Mô thuật toán - Với a = 0, b = phương trình vơ số nghiệm - Với a = 0, b = phương trình vơ nghiệm - Với a = 1, b = phương trình có nghiệm x := -1 Ví dụ 4: Trình bày thuật tốn giải phương trình: ax2 + bx + c = (a#0) Lời giải * Cách xác định toán - Input: a, b, c - Output: Kết luận nghiệm PT * Thuật toán - Phương pháp liệt kê B1: Nhập a, b, c B2: D:= b*b - 4*a*c B3: Nếu D < phương trình vơ nghiệm −b B4: Nếu D = phương trình có nghiệm kép x := * a B5: Ngược lại phương trình có hai nghiệm phân biệt −b− D −b+ D 2*a x1 := * a , x2 := - Phương pháp sơ đồ khối SKKN: Dạy toán thuật toán Tin học cho học sinh lớp 10 Đ * Mơ thuật tốn - Với a = 1, b = 2, c = B1: Nhập 1, 2, B2: D := 2*2 – 4*1*4 = -12 B3: D < (đúng) Vậy PT vô nghiệm - Với a = 1, b = 2, c = B1: Nhập 1, 2, B2: D := 2*2 – 4*1*1 = B3: D = (đúng) Vậy PT có nghiệm - Với a =1, b = 3, c = B1: Nhập 1, 3, B2: D := 3*3 – 4*1*2 = B3: D = (sai) Vậy PT có hai nghiệm phân biệt −3− − 3+ x1 := *1 = -2, x2 := *1 = -1 Ví dụ 5: Cho dãy có N phần tử a1, a2, … an Trình bày thuật tốn tính tổng phần tử dãy Lời giải 10 SKKN: Dạy toán thuật toán Tin học cho học sinh lớp 10 B1: Nhập N số nguyên a1, a2, , aN B2: Max := a1; i := 2; B3: Nếu i > N thông báo giá trị Max kết thúc B4: Nếu > Max Max = B5: i := i + quay lại B3 - Phương pháp sơ đồ khối Nhập N; a1, a2, , aN Max := a1; i := i>N Đ GTLN Max S > Max Đ S i := i + * Mô - Với N = 1; dãy có phần tử B1: Nhập 1; B2: Max := ; i :=2 B3: > (đúng) Vậy GTLN - Với N = dãy số 5, 1, 4, 7, 8, 15 Max := SKKN: Dạy toán thuật toán Tin học cho học sinh lớp 10 Dãy số i Max 5 5 7 8 B1: Nhập ; 5, 1, 4, 7, 8, B2: Max := ; i := B3: > (sai) B4: > (sai) B5: i := 3, quay B3 …… Vậy GTLN Ví dụ 9: Cho số N ngun dương Trình bày thuật tốn kiểm tra tính nguyên tố N Lời giải * Cách xác định toán - Input: N số nguyên dương - Output: N số nguyên tố hay khơng * Thuật tốn - Phương pháp liệt kê B1: Nhập N B2: Nếu N = thơng báo N không số nguyên tố B3: Nếu N < thơng báo N số ngun tố B4: Gán i := 2; d := [ N ] (i = d) B5: Nếu i >= d thơng báo N số nguyên tố B6: Nếu N chia hết cho i N khơng số ngun tố B7: i := i + quay trở lại B5 - Phương pháp sơ đồ khối 16 SKKN: Dạy toán thuật toán Tin học cho học sinh lớp 10 * Mô - Với N = khơng số ngun tố - Với N = số nguyên tố - Với N = số nguyên tố - Với N = 17 B1: Nhập 17 B2: 17 = (sai) B3: 17 < (sai) B4: i := 2; d := [ 17 ] = i N/i Chia hết không? 17 số nguyên tố 17/2 17/3 17/4 không không không Ví dụ 10: Cho số ngun dương N Trình bày thuật tốn tính tổng chữ số N Lời giải * Cách xác định toán - Input: N 17 SKKN: Dạy toán thuật toán Tin học cho học sinh lớp 10 - Output: Tổng chữ số * Thuật toán - Phương pháp liệt kê B1: Nhập N B2: S := B3: Nếu N = đưa tổng S B4: S := S + N mod 10 B5: N := N div 10 B5: Quay B3 - Phương pháp sơ đồ khối Nhập N S := N=0 Đ S S := S + N mod 10 N := N div 10 * Mô - Với N = Đưa tổng S = - Với N = 3265 B1: Nhập 3265 B2: S := B3: 3265 = (Sai) B4: S := + 3265 mod 10 = + 18 Đưa tổng chữ số S SKKN: Dạy toán thuật toán Tin học cho học sinh lớp 10 B5: N := N div 10 = 326 Đưa tổng chữ số 16 Ví dụ 11: Cho hai số ngun M N Trình bày thuật tốn tìm ước chung lớn hai số Lời giải * Cách xác định toán - Input: M, N - Output: UCLN (M,N) * Thuật toán - Phương pháp liệt kê B1: Nhập M, N B2: Nếu N = M UCLN M B3: Nếu M > N M := M – N quay lại B2 B4: N := N – M quay lại B2 - Phương pháp sơ đồ khối Nhập N, M M=N Đ M := M -N S M>N S N := N - M * Mơ thuật tốn - Với N = 8; M =8 B1: Nhập 8, B2: 8=8 (đúng) UCLN 19 Đ UCLN M SKKN: Dạy toán thuật toán Tin học cho học sinh lớp 10 - Với N = 6, M = B1: Nhập 6, B2: = (sai) B3: > (sai) B4: N := – = 3, quay B2 ……… UCLN Ví dụ 12: Cho số nguyên N Trình bày thuật tốn tính tổng ước N Lời giải * Cách xác định toán - Input: N - Output: Tổng ước N * Thuật toán - Phương pháp liệt kê B1: Nhập N B2: S := 0; i := 1; d := [N : 2] B3: Nếu i > d đưa tổng S B4: Nếu N i = S := S + i B5: i := i + 1, quay B3 Nhập N - Phương pháp sơ đồ khối S := 0; i := 1; d := [N : 2] i>d Đ 20 Đ S i := i + Đưa tổng S S := S + i SKKN: Dạy toán thuật toán Tin học cho học sinh lớp 10 S * Mô - Với N = B1: Nhập B2: S := 0; i := 1; d := [1 : 2] = B3: > (sai) B4: (đúng) nên S := + Vậy tổng - Với N = 20 B1: Nhập 20 B2: S := 0; i := 1; d := [20 : 2] = 10 B3: 10 > (sai) B4: 10 (đúng) nên S := + …… Vậy tổng 22 Ví dụ 13: Cho N ngun Trình bày thuật tốn tính giai thừa N Lời giải * Cách xác định toán - Input: N - Output: N! * Thuật toán - Phương pháp liệt kê B1: Nhập N 21 SKKN: Dạy toán thuật toán Tin học cho học sinh lớp 10 B2: S := 1; i := B3: Nếu i > N đưa giai thừa N S B4: S := S * i B5: i := i + 1, quay B3 Nhập N - Phương pháp sơ đồ khối S := 1; i := i>N Đ Giai thừa N S S S := S * i i := i + * Mô - Với N = B1: Nhập B2: S := 1; i := B3: > (đúng) Giai thừa - Với N = B1: Nhập B2: S := 1; i := B3: > (sai) B4 : S := * B5: i := 2+1 … Giai thừa 120 Ví dụ 14: Cho N dãy số nguyên a 1, a2, … an Trình bày thuật tốn tìm xếp phần tử dãy theo thứ tự tăng dần * Cách xác định toán - Input: Dãy số nguyên a1, a2, , aN 22 SKKN: Dạy toán thuật toán Tin học cho học sinh lớp 10 - Output: Dãy số xếp * Thuật toán - Phương pháp sơ liệt kê B1: Nhập N dãy a1, a2, , aN B2: Gán giá trị M := N B3: Nếu M M quay lại B3 B7: Nếu > ai+1 tráo đổi ai+1 cho B8: quay lại bước - Phương pháp sơ đồ khối Nhập N; a1, a2, , aN M := N MM S > ai+1 S * Mơ thuật tốn - Với N = 1; dãy có phần tử 23 SKKN: Dạy toán thuật toán Tin học cho học sinh lớp 10 B1: Nhập 1; B2: M := B3: < (đúng) Dãy xếp - Với N = 10; dãy có phần tử 6, 2, 5, 3, 7, 8, 10, 7, 12, B1: Nhập 10; 6, 2, 5, 3, 7, 8, 10, 7, 12, B2: M := 10 B3: 10 < (sai) B4: M := 10 – 1; i := B5: i := B6: > (sai) Ta thực so sánh số với thực đổi chỗ Thực tương tự cho lần duyệt khơng đổi chỗ 24 SKKN: Dạy toán thuật toán Tin học cho học sinh lớp 10 Ví dụ 15: Cho N dãy số nguyên a1, a2, …, an số nguyên K Trình bày thuật tốn cho biết vị trí xuất K dãy * Cách xác định toán - Input: N; Dãy số nguyên a1, a2, , aN; K - Output: Vị trí xuất K K khơng có dãy * Thuật tốn - Phương pháp liệt kê B1: Nhập N dãy a1, a2, , aN; K B2: Gán i := B3: Nếu = K thơng báo vị trí xuất K i B4: i := i + B5: Nếu i > N thơng báo dãy khơng có K B6: Quay B3 Nhập N; a1, a2, an; K - Phương pháp sơ đồ khối i := Đ = k K xuất i S i := i+1 S 25 i>N Đ Không có K dãy SKKN: Dạy tốn thuật toán Tin học cho học sinh lớp 10 * Mơ thuật tốn - Với N = 5; dãy phần tử 6, 7, 2, 5, 8; K =5 B1: Nhập 5; 6, 7, 2, 5, 8; B2: i := B3: = (sai) B4: i := B5: > (sai) B6: Quay B3 ………… Vị trí xuất K 2.5 Bài tập vận dụng Bài 1: Cho dãy có N phần tử a1, a2, … an Trình bày thuật tốn tính tổng phần tử lẻ dãy Bài 2: Cho N dãy số nguyên a1, a2, … an Trình bày thuật tốn tìm Min dãy Bài 3: Cho số nguyên dương N Trình bày thuật tốn tính tích chữ số N Bài 4: Cho số nguyên dương N Trình bày thuật tốn tính tổng ước ngun tố N Bài 5: Cho số N Trình bày thuật tốn kiểm tra N có số phương hay khơng Gợi ý: Số phương số bình phương số tự nhiên 26 SKKN: Dạy toán thuật tốn Tin học cho học sinh lớp 10 Ví dụ: = 22; = 32 … số phương Bài 6: Cho số N Trình bày thuật tốn kiểm tra N có số hồn hảo hay khơng Gợi ý: N gọi số hồn hảo N có giá trị tổng ước (khơng kể nó) Ví dụ: N = 6; N = 28 … Bài 7: Cho N dãy số nguyên a1, a2, … an Trình bày thuật tốn tìm xếp phần tử dãy theo thứ tự giảm dần Bài 8: Cho N dãy số nguyên a1, a2, …, an số ngun K Trình bày thuật tốn đếm số lần xuất K dãy VIII Những thông tin cần bảo mật: Không IX Các điều kiện cần thiết để áp dụng sáng kiến: Học sinh lớp 10 học sinh làm quen với lập trình X Đánh giá lợi ích thu dự kiến thu áp dụng sáng kiến theo ý kiến tác giả: Học sinh học theo nội dung trình bày sáng kiến có nhìn tồn diện hơn, tự tin đối mặt với toán Tin học từ em thích học chủ động tìm hiểu kiến thức Nội dung sáng kiến trình bày logic, phù hợp với trình độ phát triển tư học sinh từ nhận biết, thông hiểu đến vận dụng, nâng cao sáng tạo qua giúp cho học sinh phát triển tư tổng hợp rèn luyện kĩ viết thuật toán Bảng số liệu kết học sinh lớp 10 – khối A trường THPT Nguyễn Viết Xuân năm học 2016 – 2017 chưa thực đề tài: STT Lớp Sỉ số Đạt yêu cầu Không đạt yêu cầu 10A2 36 88% 12% 10A3 10A5 38 38 62.5% 56% 37.5% 44% 27 SKKN: Dạy toán thuật toán Tin học cho học sinh lớp 10 - Khi thực thực nghiệm qua đối tượng học sinh nêu trên, đa số em tránh lỗi thường gặp trình bày thuật tốn - Một số khơng học sinh có tiến rõ rệt trình bày thuật tốn hai phương pháp - Nâng cao việc yêu thích học tin học phận học sinh số em có định hướng nghề nghiệp sau - Bảng số liệu kết đạt học sinh lớp 10 – khối A trường THPT Nguyễn Viết Xuân năm học 2017 – 2018 sau thực đề tài: STT Lớp Sĩ số Đạt yêu cầu Không đạt yêu cầu 10A2 36 95% 05% 10A3 10A5 36 36 88% 80% 22% 20% Bản thân tơi viết đề tài phần rèn luyện cho khả nghiên cứu khoa học, tìm tòi phân tích tổng hợp tài liệu từ nhiều nguồn khác nhau, tăng cường khả tự học, tự bồi dưỡng chuyên môn Sáng kiến kinh nghiệm tài liệu tham khảo thuật toán để trao đổi kinh nghiệm với đồng nghiệp truyền đạt cho học sinh Mặc dù cố gắng nhiều trình viết sáng kiến kinh nghiệm chắn không tránh khỏi sai sót Kính mong q thầy cơ, đồng nghiệp học sinh chân thành góp ý để sáng kiến kinh nghiệm: “Dạy toán thuật toán cho học sinh lớp 10” hoàn thiện trở thành tài liệu hay, hữu ích việc dạy học thuật toán XI Danh sách tổ chức/cá nhân tham gia áp dụng thử áp dụng sáng kiến lần đầu: STT Tên tổ chức/ Cá nhân Lớp 10A2 Địa Trường THPT 28 Phạm vi/ Lĩnh vực áp dụng sáng kiến Lĩnh vực giáo dục – Bộ môn SKKN: Dạy toán thuật toán Tin học cho học sinh lớp 10 Nguyễn Viết Xuân Tin học Trường THPT Lĩnh vực giáo dục – Bộ môn Nguyễn Viết Xuân Tin học Trường THPT Lĩnh vực giáo dục – Bộ môn Nguyễn Viết Xuân Tin học Nguyễn Thị Trường THPT Lĩnh vực giáo dục – Bộ môn Hà Nguyễn Viết Xuân Tin học Lớp 10A3 Lớp 10A5 Vĩnh Tường, ngày 31 tháng 01 năm 2019 Thủ trưởng đơn vị/ Chính quyền địa phương (Ký tên, đóng dấu) ………………., ngày tháng năm 201 CHỦ TỊCH HỘI ĐỒNG SÁNG KIẾN CẤP CƠ SỞ (Ký tên, đóng dấu) Vĩnh Tường, ngày 29 tháng 01 năm 2019 Tác giả sáng kiến (Ký, ghi rõ họ tên) Nguyễn Thị Hà TÀI LIỆU THAM KHẢO Sách giáo khoa tin học 10 – NXB Giáo dục Sách giáo khoa tin học 11 – NXB Giáo dục Giải thuật lập trình – Lê Minh Hồng Một số vấn đề thuật toán – NXB Giáo dục – Tác giả: Nguyễn Hữu Điển Giáo trình thuật tốn kỹ thuật lập trình Pascal – NXB Sở giáo dục đào tạo Hà Nội – Tác giả: Nguyễn Chí Trung 29 ... dạy cho học sinh lớp 10 học sinh học lập trình VI Ngày sáng kiến áp dụng lần đầu áp dụng thử: Năm 2017 - 2018 SKKN: Dạy toán thuật toán Tin học cho học sinh lớp 10 VII Mô tả chất sáng kiến: Bài. .. nghiệp học sinh góp ý để sáng kiến kinh nghiệm tơi hồn thiện Để phần giúp ích cho giáo viên học sinh trình giảng dạy học tập II Tên sáng kiến: Dạy toán thuật toán Tin học cho học sinh lớp 10 III... Và thật làm sáng kiến kinh nghiệm phần cách ba năm Nhưng tơi thường tập trung vào thuật tốn khó phức tạp mà SKKN: Dạy toán thuật toán Tin học cho học sinh lớp 10 quên việc xây dựng móng cho học