Sáng kiến kinh nghiệm Dạy bài toán và thuật toán trong Tin học cho học sinh Lớp 10
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.
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.
File đính kèm:
- sang_kien_kinh_nghiem_day_bai_toan_va_thuat_toan_trong_tin_h.docx
Nội dung text: Sáng kiến kinh nghiệm 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 CÁC KÝ HIỆU VIẾT TẮT TRONG SÁNG KIẾN KINH NGHIỆM 2 I. Lời giới thiệu 3 II. Tên sáng kiến: 4 III. Tác giả sáng kiến: 4 IV. Chủ đầu tư tạo ra sáng kiến: 4 V. Lĩnh vực áp dụng sáng kiến: 4 VI. Ngày sáng kiến được áp dụng lần đầu hoặc áp dụng thử: 4 VII. Mô tả bản chất của sáng kiến: 5 1. Bài toán 5 1.1. Khái niệm 5 1.2. Ví dụ xác định INPUT và OUTPUT của các bài toán sau 5 2. Thuật toán 6 2.1. Khái niệm 6 2.2. Phương pháp 6 2.3. Tính chất 6 2.4. Ví dụ 6 2.5. Bài tập vận dụng 26 VIII. Những thông tin cần bảo mật: Không 26 IX. Các điều kiện cần thiết để áp dụng sáng kiến: Học sinh lớp 10 hoặc học sinh mới làm quen với lập trình. 26 X. Đánh giá lợi ích thu được hoặc dự kiến có thể thu được do áp dụng sáng kiến theo ý kiến của tác giả: 26 XI. Danh sách những tổ chức/cá nhân đã tham gia áp dụng thử hoặc áp dụng sáng kiến lần đầu: 28 TÀI LIỆU THAM KHẢO 29 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. BÀI TOÁN Muốn máy tính đưa ra INPUT OUTPUT Output từ Input Muốn viết chương trình CHƯƠNG TRÌNH THUẬT TOÁN CẦN 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 3
- SKKN: Dạy bài toán và thuật toán trong Tin học cho học sinh lớp 10 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à 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 4
- SKKN: Dạy bài toán và thuật toán trong Tin học cho học sinh lớp 10 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ố. 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 (a 0) 5
- 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 CÁC KÝ HIỆU VIẾT TẮT TRONG SÁNG KIẾN KINH NGHIỆM 2 I. Lời giới thiệu 3 II. Tên sáng kiến: 4 III. Tác giả sáng kiến: 4 IV. Chủ đầu tư tạo ra sáng kiến: 4 V. Lĩnh vực áp dụng sáng kiến: 4 VI. Ngày sáng kiến được áp dụng lần đầu hoặc áp dụng thử: 4 VII. Mô tả bản chất của sáng kiến: 5 1. Bài toán 5 1.1. Khái niệm 5 1.2. Ví dụ xác định INPUT và OUTPUT của các bài toán sau 5 2. Thuật toán 6 2.1. Khái niệm 6 2.2. Phương pháp 6 2.3. Tính chất 6 2.4. Ví dụ 6 2.5. Bài tập vận dụng 26 VIII. Những thông tin cần bảo mật: Không 26 IX. Các điều kiện cần thiết để áp dụng sáng kiến: Học sinh lớp 10 hoặc học sinh mới làm quen với lập trình. 26 X. Đánh giá lợi ích thu được hoặc dự kiến có thể thu được do áp dụng sáng kiến theo ý kiến của tác giả: 26 XI. Danh sách những tổ chức/cá nhân đã tham gia áp dụng thử hoặc áp dụng sáng kiến lần đầu: 28 TÀI LIỆU THAM KHẢO 29 1