Mê Cung Toán Tin (RoboMath)

Đột phá lai ghép – Lập trình vi xử lý Robot & Giải mã thanh ghi biến số toán học!

Màn 1
Lập trình cho Robot cập nhật thanh ghi A khớp với Target để mở Cổng Không Gian.
Cổng Yêu Cầu (Target)
20
Thanh Ghi (Reg A)
0
KHAY KỊCH BẢN LẬP TRÌNH:
TẬP LỆNH TOÁN - TIN
BẢNG TRUY VẾT THANH GHI (TRACE TABLE)
Bước Lệnh Tọa độ Reg A
Chưa có dữ liệu chạy

Giáo Trình Máy Trạng Thái Hữu Hạn & Lập Trình Toán Tin

Mê Cung Toán Tin (RoboMath) là trò chơi giáo dục tiên tiến kết hợp giữa hai trụ cột tri thức: Khoa học Máy tínhĐại số Số học. Mô phỏng theo kiến trúc máy tính Von Neumann thực tế, trò chơi trang bị cho Robot một thanh ghi bộ nhớ (Register A) và bộ số học logic (ALU - Arithmetic Logic Unit). Người chơi đóng vai trò là một kỹ sư phần mềm điều khiển Robot vừa giải mã không gian mê cung vừa quản lý chu kỳ tính toán của biến số.

Mô hình Máy Trạng Thái Hữu Hạn (Finite State Machine - FSM): Tại mỗi thời điểm, trạng thái của hệ thống được xác định bởi bộ ba $S = (x, y, \text{RegA}, \theta)$, trong đó $(x, y)$ là tọa độ trong mê cung, $\text{RegA}$ là giá trị trong thanh ghi và $\theta$ là góc hướng nhìn. Mỗi khối lệnh là một hàm chuyển trạng thái $T(S) \to S'$.

1. Cấu Trúc Tập Lệnh & Cơ Chế Thanh Ghi

Khối Lệnh Nhóm Thao Tác Ngữ Nghĩa Số Học & Chuyển Đổi Trạng Thái
Tiến 1 bước (Step) Cơ học (Mechanical) Cập nhật tọa độ $(x, y)$ theo góc $\theta$. Không làm thay đổi giá trị của $\text{RegA}$.
A += Ô Đang Đứng Số học ALU Đọc giá trị phép tính tại ô hiện tại và cập nhật vào thanh ghi: $\text{RegA} \leftarrow \text{RegA} \odot \text{Value}$.
A = A × 2 Toán tử Bit Shift Nhân đôi tức thời giá trị trong thanh ghi $\text{RegA}$ (tương đương phép dịch bit trái `<< 1` trong kiến trúc CPU).
Lặp [Tiến & Tính] Macro Pipeline Kết hợp bước đi và cập nhật biến thành một chuỗi xung nhịp lặp lại liên tục.

2. Phương Pháp Lập Bảng Truy Vết (Trace Table) & Gỡ Lỗi (Debugging)

Trong khoa học máy tính, Bảng Truy Vết (Trace Table) là công cụ nền tảng giúp lập trình viên theo dõi sự biến đổi của các biến nhớ qua từng dòng lệnh được thực thi.

Khi thiết kế kịch bản cho RoboMath:

  • Xác định điểm nút rẽ nhánh (Branching Nodes): Khi giá trị trong thanh ghi $\text{RegA}$ đạt một mốc quan trọng, người chơi quyết định cho Robot rẽ vào nhánh chứa ô cộng dồn hoặc nhánh đi thẳng về Cổng Không Gian.
  • Phát hiện rò rỉ giá trị (State Overflow): Tránh việc lạm dụng lệnh `A = A × 2` khiến giá trị thanh ghi vượt quá giá trị mục tiêu mà không có cách nào giảm trở lại.

3. Câu Hỏi Thường Gặp (FAQ)

❓ Nếu Robot đứng trên ô trống mà thực thi lệnh `A += Ô Đang Đứng` thì sao?
Ô trống có giá trị là 0, do đó giá trị trong thanh ghi A sẽ được giữ nguyên không đổi.
❓ Làm sao để mở được Cổng Không Gian?
Cổng Không Gian được bảo vệ bằng cảm biến toán học, chỉ mở ra khi Robot chạm vào cổng và giá trị trong thanh ghi A trùng khớp 100% với con số mục tiêu (Target).