Trình phân tích ngữ nghĩa của trình biên dịch thường phải định giá (evaluate) các biểu thức điều kiện boolean xuất hiện trong lệnh if/while. Cho một biểu thức boolean trên một dòng, gồm:
a OP b, trong đó a,b là số nguyên và OP là một trong == != < <= > >=.NOT (một ngôi), AND, OR (hai ngôi) với độ ưu tiên chuẩn: NOT cao nhất, rồi AND, rồi OR (đều tính từ trái sang phải khi cùng độ ưu tiên).() để nhóm biểu thức con.Hãy thông dịch (định giá) biểu thức và in ra kết quả.
Ví dụ: (3 < 5) AND NOT (2 == 2) OR (7 >= 7) được định giá là (True∧¬True)∨True=True, in ra true.
Một dòng duy nhất chứa biểu thức boolean, các thành phần (số, toán tử so sánh, AND, OR, NOT, dấu ngoặc) cách nhau bởi đúng một khoảng trắng (dấu ngoặc có thể liền với thành phần bên trong). Độ dài dòng không vượt quá 500 ký tự.
In ra true nếu biểu thức đúng, hoặc false nếu sai (chữ thường, không viết hoa).
Ví dụ:
Đầu vào:
3 < 5
Đầu ra:
true
Đầu vào:
NOT (5 == 5)
Đầu ra:
false
Đang tải editor...