Bài 12: Vòng lặp – Trợ thủ đắc lực trong Scratch

Chào mừng đến với thế giới vòng lặp!

Chào các em học sinh thân mến! Trong lập trình, đôi khi chúng ta cần máy tính thực hiện một hành động lặp đi lặp lại nhiều lần. Thay vì phải viết đi viết lại cùng một đoạn mã, Scratch mang đến cho chúng ta những 'trợ thủ' đắc lực mang tên vòng lặp. Bài học hôm nay sẽ giúp các em làm chủ các loại vòng lặp này để chương trình của chúng ta trở nên thông minh và gọn gàng hơn!

1. Vòng lặp "liên tục" (Forever) – Không ngừng nghỉ!

Vòng lặp "liên tục" là loại vòng lặp đơn giản nhất, nó sẽ khiến các lệnh bên trong được thực hiện mãi mãi, không bao giờ dừng lại (trừ khi chương trình bị dừng).

  • Khối lệnh:

    khi bấm vào cờ xanh
    liên tục
      // Các lệnh sẽ lặp đi lặp lại không ngừng
  • Ứng dụng: Dùng khi muốn nhân vật di chuyển liên tục, thay đổi trang phục liên tục, hoặc kiểm tra liên tục một điều kiện nào đó trong suốt quá trình chạy game.
  • Ví dụ thực tế: Nhân vật "Mèo Scratch" đi bộ hoặc nhảy múa liên tục, phông nền thay đổi màu sắc liên tục, hoặc một quả bóng nảy không ngừng.

2. Vòng lặp "lặp lại ... lần" (Repeat) – Lặp có giới hạn!

Vòng lặp "lặp lại ... lần" cho phép chúng ta chỉ định chính xác số lần mà các lệnh bên trong sẽ được thực hiện. Sau khi lặp đủ số lần, chương trình sẽ thoát khỏi vòng lặp và tiếp tục các lệnh phía sau (nếu có).

  • Khối lệnh:

    lặp lại [số lần]
      // Các lệnh sẽ lặp lại đúng [số lần] đã nhập
  • Ứng dụng: Dùng khi bạn biết trước số lần cần lặp. Ví dụ, vẽ một hình đa giác có số cạnh nhất định, di chuyển nhân vật một quãng đường cố định chia thành nhiều bước nhỏ, hoặc cho nhân vật vỗ tay 5 lần.
  • Ví dụ thực tế: Vẽ một hình vuông (lặp lại 4 lần: di chuyển, xoay), cho nhân vật nhấp nháy 3 lần, hoặc tạo hiệu ứng rung lắc 10 lần.

3. Vòng lặp "lặp lại cho đến khi" (Repeat until) – Chờ đợi điều kiện!

Vòng lặp "lặp lại cho đến khi" sẽ thực hiện các lệnh bên trong liên tục cho đến khi một điều kiện cụ thể trở thành đúng. Ngay khi điều kiện đúng, vòng lặp sẽ dừng lại.

  • Khối lệnh:

    lặp lại cho đến khi [điều kiện]
      // Các lệnh sẽ lặp lại cho đến khi [điều kiện] trở thành đúng
  • Ứng dụng: Dùng khi bạn muốn lặp một hành động cho đến khi một sự kiện nào đó xảy ra. Ví dụ, di chuyển nhân vật cho đến khi chạm vào một vật thể khác, cho nhân vật nói "Đang tìm..." cho đến khi tìm thấy kho báu, hoặc chờ điểm số đạt một ngưỡng nhất định.
  • Ví dụ thực tế: Một viên đạn bay cho đến khi chạm vào kẻ địch, nhân vật chạy cho đến khi chạm vào cạnh màn hình, hoặc một bộ đếm thời gian lặp cho đến khi hết giờ.

4. Tối ưu hóa Code: Vĩnh biệt các lệnh lặp lại thủ công!

Một trong những lợi ích lớn nhất của vòng lặp là giúp chúng ta tránh việc phải viết đi viết lại cùng một đoạn mã. Điều này không chỉ giúp mã lệnh gọn gàng, dễ đọc mà còn dễ dàng chỉnh sửa hơn rất nhiều.

Ví dụ minh họa:

Giả sử bạn muốn nhân vật của mình di chuyển 10 bước rồi đợi 1 giây, hành động này lặp lại 3 lần.

Cách chưa tối ưu (lặp lại thủ công):

di chuyển 10 bước
đợi 1 giây
di chuyển 10 bước
đợi 1 giây
di chuyển 10 bước
đợi 1 giây

Cách tối ưu (dùng vòng lặp Repeat):

lặp lại 3
  di chuyển 10 bước
  đợi 1 giây

Các em thấy không? Đoạn mã tối ưu ngắn gọn hơn rất nhiều, và nếu muốn thay đổi số lần lặp, chúng ta chỉ cần thay đổi một con số duy nhất!

5. Khi nào dùng vòng lặp nào?

  • Vòng lặp "liên tục" (Forever): Dùng khi hành động cần diễn ra liên tục, không bao giờ dừng (trừ khi chương trình kết thúc hoặc bị dừng bởi một lệnh khác).
  • Vòng lặp "lặp lại ... lần" (Repeat): Dùng khi bạn biết chính xác số lần mà hành động cần lặp lại.
  • Vòng lặp "lặp lại cho đến khi" (Repeat until): Dùng khi bạn muốn lặp một hành động cho đến khi một điều kiện cụ thể trở thành đúng. Bạn không biết chính xác số lần lặp, mà phụ thuộc vào điều kiện.

Tổng kết

Các vòng lặp "liên tục", "lặp lại ... lần", và "lặp lại cho đến khi" là những công cụ vô cùng mạnh mẽ trong Scratch, giúp chúng ta tạo ra các chương trình phức tạp và năng động một cách hiệu quả. Bằng cách sử dụng chúng một cách khéo léo, các em có thể biến những ý tưởng sáng tạo thành hiện thực mà không cần tốn quá nhiều công sức viết code.

Bài tập vận dụng:

  • Vẽ hình ngũ giác: Sử dụng vòng lặp "lặp lại ... lần" để nhân vật Mèo Scratch vẽ một hình ngũ giác đều. (Gợi ý: một hình ngũ giác có 5 cạnh, tổng số độ xoay là 360 độ).
  • Đuổi bắt vui nhộn: Tạo hai nhân vật. Một nhân vật di chuyển liên tục. Nhân vật còn lại "đuổi theo" nhân vật kia cho đến khi chạm được vào nhau, sau đó nói "Bắt được rồi!".
  • Hiệu ứng thở: Làm cho nhân vật của em "phóng to" và "thu nhỏ" liên tục để tạo hiệu ứng như đang thở.

Em thấy bài học này thế nào?

Hãy là người đầu tiên đánh giá bài học này!

📞
Gọi Thầy Sáng: 0934.99.58.58