Rõ nét về file powerpoint trình chiếu. => Xem thêm
Ngày soạn:…/…/…
Ngày dạy:…/…/…
BÀI 6. KIỂM THỬ VÀ SỬA LỖI CHƯƠNG TRÌNH
Sau bài học này, HS sẽ:
Năng lực chung:
Năng lực tin học:
III. TIẾN TRÌNH DẠY HỌC
Bước 1: GV chuyển giao nhiệm vụ học tập
- GV đặt câu hỏi: Theo em, tại sao rất ít khi chương trình viết xong có thể chạy được ngay?
Bước 2: HS thực hiện nhiệm vụ học tập
- HS lắng nghe, suy nghĩ và đưa ra câu trả lời dựa trên những hiểu biết của bản thân
Bước 3: Báo cáo kết quả hoạt động và thảo luận
- GV mời 2 - 3 HS trả lời câu hỏi.
- GV ghi nhận tất cả các câu trả lời của HS.
Bước 4: Đánh giá kết quả, thực hiện nhiệm vụ học tập
- GV nhận xét, đánh giá, dẫn dắt vào nội dung bài mới: Để kiểm tra lỗi và gỡ lỗi, chúng ta hãy cùng vào - Bài 6. Kiểm thử và sửa lỗi chương trình.
Hoạt động 1: Nguyên nhân gây lỗi và truy vết lỗi
HOẠT ĐỘNG CỦA GV - HS | DỰ KIẾN SẢN PHẨM |
Bước 1: GV chuyển giao nhiệm vụ học tập - GV yêu cầu đọc hiểu thông tin mục 1 trang 113 SGK, kết hợp với kiến thức đã học ở lớp 10, thảo luận cặp đôi trả lời các câu hỏi sau: 1. Nêu một số lỗi chương trình và nguyên nhân xảy ra các loại lỗi đó. 2. Vì sao người lập trình có thể dễ dàng tìm ra chuỗi dòng lệnh gây lỗi? Bước 2: HS thực hiện nhiệm vụ học tập - HS đọc và tìm hiểu thông tin mục 1 SGK trang 113, thực hiện các nhiệm vụ được giao. - GV hướng dẫn, theo dõi, hỗ trợ HS khi cần. Bước 3: Báo cáo kết quả hoạt động và thảo luận - GV mời đại diện một số nhóm trình bày kết quả thảo luận. - GV mời HS nhóm khác nhận xét, bổ sung. Bước 4: Đánh giá kết quả, thực hiện nhiệm vụ học tập - GV nhận xét kết quả thảo luận của HS, thái độ làm việc của HS trong nhóm. - GV kết luận và yêu cầu HS ghi chép đầy đủ vào vở. | 1. Nguyên nhân gây lỗi và truy vết lỗi a) Các loại lỗi và nguyên nhân - Lỗi cú pháp: nguyên nhân có thể là không nhớ quy định, đánh máy nhầm… - Lỗi thời gian chạy: nguyên nhân thường dó có giá trị không hợp lệ… b) Truy vết lỗi và thông báo lỗi - Vùng soạn thảo các câu lệnh trong môi trường lập trình IDE thường có hiển thị số thứ tự các dòng lệnh, đánh số tăng dần từ 1. - Khi phát sinh một lỗi, chức năng gỡ lỗi sẽ truy vết ngược lùi về phía trên, tìm đến tận gốc, tới dòng có câu lệnh gây lỗi. - Thông báo lỗi in ra danh sách các dòng lệnh truy vết được, ghi kèm số thứ tự dòng lệnh trong văn bản chương trình. |
Hoạt động 2: Chạy thử chương trình
HOẠT ĐỘNG CỦA GV - HS | DỰ KIẾN SẢN PHẨM |
Bước 1: GV chuyển giao nhiệm vụ học tập - GV yêu cầu HS đọc hiểu thông tin mục 2 tr.113 - 114 SGK, thảo luận cặp đôi trả lời câu hỏi: Vì sao phải chạy thử chương trình? - Trên cơ sở kiến thức vừa nêu, GV nhấn mạnh: + Thuật toán sai thì chương trình thực hiện đúng thuật toán đó sẽ cho kết quả sai. Việc phát hiện chương trình còn lỗi và sửa lỗi sẽ không phân biệt đó là lỗi chương trình thực hiện thuật toán hay lỗi của bản thân thuật toán. + Việc kiểm tra thử dù rất nhiều lần cũng chưa chứng minh được chương trình đã hết lỗi. Bước 2: HS thực hiện nhiệm vụ học tập - HS đọc hiểu thông tin mục 2 SGK trang 113 - 114 và thực hiện nhiệm vụ. - GV theo dõi, hỗ trợ HS trong quá trình học tập. Bước 3: Báo cáo kết quả hoạt động và thảo luận - HS giơ tay trả lời câu hỏi. - Các HS còn lại nhận xét, bổ sung (nếu có). Bước 4: Đánh giá kết quả, thực hiện nhiệm vụ học tập - GV nhận xét kết quả trả lời của HS. - GV tổng quát kiến thức và yêu cầu HS ghi chép đầy đủ vào vở. | 2. Chạy thử chương trình - Chạy thử cho phép người lập trình dễ phát hiện lỗi hơn, qua đó kịp thời đưa ra các biện pháp xử lí lỗi. → Hạn chế được rất nhiều rủi ro phát sinh lỗi trong quá trình vận hành. - Tập hợp toàn bộ các trường hợp đầu vào có thể xảy ra của một chương trình thường là vô hạn. - Không thể chạy chương trình với tất cả các đầu vào có thể có. |
Hoạt động 3: Một số kinh nghiệm thực hành gỡ lỗi chương trình
HOẠT ĐỘNG CỦA GV - HS | DỰ KIẾN SẢN PHẨM |
Bước 1: GV chuyển giao nhiệm vụ học tập - GV yêu cầu HS đọc mục 3 tr.114 - 115 SGK, thảo luận cặp đôi trả lời câu hỏi: + Thế nào là một ca kiểm thử? Cho ví dụ. + Nêu các nguyên tắc hướng dẫn “chia để trị” và “Hãy in ra”. - Trên cơ sở lí thuyết vừa nêu, GV yêu cầu HS tiếp tục thảo luận trả lời câu hỏi Hoạt động tr.114: Hãy cho một số ví dụ ca kiểm thử: 1) Chương trình giải phương trình bậc hai. 2) Chương trình tính đếm (tính tổng, tính trung bình cộng…) các số dương trong một mảng số thực. Bước 2: HS thực hiện nhiệm vụ học tập - HS đọc và tìm hiểu nhiệm vụ mục 3 SGK trang 113 - 114, thực hiện các nhiệm vụ được giao. - GV hướng dẫn, theo dõi, hỗ trợ HS khi cần. Bước 3: Báo cáo kết quả hoạt động và thảo luận - GV mời đại diện một số nhóm trình bày kết quả thảo luận: Hướng dẫn trả lời câu hỏi Hoạt động: 1) Chương trình trình giải phương trình bậc hai: các trường hợp có hai nghiệm phân biệt, nghiệm kép, vô nghiệm, với bộ tham số a, b, c cụ thể. 2) Chương trình tính đếm (tính tổng, tính trung bình cộng…) các số dương trong một mảng số thực: các trường hợp mảng có chứa lẫn lộn các số dương, số âm, số không; chỉ có số dương; chỉ có số âm; độ dài mảng bằng 0, bằng 1. - GV mời HS nhóm khác nhận xét, bổ sung. Bước 4: Đánh giá kết quả, thực hiện nhiệm vụ học tập - GV nhận xét kết quả thảo luận của HS, thái độ làm việc của HS trong nhóm. - GV kết luận và yêu cầu HS ghi chép đầy đủ vào vở. | 3. Một số kinh nghiệm thực hành gỡ lỗi chương trình Các ca kiểm thử để phát hiện lỗi chương trình - Một ca kiểm thử là một trường hợp đã cho các đầu vào cụ thể và dự đoán trước kết quả đầu ra đúng yêu cầu của bài toán. - Cần kiểm thử: + Đủ các trường hợp của cấu trúc rẽ nhánh. + Các trường hợp ở đầu mút của một biểu thức điều kiện. + Các trường hợp của cấu trúc lặp có số lần lặp là 0 lần, 1 lần, nhiều lần. Chia dể trị - Kiểm tra và sửa lỗi một đoạn mã lệnh ngắn, từng hàm riêng biệt trước khi chuyển sang phần khác. - Việc tổ chức tách biệt các phần công việc của chương trình là một khía cạnh của phương pháp lập trình theo mô đun. Hãy in ra - Kiểm soát các giá trị các giá trị biến, biểu thức bằng cách in ra; hoặc theo dõi các giá trị biến, biểu thức bằng trình gỡ lỗi được trang bị sẵn trong IDE. |
Hoạt động 4: Tập thói quen tốt khi lập trình để dễ gỡ lỗi
HOẠT ĐỘNG CỦA GV - HS | DỰ KIẾN SẢN PHẨM |
Bước 1: GV chuyển giao nhiệm vụ học tập - GV yêu cầu HS đọc hiểu thông tin mục 4 tr.115: Nêu một số việc làm giúp chương trình ít lỗi và gỡ lỗi dễ dàng hơn. Bước 2: HS thực hiện nhiệm vụ học tập - HS đọc và tìm hiểu nhiệm vụ mục 4 SGK trang 115, thực hiện các nhiệm vụ được giao. - GV hướng dẫn, theo dõi, hỗ trợ HS khi cần. Bước 3: Báo cáo kết quả hoạt động và thảo luận - HS giơ tay trả lời câu hỏi. - GV mời HS khác nhận xét, bổ sung. Bước 4: Đánh giá kết quả, thực hiện nhiệm vụ học tập - GV nhận xét kết quả trả lời của HS. - GV kết luận và yêu cầu HS ghi chép đầy đủ vào vở. | 4. Tập thói quen tốt khi lập trình để dễ gỡ lỗi Nên ghi nhớ và tập dần một số thói quen tốt để giúp chương trình ít lỗi và việc gỡ lỗi dễ dàng hơn: - Không viết các câu lệnh ngay sau khi đọc xong bài toán. - Thiết kế chương trình, chia thành một số hàm. - Chọn đặt tên gợi nhớ cho các hàm và các biến. - Viết chú thích đầy đủ. |
Hoạt động 5: Tổ chức tách biệt các phần của một chương trình
HOẠT ĐỘNG CỦA GV - HS | DỰ KIẾN SẢN PHẨM |
Bước 1: GV chuyển giao nhiệm vụ học tập - GV yêu cầu HS đọc hiểu thông tin mục 5 tr.115 - 116, trả lời các câu hỏi sau: 1. Trình bày định nghĩa hàm để thực hiện thuật toán. 2. Trình bày các câu lệnh để chạy thử phát hiện lỗi. 3. Cho biết việc tổ chức tách biệt các phần công việc đem lại lợi ích gì? Bước 2: HS thực hiện nhiệm vụ học tập - HS đọc và tìm hiểu nhiệm vụ mục 5 SGK trang 115 - 116, thực hiện các nhiệm vụ được giao. - GV hướng dẫn, theo dõi, hỗ trợ HS khi cần. Bước 3: Báo cáo kết quả hoạt động và thảo luận - HS giơ tay trả lời câu hỏi. - GV mời HS khác nhận xét, bổ sung. Bước 4: Đánh giá kết quả, thực hiện nhiệm vụ học tập - GV nhận xét kết quả trả lời của HS. - GV kết luận và yêu cầu HS ghi chép đầy đủ vào vở. | 5. Tổ chức tách biệt các phần của một chương trình Định nghĩa hàm để thực hiện thuật toán - Người lập trình tự định nghĩa một (hay một số) hàm: chọn tên hàm, tên các biến đầu vào và cách trả về kết quả. - Phần thân hàm là kết quả chuyển từ mô tả thuật toán thành câu lệnh của ngôn ngữ lập trình đã chọn. Các câu lệnh để chạy thử phát hiện lỗi Trong chương trình cần có thêm các câu lệnh làm những việc sau: - Gán dữ liệu đầu vào: Một số câu lệnh gán giá trị cho các biến đầu vào. → Dữ liệu đầu vào cũng có thể đọc từ tệp cho trước. - Xuất kết quả đầu ra: Một số câu lệnh in ra màn hình. → Để tiện kiểm tra, đỡ nhầm làn, nên in kèm mô tả đầu ra là gì; có thể in kèm cả dữ liệu đầu vào tương ứng. Lợi ích của việc tổ chức tách biệt các phần công việc - Dễ chạy thử: Các câu lệnh để chạy thử kiểm tra ở các chỗ cần theo dõi giá trị của các biến, việc thực hiện các đoạn chương trình. - Dễ sửa lỗi: Bố cục chương trình có logic rõ ràng, dễ thấy lỗi xảy ra ở việc nào. |
Nâng cấp lên tài khoản VIP để tải tài liệu và dùng thêm được nhiều tiện ích khác