Đáp án và lời giải
Giải SBT Tin 9 KNTT Bài 16: Thực hành: lập chương trình máy tính có đáp án
Câu 1
Hướng dẫn chấm do TopStudy biên soạn, mang tính gợi ý
Chuyển số đo nhiệt độ giữa độ C và độ F

Em có thể tham khảo dự án 940512364 trên trang Scratch trực tuyến theo liên kết: https://scratch.mit.edu/projects/940512364
Câu 2
Hướng dẫn chấm do TopStudy biên soạn, mang tính gợi ý
Các biến đầu vào là a, b, c
Chúng cần được sắp xếp lại để các điều kiện thử từ dạng đơn dễ kiểm tra nhất đến dạng phức tạp nhất giúp đoạn mã được thực hiện ngắn gọn hơn. Việc sắp xếp được thực hiện theo ba bước (từ lớn đến nhỏ hoặc từ nhỏ đến lớn, tùy nhau) như sau:

Bước đầu tiên được thể hiện trong Scratch như Hình 16.2.

Biến v là trung gian giữ hoán đổi hai giá trị a và b.
Sau khi sắp xếp, ta có a < b < c. Việc phân loại tam giác cần tới nhiều lệnh để nhanh. Em có thể ghép các khối lệnh liên hệ nhanh sau vào vị trí phù hợp theo thuật toán ở Câu 15.1b. Để không mất nhiều thời gian cho việc tạo các khối lệnh, em có thể truy cập dự án 940537231 trên trang Scratch trực tuyến.

Câu 3
Hướng dẫn chấm do TopStudy biên soạn, mang tính gợi ý
Bài toán rút gọn phân số được phát biểu như sau:
Đầu vào: hai số nguyên dương a và b.
Đầu ra: hai số nguyên dương c và d, sao cho ab=cd\frac{a}{b} = \frac{c}{d}ba=dc, và c, d nguyên tố cùng nhau.
Để rút gọn phân số thành tối giản, em cần chia cả tử số và mẫu số cho ước chung lớn nhất của chúng. Em có thể viết chương trình tính ước chung lớn nhất của hai số nguyên dương a và b như sách giáo khoa.
Việc nhập giá trị từ số, mẫu số của biến được thực hiện ở khối lệnh trong Hình 16.4a.
Việc tính ước chung lớn nhất của a và b được thực hiện bằng khối lệnh lập trong Hình 16.4b. Sau khi thực hiện khối lệnh, em sẽ có ước chung lớn nhất của số cần lại, nhấn số lại bẳng a + b.
Việc rút gọn chỉ cần lấy a chia và lấy số dư tử số và mẫu số của a và b, so sánh với 0 nên ước đã tìm ra từ trước sẽ không có giá trị cần tối giản trong Hình 16.4c.
Em có thể tham khảo bài tập này ở dự án 940553303 trên trang Scratch trực tuyến.

Câu 4
Hướng dẫn chấm do TopStudy biên soạn, mang tính gợi ý
Số Fibonacci thứ nhất và thứ hai lần lượt bằng 0 và 1. Các số Fibonacci từ thứ ba trở đi được tính bằng một phép lặp. Trong đó:
Trước khi lặp, a và b lần lượt được gán giá trị bằng 0 và 1 là hai số Fibonacci đầu tiên.
Phép lặp được thực hiện với n - 2 bước.
Trong mỗi bước lặp, f được gán bằng a + b, còn a và b được gán bằng hai số Fibonacci gần nhất.
Dự án 940958163 trên trang Scratch trực tuyến thể hiện thuật toán tính số Fibonacci thứ n trong Câu 15.4 sau khi đã được dịch phép gán vào chương trình bằng khối lệnh

![]()
![]()
Câu 5
Hướng dẫn chấm do TopStudy biên soạn, mang tính gợi ý
Việc tính tổng lập phương của n số tự nhiên đầu tiên từ bàn phím được thực hiện như trong Câu 15.5.

Hình 16.5. Những khối lệnh chính tính tổng lập phương của n số tự nhiên đầu tiên
Em có thể tham khảo lời giải bài tập này ở dự án 940987364 trên trang Scratch trực tuyến.
Câu 6
Hướng dẫn chấm do TopStudy biên soạn, mang tính gợi ý
Việc tính tổng các ước của một số nguyên dương n (không kể chính nó) với n được nhập từ bàn phím và cho biết n có phải là số hoàn hảo hay không được thực hiện như mô tả trong Câu 15.6. Khác với khối lệnh trong Câu 15.6, phép lặp chỉ thực hiện n/2 bước và việc cộng dồn các ước (n chia hết cho i) được hoàn thành bằng phép gán.
Em có thể tham khảo lời giải bài tập này ở dự án 941000544 trên trang Scratch trực tuyến.

Câu 7
Hướng dẫn chấm do TopStudy biên soạn, mang tính gợi ý
Chương trình liệt kê các cặp số bạn bè không vượt quá số n cho trước được thực hiện như mô tả trong Câu 15.7. Tuy nhiên, trong Scratch, giá trị tính được từ khối lệnh TongUoc() được lưu trữ bên n và với mỗi số i, việc kiểm tra và in ra cặp số bạn bè có dạng như sau:

Em có thể tham khảo lời giải bài tập này ở dự án 941003216 trên trang Scratch trực tuyến.
Câu 8
Hướng dẫn chấm do TopStudy biên soạn, mang tính gợi ý
Câu 9
Hướng dẫn chấm do TopStudy biên soạn, mang tính gợi ý
Câu 10
Hướng dẫn chấm do TopStudy biên soạn, mang tính gợi ý
Trong chương trình mô phỏng đồng hồ báo kim, hình ảnh mặt đồng hồ có thể được sử dụng làm sân khấu với một kim giờ không chuyển động.
Mỗi phút (60 giây), kim giờ quay 360°/60 = mỗi giây 6°. Chuyển động này được thực hiện bằng các lệnh thay đổi hướng của kim giờ trong Scratch bằng cách lệnh:

Tương tự như trên, kim phút quay 6° mỗi phút, tương đương với 0.1° mỗi giây. Câu lệnh điều khiển giúp kim phút quay một cách mượt mà, không bị đột ngột khi được điều chỉnh bằng cách lệnh thay đổi hướng của kim giờ sau mỗi giây:
![]()
Tương tự như trên với kim giờ nhỏ, mỗi giờ 30° mỗi phút:
Em có thể tham khảo lời giải bài tập này ở dự án 813755610 trên trang Scratch trực tuyến.
![]()
Câu 11
Hướng dẫn chấm do TopStudy biên soạn, mang tính gợi ý
Bài tập này minh họa cho việc xử lí ngôn ngữ gồm dịch giọng nói và văn bản. Em có thể thực hiện với các bước như sau:

Hình 16.8
Sử dụng phần mềm chuyển đổi giọng nói thành văn bản (Speech to Text) và dịch văn bản (Text to Speech) và phần mềm Dịch.
Em có thể khai thác các tính năng này để làm bài thực hành. Để tham khảo lời giải bài này, em có thể truy cập dự án 813527760 trên trang Scratch trực tuyến. Trong dự án đó, em có thể:
Nhập chuỗi văn bản và văn bản chuyển đổi hiển thị bằng tiếng Việt hoặc tiếng Anh.
Nhấp chuột vào nhân loa để phát âm thanh câu tiếng Anh được dịch từ câu tiếng Việt được nhập từ bàn phím.