SKKN: Dạy bài toán và thuật toán trong Tin học cho học sinh lớp 10
lượt xem 10
download
Thuật toán để giải một bài toán là dãy hữu hạn các thao tác được sắp xếp theo một trình tự xác định sao cho sau khi thực hiện dạy thao tác ấy, từ Input của bài toán, ta nhận được Output cần tìm. Để nắm chi tiết hơn về Dạy bài toán và thuật toán mời các bạn cùng tham khảo sáng kiến sau.
Bình luận(0) Đăng nhập để gửi bình luận!
Nội dung Text: SKKN: Dạy bài toán và thuật toán trong Tin học cho học sinh lớp 10
- SKKN: Dạy bài toán và thuật toán trong Tin học cho học sinh lớp 10 MỤC LỤC 1
- SKKN: Dạy bài toán và thuật toán trong 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 nhất SNT Số nguyên tố SX Sắp xếp UCLN Ước chung lớn nhất Đ Đúng S Sai B Bước NXB Nhà xuất bản 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ố trong dấu ngoặc 2
- SKKN: Dạy bài toán và thuật toán trong 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ỷ nguyên công nghệ bùng nổ, không có gì bất ngờ khi công nghệ thông tin luôn giữ vững vị thế là một trong những ngành hàng đầu về nhu cầu nhân lực và tiềm năng phát triển. Vị thế này càng được củng cố trong bối cảnh thế giới và đất nước bước vào thời đại Cách mạng công nghiệp 4.0. Vì thế đòi hỏi mỗi chúng ta dù là học sinh hay giáo viên đều phải tích cực học tập, nghiên cứu để có thể hội nhập được với thời đại. Môn Tin học là môn học giúp các em dễ dàng tiếp cận được với công nghệ, với thế giới. Tuy nhiên nó khá mới mẻ với học sinh THPT đặc biệt là 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 mới chỉ được làm quen với máy tính chứ chưa thực sự có khái niệm về công nghệ thông tin, khái niệm về bài toán và thuật toán trong Tin học. Trong khi đó phần bài toán và thuật toán được học ở lớp 10 là phần kiến thức quan trọng nhất. Là nền tảng cho kiến thức tin học lớp 11. Là cốt lõi cho các em muốn theo học lập trình. Nên rất cần những phương pháp, cách tiếp cận bài toán và thuật toán sao cho học sinh không cảm thấy sợ dẫn đến mất gốc. 3
- SKKN: Dạy bài toán và thuật toán trong Tin học cho học sinh lớp 10 Bài toán và thuật toán trong Tin học khá là quen thuộc với giáo viên. Và sự thật tôi cũng đã làm một sáng kiến kinh nghiệm về phần này cách đây ba năm. Nhưng khi đó tôi thường tập trung vào những thuật toán khó phức tạp mà quên đi việc xây dựng cái nền móng cho học sinh. Từ thực tế giảng dạy nhiều năm tôi nhận thấy học sinh của tôi có biết cách giải bài toán nhưng gặp khó khăn trong việc trình bày bài toán đó bằng phương pháp liệt kê hoặc phương pháp sơ đồ khối. Từ đó, tôi đúc rút được là khi dạy nên để học sinh tiếp cận với những thuật toán dễ từ đó phát triển lên những thuật toán khó thì học sinh dễ tiếp cận hơn và nên có mô phỏng thuật toán bằng các bộ test trong những trường hợp đặc biệt để học sinh hiểu rõ hơn. Không cần quá nặng nề việc phải bám sát trình tự các ví dụ trong sách giáo khoa. Mục đích sáng kiến kinh nghiệm này của tôi là muốn học sinh làm quen dần với các thuật toán từ đơn giản rồi nâng cao dần để học sinh hình thành kỹ năng viết thuật toán thành thạo. Do thời gian và khả năng có hạn nên sáng kiến kinh nghiệm tôi viết vẫn còn nhiều tồn tại. Kính mong đồng nghiệp và học sinh góp ý để sáng kiến kinh nghiệm của tôi được hoàn thiện hơn. Để một phần nào đó giúp ích cho giáo viên và học sinh trong quá trình giảng dạy và học tập. II. Tên sáng kiến: Dạy bài toán và thuật toán trong Tin học cho học sinh lớp 10 III. Tác giả sáng kiến: Họ và tên: Nguyễn Thị Hà Địa chỉ 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 ra sáng kiến: Nguyễn Thị Hà 4
- SKKN: Dạy bài toán và thuật toán trong Tin học cho học sinh lớp 10 V. Lĩnh vực áp dụng sáng kiến: Giảng dạy cho học sinh lớp 10 và học sinh mới học lập trình. VI. Ngày sáng kiến được áp dụng lần đầu hoặc áp dụng thử: Năm 2017 2018 VII. Mô tả bản chất của sáng kiến: 1. Bài toán 1.1. Khái niệm Là việc nào đó mà ta muốn máy tính thực hiện để từ thông tin đưa vào (Input) tìm được thông tin ra (Output). Vậy bài toán trong tin học gồm: Thông tin, dữ liệu vào: Input Thông tin ra, kết quả: Output 1.2. Ví dụ xác định INPUT và OUTPUT của các bài 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 của ba số. 5
- SKKN: Dạy bài toán và thuật toán trong Tin học cho học sinh lớp 10 Input: a, b, c Output: Max (a,b,c) Ví dụ 3: Giải phương trình: ax + b = 0. Input: Hai số nguyên a và b. Output: Kết luận nghiệm của PT. Ví dụ 4: Giải phương trình: ax2 + bx + c = 0 (a0) Input: Số nguyên a, b, c với a0. Output: Kết luận nghiệm của phương trình. 2. Thuật toán 2.1. Khái niệm Thuật toán để giải một bài toán là dãy hữu hạn các thao tác được sắp xếp theo một trình tự xác định sao cho sau khi thực hiện dạy thao tác ấy, từ Input của bài toán, ta nhận được Output cần tìm. 2.2. Phương pháp Có hai phương pháp trình bày thuật toán: * Phương pháp liệt kê: Là nêu trình tự thực hiện các bước giải một bài toán bằng máy tính. * Phương pháp sơ đồ khối: Là sử dụng các hình khối để thể hiện thuật toán với: : Thể hiện nhập hoặc xuất dữ liệu : Phép gán, tính toán : Phép so sánh, kiểm tra : Quy trình thực hiện các thao tác 2.3. Tính chất Tính dừng: Thuật toán phải kết thúc sau một số hữu hạn lần thực hiện các thao tác. Tính xác định: Sau khi thực hiện một thao tác thì hoặc thuật toán kết thúc hoặc có đúng một thao tác được thực hiện tiếp theo. 6
- SKKN: Dạy bài toán và thuật toán trong Tin học cho học sinh lớp 10 Tính đúng đắn: Sau khi thuật toán kết thúc ta phải nhận được Output cần tìm. 2.4. Ví dụ Ví dụ 1: Cho hai số a, b. Trình bày thuật toán tính tổng hai số Lời giải * Cách xác định bài toán 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 là S Phương pháp sơ đồ khối * Mô phỏng thuật toán Với a = 2, b = 3 thì tổng S là 5 Với a = 10, b = 6 thì tổng S là 16 Ví dụ 2: Cho số nguyên N. Trình bày thuật toán kiểm tra tính chẵn lẻ của N. Lời giải 7
- SKKN: Dạy bài toán và thuật toán trong Tin học cho học sinh lớp 10 * Cách xác định bài toán Input: N Output: N là số chẵn hoặc N là số lẻ * Thuật toán Phương pháp liệt kê B1: Nhập N B2: Nếu N chia hết cho 2 thì N là số chẵn B3: Ngược lại N là số lẻ Phương pháp sơ đồ khối * Mô phỏng thuật toán Với N = 4 thì N là số chẵn Với N = 7 thì N là số lẻ Ví dụ 3: Trình bày thuật toán giải phương trình: ax + b = 0 Lời giải * Cách xác định bài toán Input: a, b Output: Kết luận nghiệm của PT * Thuật toán Phương pháp liệt kê B1: Nhập a, b B2: Nếu a = 0 B21: b = 0 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ó 1 nghiệm x := b/a 8
- SKKN: Dạy bài toán và thuật toán trong Tin học cho học sinh lớp 10 Phương pháp sơ đồ khối * Mô phỏng thuật toán Với a = 0, b = 0 thì phương trình vô số nghiệm Với a = 0, b = 1 thì phương trình vô nghiệm Với a = 1, b = 1 thì phương trình có nghiệm x := 1 Ví dụ 4: Trình bày thuật toán giải phương trình: ax2 + bx + c = 0 (a#0) Lời giải * Cách xác định bài toán Input: a, b, c Output: Kết luận nghiệm của 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
- SKKN: Dạy bài toán và thuật toán trong Tin học cho học sinh lớp 10 Phương pháp sơ đồ khối * Mô phỏng thuật toán Với a = 1, b = 2, c = 4 B1: Nhập 1, 2, 4 B2: D := 2*2 – 4*1*4 = 12. B3: D
- SKKN: Dạy bài toán và thuật toán trong Tin học cho học sinh lớp 10 Lời giải * Cách xác định bài toán Input: N; a1, a2, … an Output: Tổng các phần tử của dãy * Thuật toán Phương pháp liệt kê B1: Nhập N; a1, a2, … an B2: S := 0; i := 1 B3: Nếu i > N thì dãy có tổng là S B5: S := S + ai B6: i := i + 1 B7: Quay về B3 Phương pháp sơ đồ khối * Mô phỏng thuật toán 11
- SKKN: Dạy bài toán và thuật toán trong Tin học cho học sinh lớp 10 Với N = 0 thì tổng của dãy là 0 Với N = 3 và dãy số 4, 7, 2 + B1: Nhập 3; 4, 7, 2 + B2: S := 0; i := 1 + B3: 1 > 3 (sai) + B4: S := 0 + 4 + B5: i := 2, quay lại B3 .... Vậy Tổng dãy là 13 Ví dụ 6: Cho dãy có N phần tử a1, a2, … an. Trình bày thuật toán tính tổng các phần tử chẵn của dãy. Lời giải * Cách xác định bài toán Input: N; a1, a2, … an Output: Tổng các phần tử chẵn của dãy * Thuật toán Phương pháp liệt kê B1: Nhập N; a1, a2, … an B2: S := 0; i := 1 B3: Nếu i > N thì dãy có tổng là S B4: Nếu ai 2 thì S := S + ai B5: i := i + 1 B6: Quay về B3 Phương pháp sơ đồ khối 12
- SKKN: Dạy bài toán và thuật toán trong Tin học cho học sinh lớp 10 * Mô phỏng thuật toán Với N = 0 thì tổng của dãy là 0 Với N = 5 và dãy số 6, 5, 7, 8, 9 + B1: Nhập 5; 6, 5, 7, 8, 9 + B2: S := 0; i := 1 + B3: 1 > 5 (sai) + B4: 62 nên S := S + 6 + B5: i := 2, quay lại B3 .... Vậy Tổng dãy là 14 Ví dụ 7: Cho ba số a, b, c. Trình bày thuật toán tìm Max (a, b, c). Lời giải * Cách xác định bài toán Input: a, b, c Output: Max (a, b, c) * Thuật toán Phương pháp liệt kê B1: Nhập a, b, c B2: Gán Max := a B3: Nếu Max
- SKKN: Dạy bài toán và thuật toán trong Tin học cho học sinh lớp 10 B4: Nếu Max
- SKKN: Dạy bài toán và thuật toán trong Tin học cho học sinh lớp 10 Output: Max(a1, a2, … an) * Thuật toán Phương pháp liệt kê B1: Nhập N và các số nguyên a1, a2, ..., aN B2: Max := a1; i := 2; B3: Nếu i > N thông báo giá trị Max rồi kết thúc. B4: Nếu ai > Max thì Max = ai B5: i := i + 1 rồi quay lại B3. Phương pháp sơ đồ khối * Mô phỏng 15
- SKKN: Dạy bài toán và thuật toán trong Tin học cho học sinh lớp 10 Với N = 1; dãy có 1 phần tử 5 B1: Nhập 1; 5 B2: Max := 5 ; i :=2 B3: 2 > 1 (đúng) Vậy GTLN là 5 Với N = 6 và dãy số 5, 1, 4, 7, 8, 2 Dãy số 5 1 4 7 8 2 7 i 2 3 4 5 6 Max 5 5 5 7 8 8 B1: Nhập 6 ; 5, 1, 4, 7, 8, 2 B2: Max := 5 ; i := 2 B3: 2 > 6 (sai) B4: 1 > 5 (sai) B5: i := 3, quay về B3 …… Vậy GTLN là 8 Ví dụ 9: Cho số N nguyên dương. Trình bày thuật toán kiểm tra tính nguyên tố của N. Lời giải * Cách xác định bài toán Input: N là 1 số nguyên dương Output: N là số nguyên tố hay không * Thuật toán - Phương pháp liệt kê B1: Nhập N. 16
- SKKN: Dạy bài toán và thuật toán trong Tin học cho học sinh lớp 10 B2: Nếu N = 1 thì thông báo N không là số nguyên tố. B3: Nếu N = d thì thông báo N là số nguyên tố B6: Nếu N chia hết cho i thì N không là số nguyên tố B7: i := i + 1 quay trở lại B5 Phương pháp sơ đồ khối * Mô phỏng Với N = 1 thì 1 không là số nguyên tố Với N = 2 thì 2 là số nguyên tố Với N = 3 thì 3 là số nguyên tố Với N = 17 B1: Nhập 17 B2: 17 = 1 (sai) B3: 17
- SKKN: Dạy bài toán và thuật toán trong Tin học cho học sinh lớp 10 i 2 3 4 5 N/i 17/2 17/3 17/4 Chia hết không không không không? 17 là số nguyên tố Ví dụ 10: Cho số nguyên dương N. Trình bày thuật toán tính tổng các chữ số của N. Lời giải * Cách xác định bài toán Input: N Output: Tổng các chữ số * Thuật toán - Phương pháp liệt kê B1: Nhập N B2: S := 0 B3: Nếu N = 0 thì đưa ra tổng S B4: S := S + N mod 10 B5: N := N div 10 B5: Quay về B3 Phương pháp sơ đồ khối 18
- SKKN: Dạy bài toán và thuật toán trong Tin học cho học sinh lớp 10 * Mô phỏng Với N = 0 Đưa ra tổng S = 0 Với N = 3265 B1: Nhập 3265 B2: S := 0 B3: 3265 = 0 (Sai) B4: S := 0 + 3265 mod 10 = 0 + 5 B5: N := N div 10 = 326 ..... Đưa ra tổng chữ số là 16 Ví dụ 11: Cho hai số nguyên M và N. Trình bày thuật toán tìm ước chung lớn nhất của hai số. Lời giải * Cách xác định bài 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 thì UCLN là M B3: Nếu M > N thì M := M – N rồi quay lại B2 B4: N := N – M rồi quay lại B2 19
- SKKN: Dạy bài toán và thuật toán trong Tin học cho học sinh lớp 10 Phương pháp sơ đồ khối * Mô phỏng thuật toán Với N = 8; M =8 B1: Nhập 8, 8 B2: 8=8 (đúng) UCLN là 8 Với N = 6, M = 9 B1: Nhập 6, 9 B2: 6 = 9 (sai) B3: 6 > 9 (sai) B4: N := 9 – 6 = 3, quay về B2 ………. UCLN là 3 Ví dụ 12: Cho số nguyên N. Trình bày thuật toán tính tổng các ước của N. Lời giải * Cách xác định bài toán 20
CÓ THỂ BẠN MUỐN DOWNLOAD
-
SKKN: Dạy học thuật toán tìm kiếm nhị phân trong tin học lớp 11 theo phương pháp tinh chế từng bước
34 p | 426 | 84
-
SKKN: Kỹ thuật giảm biến trong bài toán tìm GTNN – GTLN của một biểu thức
25 p | 636 | 82
-
SKKN: Một vài kinh nghiệm về dạy - học loại bài hướng dẫn đọc thêm
12 p | 318 | 45
-
SKKN: Một số kỹ thuật giải và lời bình về phương trình vô tỉ
18 p | 179 | 43
-
SKKN: Nâng cao chất lượng giảng dạy tuyến kiến thức "Giải Toán có lời văn" ở lớp 1
36 p | 61 | 11
-
SKKN: Một số kinh nghiệm trong giảng dạy và ôn thi học sinh giỏi môn Toán bằng tiếng Anh
28 p | 98 | 5
-
SKKN: Sử dụng một số phương pháp dạy học tích cực trong dạy học dự án tích hợp liên môn bài “Bảo vệ chủ quyền lãnh thổ và biên giới quốc gia”
30 p | 58 | 4
-
SKKN: Xây dựng hệ thống công thức giải nhanh toán trắc nghiệm chương I – Giải tích 12
21 p | 47 | 4
-
SKKN: Vận dụng tính chất của tứ diện vuông để giải lớp các bài toán tính khoảng cách trong hình học không gian lớp 11
26 p | 67 | 4
-
SKKN: Sử dụng phương tiện trực quan trong kỷ thuật dạy học tạo tình huống gợi vấn đề nhằm mục đích phát hiện các tính chất, định lý, mệnh đề và tìm lời giải cho các bài toán phần hàm số mũ, logarít
20 p | 58 | 4
-
SKKN: Khắc phục lỗi và rèn kĩ năng diễn tả thuật toán cho học sinh khối 10 thông qua luyện tập về thuật toán
22 p | 65 | 3
-
SKKN: Phát triển năng lực tư duy sáng tạo cho học sinh Trung học phổ thông thông qua một số kỹ thuật giải toán hình học không gian lớp 11
21 p | 74 | 2
-
SKKN: Dạy giải toán bằng MTBT Casio – fx 570 ES
44 p | 40 | 2
Chịu trách nhiệm nội dung:
Nguyễn Công Hà - Giám đốc Công ty TNHH TÀI LIỆU TRỰC TUYẾN VI NA
LIÊN HỆ
Địa chỉ: P402, 54A Nơ Trang Long, Phường 14, Q.Bình Thạnh, TP.HCM
Hotline: 093 303 0098
Email: support@tailieu.vn