Bộ thông dịch biểu thức (expression interpreter) thường làm việc trên dạng hậu tố / hậu tố Ba Lan (Reverse Polish Notation - RPN) vì không cần độ ưu tiên toán tử hay dấu ngoặc.
Cho một biểu thức hậu tố gồm các token cách nhau bởi khoảng trắng. Mỗi token là:
/ là chia lấy phần nguyên kiểu làm tròn xuống (floor division, giống Python //) và \% là phép chia lấy dư tương ứng (giống Python %, luôn cùng dấu với mẫu số).Cho trước giá trị gán cho một số biến. Đề bảo đảm mọi biến xuất hiện trong biểu thức đều đã được gán giá trị. Hãy tính giá trị của biểu thức.
Nếu trong quá trình tính, có một phép / hoặc \% mà toán hạng bên phải (mẫu số) bằng 0, chương trình coi như gặp lỗi và dừng ngay, không cần tính tiếp các phần còn lại.
Ví dụ: biểu thức x y * 2 + với x=5,y=−3 cho kết quả 5×(−3)+2=−13.
tên_biến giá_trị (giá trị là số nguyên, có thể âm)./ hoặc \%) cho 0 trong quá trình tính: in ra DIV0.Ví dụ:
Đầu vào:
x y * 2 +
2
x 5
y -3
Đầu ra:
-13
Đầu vào:
3 4 +
0
Đầu ra:
7
Đang tải editor...