Tên biến giữ giá trị có thể thay đổi
Trong dự án này, `so_canh` là **biến**: nhập 3, 4 hay 5 thì giá trị lưu trong biến đổi. Các số **360** và **900** là hằng trong kịch bản vì chương trình giữ chúng cố định. Biểu thức `360 / so_canh` tính **góc quay ngoài**; `900 / so_canh` tính số bước đi cho mỗi cạnh theo quy ước của ví dụ. Tên biến chỉ nơi lưu dữ liệu, không phải chính giá trị đang lưu.
Bài luyện
Chạy dự án với 4 cạnh, rồi chạy lại với 5 cạnh. Thành phần nào thay đổi giá trị theo lần nhập?
360 được giữ cố định trong ví dụ.
900 được giữ cố định trong ví dụ.
Giá trị của biến nhận số cạnh vừa nhập.
Tên tệp không mang giá trị số cạnh trong chương trình.
Lời giải
`so_canh` là tên biến. Khi nhập số mới, giá trị lưu trong biến đổi; hai hằng 360 và 900 của kịch bản vẫn giữ nguyên.
Một biểu thức dùng được cho nhiều hình
Đa giác đều có `n` cạnh thì lặp **n** lần. Mỗi lần đi `900/n` bước và quay trái `360/n` độ. Với `n = 5`, nhân vật đi 180 bước và quay 72°; sau năm lượt, tổng góc quay bằng 360°. Đây là một **ví dụ chọn độ dài theo n**, không phải công thức tính cạnh của mọi đa giác. Để hình vừa sân khấu Scratch 480 × 360, dự án mẫu bắt đầu ở tọa độ (-150, -120) và chỉ dùng số cạnh từ **3 đến 8**. Nếu thay số cạnh hoặc vị trí ngoài phạm vi ấy, cần kiểm đường vẽ có chạm mép hay không.
Bài luyện
Với `so_canh = 5` trong dự án, một lượt đi bao nhiêu bước và quay bao nhiêu độ?
900/5 = 180 và 360/5 = 72.
Hai kết quả bị đổi chỗ.
900 và 360 là hai số trước khi chia cho số cạnh.
Số cạnh không bằng số bước hoặc góc quay.
Lời giải
Thay `so_canh = 5`: bước đi là 900/5 = 180; góc quay là 360/5 = 72°. Lặp năm lần tạo năm cạnh.
Bài luyện
Muốn dự án vẽ hình đều có 8 cạnh mà không viết lại tám cặp lệnh, nên đặt số lần lặp là gì?
3 chỉ hợp với tam giác trong ví dụ.
360 là tổng góc quay, không phải số cạnh.
Số lần lặp bằng số cạnh đã nhập, tức 8 trong lần chạy này.
900/so_canh là độ dài mỗi bước của ví dụ.
Lời giải
Mỗi lượt tạo một cạnh. Do đó, số lần lặp lấy từ `so_canh`; khi nhập 8 thì vòng lặp chạy tám lượt.
Bài luyện
Nếu nhập `so_canh = 0`, vì sao không nên chạy biểu thức `360/so_canh` như thường?
0 cạnh không phải một đa giác đều cần vẽ.
Biểu thức chia cho 0 không xác định góc quay.
Đổi hằng 360 không giải quyết số cạnh 0.
Độ dài tên biến không phải nguyên nhân.
Lời giải
Công thức góc quay là 360/n và chỉ dùng khi n là số cạnh hợp lệ. Với n = 0, phép chia cho 0 không cho kết quả có nghĩa; bài thực hành giới hạn n từ 3 đến 8.
Thực hành đổi số cạnh
**Nhiệm vụ:** chạy cùng một dự án để vẽ hình 3, 4, 5 và 8 cạnh.
**Dữ liệu:** tệp `g8-da-giac.sb3` của BTVN. Mở bằng Scratch 3 qua **Tệp → Tải từ máy tính**; giao diện tiếng Anh dùng **File → Load from your computer**.
**Trình tự:** nhấn cờ xanh, nhập lần lượt 3, 4, 5, 8. Sau mỗi lần, quan sát biến `so_canh`, số cạnh thực vẽ, điểm khởi đầu và điểm kết thúc. Tính trước `900/n` và `360/n` rồi đối chiếu; lưu bản sao nếu đổi vị trí hoặc độ dài.
**Kết quả mong đợi:** các hình có đúng n đoạn và khép về điểm (-150, -120); góc quay cuối trở lại hướng ban đầu. Nếu hình bị cắt, kiểm số nhập và vị trí bắt đầu. Dự án chỉ đưa ví dụ trong khoảng 3–8, chưa có khối kiểm tra đầu vào; không nhập 0 hoặc số không phải số cạnh hợp lệ.
Đang học