Giải Tin Học 8 trang 85
Lời giải chi tiết SGK Lớp 8 · Môn Tin Há»c · Trang 85–86
PHẦN LUYỆN TẬP (Trang 84)
Bài tập: Ghép đoạn lệnh với kết quả tương ứng
Đề bài: Em hãy ghép mỗi đoạn lệnh ở hàng trên với kết quả tương ứng mà đoạn lệnh đó vẽ ở hàng dưới trong Bảng 14.1.
Cách giải
Bước 1: Phân tích từng đoạn lệnh
Để vẽ được hình đa giác đều, ta cần biết:
- Số cạnh = số lần lặp lại
- Góc xoay = 360° ÷ số cạnh
Bước 2: Xét từng đoạn lệnh
| Đoạn lệnh | Số lần lặp | Góc xoay | Tính toán | Số cạnh |
|---|---|---|---|---|
| a | 4 | 90° | 360 ÷ 90 = 4 | 4 cạnh |
| b | 5 | 72° | 360 ÷ 72 = 5 | 5 cạnh |
| c | 6 | 60° | 360 ÷ 60 = 6 | 6 cạnh |
| d | 3 | 120° | 360 ÷ 120 = 3 | 3 cạnh |
Bước 3: Ghép với kết quả
- Đoạn lệnh a (lặp 4, xoay 90°) → Vẽ hình có 4 cạnh → Kết quả 2) Hình bốn cạnh
- Đoạn lệnh b (lặp 5, xoay 72°) → Vẽ hình có 5 cạnh → Kết quả 3) Hình năm cạnh
- Đoạn lệnh c (lặp 6, xoay 60°) → Vẽ hình có 6 cạnh → Kết quả 4) Hình sáu cạnh
- Đoạn lệnh d (lặp 3, xoay 120°) → Vẽ hình có 3 cạnh → Kết quả 1) Hình ba cạnh
Đáp án: - a → 2) Hình bốn cạnh (hình vuông) - b → 3) Hình năm cạnh (ngũ giác đều) - c → 4) Hình sáu cạnh (lục giác đều) - d → 1) Hình ba cạnh (tam giác đều)
💡 Mẹo nhớ: Để vẽ đa giác đều n cạnh, góc xoay = 360 ÷ n. Ví dụ: tam giác xoay 120°, vuông xoay 90°, ngũ giác xoay 72°, lục giác xoay 60°.
PHẦN VẬN DỤNG (Trang 85)
Câu 1
Đề bài: Em hãy ghép các khối lệnh a, b, c, d vào các vị trí tương ứng 1, 2, 3, 4 ở Hình 14.8 để được thuật toán giải phương trình ax + b = 0 trong ngôn ngữ lập trình Scratch với các giá trị a, b nhập từ bàn phím.
Cách giải
Bước 1: Phân tích thuật toán giải phương trình ax + b = 0
- Nếu a ≠ 0: Phương trình có nghiệm x = -b/a
- Nếu a = 0:
- Nếu b = 0: Phương trình vô số nghiệm
- Nếu b ≠ 0: Phương trình vô nghiệm
Bước 2: Xác định chức năng từng vị trí trong chương trình
- Vị trí 1: Cần nhập giá trị a và b từ bàn phím
- Vị trí 2: Cần hiển thị kết quả nghiệm của phương trình
- Vị trí 3: Cần xử lý trường hợp a = 0 và b ≠ 0 (vô nghiệm)
- Vị trí 4: Cần xử lý trường hợp a = 0 và b = 0 (vô số nghiệm)
Bước 3: Phân tích các khối lệnh
- Khối a: Hiển thị "Nghiệm của phương trình là: -b/a" → Dùng khi có nghiệm
- Khối b: Hỏi và nhập giá trị a, b từ bàn phím
- Khối c: Kiểm tra điều kiện b ≠ 0, nói "Phương trình vô nghiệm" hoặc "Phương trình vô số nghiệm"
- Khối d: Kiểm tra điều kiện a = 0
Bước 4: Ghép khối lệnh vào vị trí
Đáp án: - Vị trí 1 → Khối b (Hỏi và nhập hệ số a, b) - Vị trí 2 → Khối a (Hiển thị nghiệm x = -b/a) - Vị trí 3 → Khối c (Xử lý trường hợp vô nghiệm/vô số nghiệm) - Vị trí 4 → Khối d (Kiểm tra điều kiện a = 0)
Câu 2
Đề bài: Ước chung lớn nhất của hai số không thay đổi nếu thay số lớn bằng phần dư trong phép chia của nó cho số bé. Dựa trên nhận xét đó, ước chung lớn nhất của hai số không âm có thể được tính theo thuật toán được biểu diễn bằng sơ đồ khối trong Hình 14.9. Em hãy ghép các khối lệnh Scratch trong Hình 14.10 thành chương trình tính ước chung lớn nhất của hai số nguyên không âm.
Cách giải
Bước 1: Phân tích sơ đồ khối (Hình 14.9)
Thuật toán Euclid tìm ƯCLN:
- Nhập hai số a và b
- Lặp lại cho đến khi a × b = 0:
- Nếu a > b: a ← số dư(a : b)
- Ngược lại: b ← số dư(b : a)
- Xuất a + b (vì một trong hai số bằng 0, số còn lại là ƯCLN)
Bước 2: Sắp xếp các khối lệnh theo thứ tự
| Thứ tự | Khối lệnh | Chức năng |
|---|---|---|
| 1 | Khối 7 | Khi bấm vào cờ xanh (bắt đầu chương trình) |
| 2 | Khối 5 | Hỏi "a = " và đợi |
| 3 | Khối 1 | Đặt a thành trả lời (nhập giá trị a) |
| 4 | Khối 6 | Hỏi "b = " và đợi |
| 5 | Khối 2 | Đặt b thành trả lời (nhập giá trị b) |
| 6 | Khối 3 | Lặp lại cho đến khi a × b = 0 |
| 7 | Khối 9 | Nếu a > b thì... nếu không thì... |
| 8 | Khối 1 | Đặt a thành (a chia lấy dư b) |
| 9 | Khối 2 | Đặt b thành (b chia lấy dư a) |
| 10 | Khối 4 | Nói (a + b) trong 5 giây |
| 11 | Khối 8 | Dừng lại tất cả |
Bước 3: Ghép hoàn chỉnh
Đáp án - Thứ tự ghép các khối lệnh: 7 → 5 → 1 → 6 → 2 → 3 → 9 → (1, 2) → 4 → 8 Chi tiết: - Bắt đầu: Khối 7 (Khi bấm vào) - Nhập a: Khối 5 (hỏi a) → Khối 1 (đặt a thành a chia lấy dư b - dùng để gán trả lời) - Nhập b: Khối 6 (hỏi b) → Khối 2 (đặt b thành b chia lấy dư a - dùng để gán trả lời) - Vòng lặp: Khối 3 (lặp lại cho đến khi a × b = 0) - Rẽ nhánh: Khối 9 (nếu a > b thì) - Xuất kết quả: Khối 4 (nói a + b) - Kết thúc: Khối 8 (dừng lại tất cả)
💡 Mẹo nhớ: Thuật toán Euclid tìm ƯCLN: "Lấy số lớn chia số bé, lấy dư thay số lớn, lặp đến khi một số bằng 0".
🎯 Ghi nhớ: - Để vẽ đa giác đều n cạnh trong Scratch: lặp n lần, mỗi lần xoay 360/n độ. - Khi lập trình giải phương trình, cần xét đủ các trường hợp: có nghiệm, vô nghiệm, vô số nghiệm. - Thuật toán Euclid là cách hiệu quả để tìm ƯCLN bằng phép chia lấy dư liên tiếp.
