HOC247 giới thiệu với các em Bài 14. Cấu trúc điều khiển nhằm giúp các em thể hiện được cấu trúc tuần tự, rẽ nhánh và lặp ở chương trình trong môi trường lập trình trực quan. Để biết rõ hơn về nội dung chi tiết, mời các em cùng theo dõi bài học dưới đây
Tóm tắt lý thuyết
1.1. Cấu trúc điều khiển cơ bản
a. Cấu trúc tuần tự
- Dựa trên kịch bản đã xây dựng ở HĐ1 (SGK trang 80), em sẽ từng bước lập chương trình của trò chơi này bằng ngôn ngữ lập trình trực quan.
- Nhận xét rằng, trong trò chơi, chỉ cần sừ dụng hai biến số: số thứ nhất do máy tính lấy ngẫu nhiên, được đặt tên là số bí mật và số thứ hai do người chơi đoán và nhập vào máy tính là trả lời.
- Biến này có sẵn trong Scratch. Để đảm bảo các lệnh đọc, ghi và gán giá trị với hai biến trên hoạt động bình thường, em có thể yêu cầu máy tính gán cho số bí mật một giá trị ngẫu nhiên, sau đó hỏi để nhận vào trả lời một giá trị số từ người chơi, rồi hiển thị hai giá trị đó ra.
- Kịch bản cùa trò chơi được mô tả bằng cấu trúc tuần tự dưới dạng liệt kê bằng ngôn ngữ tự nhiên như Hình a.
- Trong ngôn ngữ lập trình trực quan, cấu trúc tuần tự được thể hiện bằng cách lắp ghép các khối lệnh thành phần theo đúng trình tự của các hoạt động, từ trên xuống dưới, như Hình b.
b. Cấu trúc rẽ nhánh
- Sau khi đảm bảo các biến đã hoạt động đúng, em có thể thay thế các thao tác hiển thị trên bảng thao tác so sánh hai số và cho biết giá trị của biến trả lời bằng, thấp hơn hay cao hơn giá trị của biến số bí mật.
+ Nếu trả lời bàng số bí mật thì thông báo: “HOAN HÔ!”.
+ Nếu trả lời nhỏ hơn số bí mật thì thông báo: “Quá thấp”.
+ Nếu trả lời lớn hơn số bí mật thì thông báo: “Quá cao”.
Nhận xét: Ba trường hợp “bằng”, “nhỏ hơn” và “lớn hơn” loại trừ lẫn nhau nên không cần kiểm tra cả ba trường hợp đó mà chỉ cần kiểm tra hai lần.
- Thuật toán so sánh hai giá trị trả lời và số bí mật có thể được mô tả dưới dạng cấu trúc rẽ nhánh như trong Hình a dưới đây bằng ngôn ngữ tự nhiên.
- Khoảng cách lề trong bản mô tả nhăm xác định hướng thực hiện mệnh lệnh sau mỗi lần kiểm tra. Sơ đồ của thuật toán này được cho trong Hình b dưới đây.
- Trong ngôn ngữ lập trình trực quan, cấu trúc rẽ nhánh được thể hiện bằng khối lệnh chứa một điều kiện hay một biểu thức lôgic.
- Tuỳ tình huống, điều kiện này nhận giá trị đúng hay sai, chương trình sẽ định hướng đến khối lệnh tiếp theo để máy tính thực hiện.
- Hình c dưới đây mô tả đoạn chương trình Scratch so sánh giá trị hai biến trà lời và số bí mật để hiển thị thông báo tương ứng.
c. Cấu trúc lặp
- Trong trò chơi, việc đoán số không chì được thực hiện một lần mà được người chơi thực hiện lặp lại cho đến khi đoán đúng số bí mật.
- Mỗi khi người chơi đoán sai, máy tính hỏi lại và câu trả lời mới lại được đem ra so sánh với số bí mật.
Lưu ý: Việc lặp lại chỈ thực hiện khi người chơi đoán sai. Điều đó cũng có nghĩa rằng người chơi đoán đúng là điều kiện kết thúc vòng lặp.
- Thuật toán được mô tả bằng cấu trúc lặp như trong Hình a và được thể hiện trong ngôn ngữ lập trình trực quan bằng khối lệnh “lặp cho đến khi” (Hình d).
- Trong ngôn ngữ lập trình Scratch, có ba khối lệnh lặp, bao gồm: lặp với số lần định trước (Hình b), lặp vô hạn (Hình c), và lặp có điều kiện kết thúc (Hình d).
1.2. Thực hành: Xây dựng trò chơi đếm số
Nhiệm vụ
Lập chương trình trò chơi đoán số như đã được mô tả trong HĐ1 (SGK trang 80).
Hướng dẫn
Bước 1. Tạo các biến
- Tạo biển số bí mật. Em có thể tạo biển mới hoặc đổi tên biển có sẵn "my variable" thành “số bí mật”.
- Biển trả lời đã có sẵn trong nhóm lệnh "Cảm biến".
Bước 2. Tạo khung chương trình gồm 6 khối lệnh lắp ghép với nhau theo cấu trúc tuần tự, từ trên xuống dưới. Mỗi khối lệnh được kéo từ các nhóm tương ứng như được chỉ dẫn trong hình trên, thả vào vùng kịch bản.
Bước 3. Tạo các biểu thức
- Chọn phép toán và điền các giá trị tương ứng để có biểu thức lấy ngẫu nhiên từ 1 đến 100".
- Chọn phép so sánh "=" và lập các biến vào chỗ trống để có biểu thức lôgic "trả lời = số
bí mật".
- Lắp ghép các biểu thức trên vào vị trí phù hợp trong khung chương trình (Hình a).
Bước 4. Tạo khối lệnh rẽ nhánh
- Tương tự như bước 2 và bước 3 để tạo khối lệnh rẽ nhánh với điều kiện “trả lời < số bí mật".
- Chọn từ nhóm “Cảm biến" các khối lệnh "hỏi" và lấp vào vị trí phù hợp như Hình b.
Bước 5. Hoàn thành chương trình
- Lắp khối lệnh rẽ nhánh vào khung chương trình đề được chương trình hoàn chỉnh.
- Đối sánh thuật toán được mô tả dưới dạng sơ đồ với chương trình hoàn chỉnh như hình dưới.
Bài tập minh họa
Khi nào trong mô tả thuật toán ta cần dùng cấu trúc lặp? Nếu em đã từng tạo chương trình Scratch có thể hiện cấu trúc lặp thì đó là tình huống nào?
Hướng dẫn giải:
Trong mô tả thuật toán ta cần dùng cấu trúc lặp khi thể hiện một số lệnh được thực hiện lặp đi lặp lại với số lần có thể biết trước hoặc không biết trước.
Tình huống: Tính tổng các số từ 1 đến 10.
3. Luyện tập Bài 14 Tin học 8 Kết nối tri thức
Sau khi học xong bài học này, các em sẽ: Thể hiện được cấu trúc tuần tự, rẽ nhánh và lặp ở chương trình trong môi trường lập trình trực quan
3.1. Trắc nghiệm Bài 14 Tin học 8 Kết nối tri thức
Các em có thể hệ thống lại nội dung kiến thức đã học được thông qua bài kiểm tra Trắc nghiệm Tin học 8 Kết nối tri thức Bài 14 cực hay có đáp án và lời giải chi tiết.
Câu 4- 10: Mời các em đăng nhập xem tiếp nội dung và thi thử Online để củng cố kiến thức về bài học này nhé!
3.2. Bài tập Bài 14 Tin học 8 Kết nối tri thức
Các em có thể xem thêm phần hướng dẫn Giải bài tập Tin học 8 Kết nối tri thức Bài 14 để giúp các em nắm vững bài học và các phương pháp giải bài tập.
Hoạt động 1 trang 80 SGK Tin học 8 Kết nối tri thức - KNTT
Câu hỏi trang 82 SGK Tin học 8 Kết nối tri thức - KNTT
Luyện tập trang 84 SGK Tin học 8 Kết nối tri thức - KNTT
Vận dụng 1 trang 85 SGK Tin học 8 Kết nối tri thức - KNTT
Vận dụng 2 trang 85 SGK Tin học 8 Kết nối tri thức - KNTT
4. Hỏi đáp Bài 14 Tin học 8 Kết nối tri thức
Trong quá trình học tập nếu có thắc mắc hay cần trợ giúp gì thì các em hãy comment ở mục Hỏi đáp, Cộng đồng Tin học HOC247 sẽ hỗ trợ cho các em một cách nhanh chóng!
Chúc các em học tập tốt và luôn đạt thành tích cao trong học tập!
-- Mod Tin Học 8 HỌC247