Yêu cầu cần đạt

  • Nêu được ví dụ cụ thể mô tả cấu trúc rẽ nhánh.
  • Sử dụng được cấu trúc rẽ nhánh trong một số chương trình đơn giản.
  • Chạy thử được chương trình.

KHỞI ĐỘNG

Khi chuẩn bị qua đường, em quan sát đèn tín hiệu giao thông dành cho người đi bộ (Hình 83). Em qua đường nếu đèn màu xanh và dừng lại nếu đèn màu đỏ. Việc qua đường, được thực hiện hay không tuỳ thuộc vào màu của đèn tín hiệu, gọi là công việc có cấu trúc rẽ nhánh. Em hãy kể thêm ví dụ về công việc có cấu trúc rẽ nhánh.

Hình 83. A traffic light for pedestrians, showing both red and green lights.

Mèo đổi màu

Một chương trình Scratch điều khiển nhân vật mèo như sau: Khi chạm vào con trỏ chuột, nhân vật đổi từ màu này sang màu khác. 1. Em hãy cho biết điều kiện để mèo đổi màu là gì. 2. Hãy sử dụng cách nói nếu... thì... để mô tả hành động đổi màu của nhân vật. Trong tình huống khởi động, khi thấy đèn dành cho người đi bộ màu xanh, em sẽ đi qua đường. Tình huống này được diễn đạt như sau: Nếu đèn tín hiệu cho người đi bộ màu xanh thì em đi qua đường. Tương tự như vậy, trong Hoạt động 1, nhân vật mèo đổi màu khi nó chạm vào con trỏ chuột. Điều kiện để mèo đổi màu là “chạm vào con trỏ chuột”. Hành động của mèo có thể được mô tả như sau: Nếu chạm con trỏ chuột thì mèo đổi màu. Một công việc được thực hiện hay không được thực hiện tuỳ thuộc vào một điều kiện được thoả mãn hay không gọi là công việc có cấu trúc rẽ nhánh.

Mèo trở về màu vàng

Giả sử kịch bản trong Hoạt động 1 thay đổi như sau: Khi chạm vào con trỏ chuột, nhân vật đổi từ màu này sang màu khác. Khi con trỏ chuột không còn chạm vào mèo, nhân vật trở về màu vàng ban đầu. 1. Em hãy cho biết nhân vật thay đổi như thế nào khi con trỏ chuột không còn chạm vào nó. 2. Hãy sử dụng cách nói nếu... thì... để mô tả hành động của nhân vật trong trường hợp này. Hành động của nhân vật trong Hoạt động 2 có thể được mô tả theo cách nói nếu... thì... bằng hai câu như sau: Nếu chạm con trỏ chuột thì mèo đổi màu. Nếu không chạm con trỏ chuột thì mèo trở về màu ban đầu. Đây là cách mô tả công việc bằng cấu trúc rẽ nhánh dạng thiếu. Hành động của nhân vật trong Hoạt động 2 cũng có thể được mô tả gọn bằng một câu như sau: Nếu chạm con trỏ chuột thì mèo đổi màu nếu không thì mèo trở về màu ban đầu. Đây là cách mô tả công việc bằng cấu trúc rẽ nhánh dạng đủ.

Cấu trúc rẽ nhánh có hai dạng: Cấu trúc rẽ nhánh dạng thiếu: nếu <điều kiện> thì <công việc> Cấu trúc rẽ nhánh dạng đủ: nếu <điều kiện> thì <công việc 1> nếu không thì <công việc 2>

Hãy sử dụng cấu trúc rẽ nhánh dạng đủ và điều kiện “đèn tín hiệu cho người đi bộ màu đỏ" để mô tả hoạt động qua đường của người đi bộ.

2. Các lệnh rẽ nhánh

Scratch có hai lệnh điều khiển cấu trúc rẽ nhánh thuộc nhóm lệnh Điều khiển như trong bảng sau:

Lệnh rẽ nhánh | Ví dụ | Mô tả a) Lệnh nếu... thì... | Điều kiện | Nếu điều kiện "đang chạm con trỏ chuột" được thoả mãn thì thực hiện lệnh "thay đổi hiệu ứng màu...". | nếu <đang chạm con trỏ chuột?> thì <thay đổi hiệu ứng màu một lượng> | Khối lệnh được thực hiện khi điều kiện được thoả mãn | Nơi đặt khối lệnh b) Lệnh nếu... thì... nếu không thì... | Điều kiện | Nếu điều kiện "đang chạm con trỏ chuột" được thoả mãn thì thực hiện lệnh "thay đổi hiệu ứng màu...", nếu không thì thực hiện lệnh "bỏ các hiệu ứng đồ hoạ". | nếu <đang chạm con trỏ chuột?> thì <thay đổi hiệu ứng màu một lượng> nếu không thì <bỏ các hiệu ứng đồ hoạ> | Khối lệnh được thực hiện khi điều kiện được thoả mãn | Khối lệnh được thực hiện khi điều kiện không được thoả mãn | Nơi đặt khối lệnh 1 | Nơi đặt khối lệnh 2

Lưu ý: Điều kiện đang chạm con trỏ chuột? (trong nhóm lệnh Cảm biến) thoả mãn khi con trỏ chuột chạm vào nhân vật. Lệnh thay đổi hiệu ứng màu một lượng 2 (trong nhóm lệnh Hiển thị) được sử dụng để thay đổi màu của nhân vật. Lệnh bỏ các hiệu ứng đồ hoạ (trong nhóm lệnh Hiển thị) huỷ bỏ các hiệu ứng đồ hoạ (trong đó có đổi màu) được sử dụng để trả nhân vật về màu ban đầu của nó.

Trong chương trình có cấu trúc rẽ nhánh, một lệnh hoặc khối lệnh được thực hiện hay không được thực hiện tuỳ thuộc vào điều kiện đúng hay sai.

Đoạn chương trình nào sau đây có cấu trúc rẽ nhánh? A. Khi bấm vào, trang phục kế tiếp, di chuyển 10 bước, đợi 0.5 giây, trang phục kế tiếp, di chuyển 10 bước. B. Khi bấm phím phím trắng, nếu đang chạm con trỏ chuột? thì trang phục kế tiếp, di chuyển 10 bước. C. Khi bấm vào, lặp lại 8, trang phục kế tiếp, di chuyển 10 bước, đợi 0.5 giây.

Hình/bảng: Three Scratch program snippets. A shows sequential blocks. B shows an 'if-then' block. C shows a 'repeat' block.

3. Thực hành sử dụng cấu trúc rẽ nhánh

NHIỆM VỤ

Hãy viết chương trình Mèo đổi màu như ý tưởng được mô tả trong Hoạt động 1: Nhân vật mèo thực hiện lặp liên tục "nếu chạm con trỏ chuột thì đổi màu".

Hướng dẫn

Bước 1: Ghép các lệnh và điều kiện sau thành chương trình thực hiện ý tưởng đã nêu. liên tục nếu thì đang chạm con trỏ chuột? Thay đổi hiệu ứng màu một lượng 3 Lặp để nhân vật thực hiện liên tục khối lệnh bên trong Tại mỗi bước lặp: Nếu nhân vật chạm con trỏ chuột thì thay đổi màu một lượng bằng 3

Bước 2: Chạy chương trình và quan sát kết quả. Bước 3: Lưu chương trình với tên MeoDoiMau vào thư mục của em.

LUYỆN TẬP

Khối lệnh nào sau đây điều khiển nhân vật hành động theo mô tả trong Hoạt động 2? A. nếu <chuột được nhấn?> thì <bỏ các hiệu ứng đồ họa> nếu không thì <thay đổi hiệu ứng màu một lượng 3> B. nếu <đang chạm con trỏ chuột?> thì <bỏ các hiệu ứng đồ họa> nếu không thì <thay đổi hiệu ứng màu một lượng 3> C. nếu <đang chạm con trỏ chuột?> thì <thay đổi hiệu ứng màu một lượng 3> nếu không thì <bỏ các hiệu ứng đồ họa>

Hình/bảng: Three Scratch program blocks (A, B, C) showing different 'if-then-else' structures with conditions like 'chuột được nhấn?' or 'đang chạm con trỏ chuột?' and actions like 'bỏ các hiệu ứng đồ họa' or 'thay đổi hiệu ứng màu một lượng 3'.

VẬN DỤNG

Hãy viết chương trình mèo đổi màu như ý tưởng được mô tả trong Hoạt động 2: Nhân vật mèo thực hiện lặp liên tục "nếu chạm con trỏ chuột thì đổi màu nếu không thì trở về màu ban đầu". Lưu chương trình với tên tệp MeoTroVeMauVang.

Đoạn chương trình nào sau đây có cấu trúc rẽ nhánh?

Hình/bảng: Three Scratch code snippets labeled A, B, C. A: 'Khi bấm vào', 'trang phục kế tiếp', 'di chuyển 10 bước', 'đợi 0.5 giây', 'trang phục kế tiếp', 'di chuyển 10 bước'. B: 'khi bấm phím phím trắng', 'nếu đang chạm con trỏ chuột? thì trang phục kế tiếp', 'di chuyển 10 bước'. C: 'Khi bấm vào', 'lặp lại 8', 'trang phục kế tiếp', 'di chuyển 10 bước', 'đợi 0.5 giây'.

Hướng dẫn

Bước 1: Ghép các lệnh và điều kiện sau thành chương trình thực hiện ý tưởng đã nêu.

Scratch code blocks: 'liên tục', 'nếu ... thì', 'đang chạm con trỏ chuột?', 'thay đổi hiệu ứng màu một lượng 3'.

Bước 2: Chạy chương trình và quan sát kết quả.

Bước 3: Lưu chương trình với tên MeoDoiMau vào thư mục của em.

LUYỆN TẬP

Khối lệnh nào sau đây điều khiển nhân vật hành động theo mô tả trong Hoạt động 2?

Hình/bảng: Three Scratch code snippets labeled A, B, C. A: 'nếu chuột được nhấn thì bỏ các hiệu ứng đồ họa nếu không thì thay đổi hiệu ứng màu một lượng 3'. B: 'nếu đang chạm con trỏ chuột? thì bỏ các hiệu ứng đồ họa nếu không thì thay đổi hiệu ứng màu một lượng 3'. C: 'nếu đang chạm con trỏ chuột? thì thay đổi hiệu ứng màu một lượng 3 nếu không thì bỏ các hiệu ứng đồ họa'.

Xem bản PDF nguyên trang sách: Tin học 5 – Kết nối tri thức với cuộc sống (trang 62–66).