Sách bài tập Tin học 8 Bài 6: Thực hành tìm và sửa lỗi
Câu F26 trang 59 SBT Tin học 8: 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
Lời giải:
Những câu sai là 1, 2
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
Lời giải:
Những cách có thể giúp tìm lỗi là 1, 2, 4
Lời giả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.
Câu F29 trang 60 SBT Tin học 8: 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.
Lời giả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.
- 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ả.
Lời giả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.
Xem thêm các bài giải SBT Tin học 8 Cánh diều hay, chi tiết khác:
Bài 4: Thể hiện cấu trúc rẽ nhánh trong chương trình
Bài 5: Thể hiện cấu trúc lặp trong chương trình