Giải SBT Tin học 8 cánh diều bài 6 Thực hành tìm và sửa lỗi

Hướng dẫn giải bài 6 Thực hành tìm và sửa lỗi SBT Tin học 8 cánh diều. Đây là vở bài tập nằm trong bộ sách "Cánh diều" được biên soạn theo chương trình đổi mới của Bộ giáo dục. Hi vọng, với cách hướng dẫn cụ thể và giải chi tiết học sinh sẽ nắm bài học tốt hơn.

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

Trả lời:

Những câu sai là 1, 2

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

Trả lời:

Những cách có thể giúp tìm lỗi là 1, 2, 4

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

Trả lời:

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 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.

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 dú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. 

Trả lời:

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.

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 thì xuất hiện phía bên phả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ả.

Trả lời:

Tuỳ theo chương tì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 cloud1 và cloud2 (tương tự ground1 và ground2) 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

 

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 bên.

Từ khóa tìm kiếm: giải sbt tin học 8 cánh diều, giải sbt tin học 8 bài 6, giải sbt tin học 8 bài 6 Thực hành tìm và sửa lỗi

Bình luận

Giải bài tập những môn khác