Kết quả của phép toán -2*sign(-1.88) + xor(2 < 5,7 < 5) + mod(-18,-5) trong Matlab là:
>
Trả lời:
Đáp án đúng: C
Phân tích biểu thức:
1. `sign(-1.88)`: Hàm `sign` trả về -1 nếu đối số âm, 0 nếu đối số bằng 0, và 1 nếu đối số dương. Vì -1.88 < 0, nên `sign(-1.88)` trả về -1.
2. `-2 * sign(-1.88)`: Thay giá trị `sign(-1.88)` bằng -1, ta có `-2 * (-1) = 2`.
3. `2 < 5`: Biểu thức này đúng, tương đương với giá trị logic là 1 (true).
4. `7 < 5`: Biểu thức này sai, tương đương với giá trị logic là 0 (false).
5. `xor(2 < 5, 7 < 5)`: Hàm `xor` (exclusive or) trả về 1 nếu chỉ một trong hai đối số là đúng, và 0 nếu cả hai cùng đúng hoặc cùng sai. Trong trường hợp này, `xor(1, 0)` trả về 1.
6. `mod(-18, -5)`: Hàm `mod(a, b)` trả về phần dư của phép chia a cho b. `-18 = -5 * 3 + (-3)`, vậy `mod(-18, -5)` trả về -3.
Kết hợp lại:
`-2 * sign(-1.88) + xor(2 < 5, 7 < 5) + mod(-18, -5) = 2 + 1 + (-3) = 0`
Vậy đáp án đúng là C.





