Điều khiển#

Giới thiệu#

Các khối điều khiển trong VEXcode AIM quản lý luồng hoạt động của dự án bằng cách xử lý các vòng lặp, điều kiện và trì hoãn việc thực thi các khối.

Vòng lặp là khi máy tính lặp đi lặp lại cùng một bước hoặc một nhóm các bước cho đến khi nhận được lệnh dừng. Điều kiện là một quy tắc mà máy tính kiểm tra để quyết định hành động tiếp theo. Ví dụ, robot có thể di chuyển về phía trước nếu cảm biến phát hiện vật thể.

Dưới đây là danh sách tất cả các khối:

  • chờ — Tạm dừng việc chạy các khối trong một khoảng thời gian cụ thể.

  • chờ cho đến khi — Tạm dừng việc chạy các khối cho đến khi một điều kiện được chỉ định được đáp ứng.

  • lặp lại — Lặp lại một tập hợp các khối một số lần cụ thể.

  • mãi mãi — Lặp lại một tập hợp các khối vô thời hạn.

  • lặp lại cho đến khi — Lặp lại một tập hợp các khối cho đến khi một điều kiện được đáp ứng.

  • while — Lặp lại một tập hợp các khối lệnh trong khi một điều kiện vẫn đúng.

  • if — Chạy một tập hợp các khối nếu một điều kiện đúng.

  • if / else — Chạy một nhóm khối nếu điều kiện đúng, ngược lại chạy nhóm khác.

  • if / else if / else — Chạy các bộ khối khác nhau tùy thuộc vào nhiều điều kiện.

  • break — Thoát khỏi vòng lặp repeat, forever, repeat until, hoặc while ngay lập tức.

  • dừng dự án — Kết thúc dự án.

Chờ đợi#

Khối lệnh wait tạm dừng việc thực thi các khối lệnh khác trong một khoảng thời gian nhất định trước khi chuyển sang khối lệnh tiếp theo.

khối chờ#
chờ (1) giây

Thông số

Sự miêu tả

thời gian

Khoảng thời gian chờ đợi, được thể hiện dưới dạng số nguyên dương hoặc số thập phân tính bằng giây.

Ví dụ

Khi khởi động, nó di chuyển về phía trước trong một giây, sau đó dừng hoàn toàn.#
khi bắt đầu
[Move forward for one second, then stop.]
di chuyển [tiến v]
chờ (1) giây
dừng tất cả chuyển động

đợi cho đến khi#

Khối lệnh chờ cho đến khi tạm dừng việc thực thi các khối lệnh khác cho đến khi một điều kiện cụ thể được đáp ứng trước khi chuyển sang khối lệnh tiếp theo.

đợi cho đến khi khối ngăn xếp#
chờ cho đến khi <>

Thông số

Sự miêu tả

tình trạng

Điều kiện cần phải đáp ứng trước khi chuyển sang phần tiếp theo.

Ví dụ

Khi khởi động, nó sẽ di chuyển về phía trước cho đến khi màn hình được nhấn, sau đó dừng mọi chuyển động.#
khi bắt đầu
[Move forward until screen pressed, then stop.]
di chuyển [tiến v]
chờ cho đến khi <màn hình được nhấn?>
dừng tất cả chuyển động

lặp lại#

Khối C repeat sẽ chạy các khối bên trong nó một số lần nhất định.

lặp lại khối c#
lặp lại [10]
fin

Thông số

Sự miêu tả

lần

Một số nguyên xác định số lần khối lặp lại được thực thi.

Ví dụ

khi bắt đầu
[Move in a square path.]
lặp lại [4]
di chuyển [tiến v] trong [50] [mm v] ▶
quay [phải v] trong [90] độ ▶
fin

mãi mãi#

Khối C vĩnh cửu tiếp tục chạy các khối bên trong nó hết lần này đến lần khác mà không dừng lại.

khối c vĩnh viễn#
mãi mãi
fin

Thông số

Sự miêu tả

Khối này không có tham số.

Ví dụ

Khi khởi động, robot liên tục di chuyển theo quỹ đạo hình vuông bằng cách tiến về phía trước 50 mm và rẽ phải 90 độ trong một vòng lặp vô hạn.#
khi bắt đầu
[Move in a square path forever.]
mãi mãi
di chuyển [tiến v] trong [50] [mm v] ▶
quay [phải v] trong [90] độ ▶
fin

lặp lại cho đến khi#

Khối C repeat until sẽ chạy các khối bên trong nó lặp đi lặp lại cho đến khi điều kiện được chỉ định không được đáp ứng.

lặp lại cho đến khi đạt được khối#
lặp lại cho đến khi <>
fin

Thông số

Sự miêu tả

tình trạng

Một biểu thức hoặc biến được kiểm tra trước mỗi vòng lặp. Nếu nó là Sai, các khối lệnh sẽ tiếp tục lặp lại. Nếu nó là Đúng, vòng lặp sẽ dừng lại.

Ví dụ

Khi khởi động, tất cả đèn LED sẽ giữ màu đỏ cho đến khi nhấn vào màn hình, sau đó chúng sẽ tắt.#
khi bắt đầu
[Repeat until the screen is pressed before turning off the LEDs.]
lặp lại cho đến khi <màn hình được nhấn?>
đặt màu đèn LED [lightall v] thành [đỏ v]
fin
đặt màu đèn LED [lightall v] thành [tắt v]

trong khi#

Khối while C sẽ chạy các khối bên trong lặp đi lặp lại cho đến khi điều kiện được chỉ định được đáp ứng.

trong khi khối c#
trong khi <>
fin

Thông số

Sự miêu tả

tình trạng

Một biểu thức hoặc biến được kiểm tra trước mỗi vòng lặp. Nếu nó là True, các khối lệnh sẽ tiếp tục lặp lại. Nếu nó là False, vòng lặp sẽ dừng lại.

Ví dụ

Khi khởi động, robot di chuyển về phía trước 200 mm đồng thời giữ cho tất cả các đèn LED màu xanh lá cây sáng. Các đèn LED sẽ tắt sau khi chuyển động dừng lại.#
khi bắt đầu
[Keep the LEDs green while the robot is moving.]
di chuyển [tiến v] trong [200] [mm v] ◀ và không chờ
trong khi <đang di chuyển?>
đặt màu đèn LED [lightall v] thành [xanh lá v]
fin
đặt màu đèn LED [lightall v] thành [tắt v]

nếu như#

Khối C if sẽ chạy các khối bên trong nếu điều kiện Đúng.

nếu chặn#
nếu <> thì
fin

Thông số

Sự miêu tả

tình trạng

Một biểu thức hoặc biến được kiểm tra khi câu lệnh được thực thi. Nếu nó là True, các khối lệnh bên trong khối if sẽ được thực thi. Nếu nó là False, các khối lệnh sẽ bị bỏ qua.

Ví dụ

Khi khởi động, robot liên tục kiểm tra xem màn hình có bị nhấn hay không. Nếu bị nhấn, robot sẽ đá một vật thể với lực vừa phải.#
khi bắt đầu
[Kick when the screen is pressed.]
mãi mãi
nếu <màn hình được nhấn?> thì
đá đối tượng [vừa v]
fin
fin

nếu / ngược lại#

Khối C if / else xác định tập hợp các khối nào sẽ được thực thi dựa trên việc điều kiện là Đúng hay Sai.

khối if then else#
nếu <> thì
nếu không
fin

Thông số

Sự miêu tả

tình trạng

Một biểu thức hoặc biến được kiểm tra khi câu lệnh được thực thi. Nếu nó là True, các khối lệnh bên trong khối if sẽ được thực thi. Nếu nó là False, nó sẽ thực thi các khối lệnh bên trong khối else.

Ví dụ

Khi khởi động, chương trình liên tục kiểm tra xem màn hình có bị nhấn hay không. Nếu bị nhấn, sẽ hiển thị biểu tượng cảm xúc hào hứng nhìn về phía trước; ngược lại, sẽ hiển thị biểu tượng cảm xúc chán nản nhìn về phía trước.#
khi bắt đầu
[Show one emoji when the screen is touched and a different one when it's not.]
mãi mãi
nếu <màn hình được nhấn?> thì
hiện [emoji_excited v] nhìn [tiến v]
nếu không
hiện [emoji_bored v] nhìn [tiến v]
fin
fin

nếu / ngược lại nếu / ngược lại#

Khối C mở rộng if / else if / else chọn tập hợp các khối nào sẽ được chạy dựa trên các điều kiện:

  • Khối mã if sẽ được thực thi nếu điều kiện được đánh giá là Đúng.

  • Câu lệnh else if chỉ kiểm tra các điều kiện bổ sung nếu tất cả các điều kiện trước đó đều được đánh giá là Sai. Có thể sử dụng nhiều câu lệnh else if.

  • Khối mã else chỉ được thực thi nếu không có điều kiện nào trong các điều kiện trước đó được đánh giá là Đúng.

khối if else if else#
nếu <> thì
nếu không nếu <> thì
nếu không
fin

Thông số

Sự miêu tả

tình trạng

Một biểu thức hoặc biến được kiểm tra khi câu lệnh được thực thi. Điều kiện đầu tiên được đánh giá là Đúng sẽ kích hoạt tập hợp các khối lệnh đó. Nếu tất cả các điều kiện đều được đánh giá là Sai, các khối lệnh bên trong khối else sẽ được thực thi.

Ví dụ

Khi vị trí trục 1 của bộ điều khiển thay đổi, nó sẽ di chuyển về phía trước nếu được đẩy về phía trước, di chuyển về phía sau nếu được kéo về phía sau và dừng lại khi ở vị trí trung lập.#
khi trục [1 v] tay cầm thay đổi
[Move the robot forward or reverse based on the position of the joystick.]
nếu <(vị trí trục [1 v] tay cầm) [math_greater_than v] [0]> thì
di chuyển [tiến v]
nếu không nếu <(vị trí trục [1 v] tay cầm) [math_less_than v] [0]> thì
di chuyển [lùi v]
nếu không
dừng tất cả chuyển động
fin

phá vỡ#

Khối break thoát khỏi vòng lặp ngay lập tức. Khối này có thể được sử dụng bên trong các khối repeat, repeat until, while và forever. Break hữu ích khi một vòng lặp cần dừng sớm dựa trên một sự kiện nào đó xảy ra trong quá trình thực hiện dự án, chẳng hạn như nhấn nút hoặc cảm biến phát hiện vật thể.

phá vỡ khối ngăn xếp#
thoát vòng lặp

Thông số

Sự miêu tả

Khối này không có tham số.

Ví dụ

Khi khởi động, đèn LED đỏ và xanh sẽ nhấp nháy mỗi 0,5 giây cho đến khi nhấn vào màn hình, sau đó dừng lại.#
khi bắt đầu
[Flash LEDs until the screen is pressed.]
mãi mãi
đặt màu đèn LED [lightall v] thành [đỏ v]
chờ [0.5] giây
đặt màu đèn LED [lightall v] thành [xanh lá v]
chờ [0.5] giây
nếu <màn hình được nhấn?> thì
thoát vòng lặp
fin
fin

dừng dự án#

Khối lệnh dừng dự án sẽ kết thúc một dự án đang chạy.

dừng dự án#
dừng dự án

Thông số

Sự miêu tả

Khối này không có tham số.

Ví dụ

Khi khởi động, đèn LED đỏ và xanh sẽ nhấp nháy mỗi 0,5 giây cho đến khi nhấn vào màn hình, sau đó chương trình sẽ dừng lại.#
khi bắt đầu
[Stop the project once the screen is pressed.]
mãi mãi
đặt màu đèn LED [lightall v] thành [đỏ v]
chờ [0.5] giây
đặt màu đèn LED [lightall v] thành [xanh lá v]
chờ [0.5] giây
nếu <màn hình được nhấn?> thì
dừng dự án
fin
fin