JavaScript is required

 Kết quả của phép toán -3*sign(-18.22) +(1>3)and(2>4)+ mod(-11,-5) trong Matlab là:

A.

1

B.

Báo lỗi

C.

6

D.

4

Trả lời:

Đáp án đúng: B


Để giải bài này, ta phải hiểu các hàm và toán tử trong Matlab: * `sign(x)`: Hàm này trả về -1 nếu x < 0, 0 nếu x = 0, và 1 nếu x > 0. Trong trường hợp này, `sign(-18.22)` sẽ trả về -1. * `(1>3) and (2>4)`: `1>3` là sai (false), `2>4` cũng là sai (false). Trong Matlab, `false` được biểu diễn là 0. Vì vậy, `false and false` là 0. * `mod(x, y)`: Hàm này trả về phần dư của phép chia x cho y. `mod(-11, -5)` sẽ trả về -1. Thay thế các giá trị này vào biểu thức ban đầu, ta có: `-3 * sign(-18.22) + (1>3) and (2>4) + mod(-11, -5)` `= -3 * (-1) + 0 + (-1)` `= 3 + 0 - 1` `= 2` Vì không có đáp án nào là 2, nên có lẽ câu hỏi có sự sai sót hoặc các đáp án bị thiếu. Nếu `mod(-11, -5)` được hiểu là `mod(abs(-11), abs(-5))` thì giá trị là `mod(11,5) = 1`. Khi đó, biểu thức sẽ là: `-3 * sign(-18.22) + (1>3) and (2>4) + mod(abs(-11), abs(-5))` `= -3 * (-1) + 0 + 1` `= 3 + 0 + 1` `= 4` Như vậy, đáp án D có thể đúng nếu ta hiểu `mod` theo một cách khác. Tuy nhiên, nếu `mod(-11, -5)` được hiểu chính xác theo Matlab thì không có đáp án nào đúng.

Câu hỏi liên quan