Bài 6. Thực hành tìm và sửa lỗi SBT

Thực hành tìm và sửa lỗi SBT 8 trang 59 Tin Học lớp 8 – Cánh Diều, mời các em tham khảo cùng Bumbii.

Chủ đề F. Giải quyết vấn đề với sự trợ giúp của máy tính. Bài 6. Thực hành tìm và sửa lỗi.

Câu F26

Trong các câu dưới đây, những câu nào sai?

1) Chỉ có chương trình trong ngôn ngữ lập trình Scratch mới cần chạy thử để tìm lỗi, sửa lỗi.

2) Chỉ cần chạy thử chương trình với một bộ dữ liệu là đủ để biết chương trình có lỗi hay không.

3) Khi tách chương trình thành từng đoạn chương trình nhỏ, nếu mỗi đoạn nhỏ không có lỗi thì toàn bộ chương trình không có lỗi, bởi vậy chỉ cần chạy thử từng đoạn nhỏ đã tách ra để tìm lỗi.

4) Quan sát kết quả của các biến trong quá trình chạy chương trình có thể giúp tìm ra lỗi của chương trình.

Đáp án: Phương án 1, 2.

Các phương án sai:

1) Chỉ có chương trình trong ngôn ngữ lập trình Scratch mới cần chạy thử để tìm lỗi, sửa lỗi.

2) Chỉ cần chạy thử chương trình với một bộ dữ liệu là đủ để biết chương trình có lỗi hay không.

Câu F27

Trong các cách dưới đây, những cách nào có thể giúp tìm lỗi một chương trình Scratch?

1) Đọc lại chương trình để hiểu từng lệnh, từng đoạn lệnh nhằm thực hiện gì.

2) Đổi tên các biến dùng trong chương trình.

3) Chạy thử từng đoạn chương trình thực hiện một phần việc tương đối trọn vẹn, độc lập để tìm lỗi cho đoạn chương trình đó.

4) Thêm một số câu lệnh Wait… để có thể quan sát được rõ hơn các kết quả trung gian trong quá trình thực hiện chương trình.

Đáp án: Phương án 1, 2, 4.

Các cách có thể giúp tìm lỗi một chương trình Scratch:

1) Đọc lại chương trình để hiểu từng lệnh, từng đoạn lệnh nhằm thực hiện gì.

2) Đổi tên các biến dùng trong chương trình.

4) Thêm một số câu lệnh Wait… để có thể quan sát được rõ hơn các kết quả trung gian trong quá trình thực hiện chương trình.

Câu F28

Chương trình ở Hình 1 được tạo ra để tính tổng các số nguyên chẵn trong phạm vi từ 1 đến 500. Em cho biết chương trình có lỗi hay không? Nếu có lỗi thì lỗi ở đâu và em hãy sửa lại cho đúng.

Hình 1. Chương trình tính tổng các số nguyên chẵn

Đáp án:

Chương trình chạy thử cho kết quả tổng bằng 0, vậy chắc chắn chương trình có lỗi.

Lỗi mỗi làn tăng số lên 2 đơn vị: Nếu số trước là số chẵn thì tăng 2 đơn vị sẽ được số chẵn tiếp theo cần cộng vào. Tuy nhiên, khi khởi trị (gán giá trị đầu tiên) lại là số 1, do vậy cứ liên tục cộng thêm 2 thì không được số nào là số chẵn cả.

Có thể cải tiến thêm để chương trình chạy đúng mà ngắn gọn hơn: Số trước là số chẵn thì tăng 2 đơn vị sẽ được số chẵn tiếp theo cần cộng vào, như vậy không cần kiểm tra số cộng vào có là số chẵn hay không trước khi cộng thêm cho tổng.

Câu F29

Bạn Hoa muốn nhân vật Mèo Scratch ở chính giữa sân khấu, rồi dịch chuyển sang phía bên phải sân khấu và lớn lên. Tuy nhiên, chương trình chỉ thể hiện đúng như vậy khi chạy lần đầu tiên, đến khi Hoa nháy chuột vào lá cờ xanh lần thứ hai, thì chương trình không chạy như mong muốn nữa? Em hãy thử tìm nguyên nhân và sửa lỗi cho bạn Hoa.

Hình 2. Chương trình nhân vật Mèo

Đáp án:

Sau lần chạy thứ nhất, nhân vật Mèo ở vị trí bên phải sân khấu (150; 0), do vậy khi chạy chương trình lần thứ hai thì nhân vật Mèo từ vị trí (150) chuyển về vị trí (40; 0), tức là không còn di chuyển theo chiều sang bên phải sân khấu như kịch bản quy định. Sửa lỗi này chỉ cần đặt lại vị trí cho nhân vật Mèo ở đầu chương trình. Cũng nên đặt kích thước cho nhân vật Mèo để tránh trường hợp qua nhiều lần chạy chương trình thì nhân vật Mèo ở kích thước quá lớn, chiếm hết màn hình.

Câu F30

Với việc tạo trò chơi Dino, qua các Bài F19, F20, F24, F25 em đã tạo các chương trình điều khiển:

– Khủng long chạy liên tục, khi người chơi nhấn phím space thì nhảy lên để tránh chạm vào catus.

ground1, ground2 chạy ngược chiều khủng long khi chạy đến giới hạn phía bên trái sân khấu thì xuất hiện phía bên phải sân khấu.

– Catus chạy liên tục ngược chiều khủng long khi chạy đến giới hạn phía bên trái sân khấu. Khi catus chạm khủng long thì nhắn tin cho đối tượng GameOver để đối tượng này xuất hiện và trò chơi dừng lại.

Hãy kiểm tra lại công việc theo sơ đồ ở Bài F19, hoàn thiện chương trình, tìm lỗi và sửa lỗi (nếu có) để được trò chơi như mô tả.

Đáp án:

Tuỳ theo chương trình học sinh tạo ra, đã có chương trình đáp án cho từng nhân vật ở các Bài F19, F20, F24, F25.

Học sinh có thể tạo thêm chương trình cho nhân vật cloud1cloud2 (tương tự ground1ground2) hoặc không, có thể thêm phần tính điểm (thời gian khủng long chạy) hoặc không.

Chương trình cho cloud1, cloud2

Vị trí ban đầu của cloud1

Vị trí ban đầu của cloud2

Chương trình điều khiển nhân vật GameOver

Trong chương trình điều khiển khủng long, có thể thêm phần tính điểm (thời gian chạy của khủng long) như hình dưới đây.

Chương trình tính điểm

Xem các bài giải khác tại Giải sách bài tập tin học lớp 8 – Cánh Diều

Thông tin liên hệ & mạng xã hội:
Website: https://bumbii.com/
Facebook: https://www.facebook.com/bumbiiapp
Pinterest: https://www.pinterest.com/bumbiitech

0 0 đánh giá
Article Rating
Theo dõi
Thông báo của
guest

0 Bình luận
Phản hồi nội tuyến
Xem tất cả bình luận
0
Cùng chia sẻ bình luận của bạn nào!x