JavaScript is required

Cho một đoạn giả mã như sau. Repeat

………………

Until ((x< >0) and (y>0) or (not ((w>0) and (t=3));

Hãy cho biết với bộ giá trị nào dưới đây thì vòng lặp dừng?

A.

x = 7, y = 2, w = 5, t = 3

B.

x = 0, y = 2, w = -3, t = 3

C.

x = 0, y = -1, w = 1, t = 3

D.

x = 1, y = -1, w = 1, t = 3

Trả lời:

Đáp án đúng: A


Để vòng lặp dừng, điều kiện `((x <> 0) and (y > 0) or (not ((w > 0) and (t = 3))))` phải đúng. * **Phương án A:** x = 7, y = 2, w = 5, t = 3 * `(x <> 0)` là `true` (7 <> 0) * `(y > 0)` là `true` (2 > 0) * `(w > 0)` là `true` (5 > 0) * `(t = 3)` là `true` (3 = 3) * `((w > 0) and (t = 3))` là `true` * `not ((w > 0) and (t = 3))` là `false` * `((x <> 0) and (y > 0))` là `true` * `((x <> 0) and (y > 0) or (not ((w > 0) and (t = 3))))` là `true`. Vậy vòng lặp dừng. * **Phương án B:** x = 0, y = 2, w = -3, t = 3 * `(x <> 0)` là `false` (0 <> 0) * `(y > 0)` là `true` (2 > 0) * `(w > 0)` là `false` (-3 > 0) * `(t = 3)` là `true` (3 = 3) * `((w > 0) and (t = 3))` là `false` * `not ((w > 0) and (t = 3))` là `true` * `((x <> 0) and (y > 0))` là `false` * `((x <> 0) and (y > 0) or (not ((w > 0) and (t = 3))))` là `true`. Vậy vòng lặp dừng. * **Phương án C:** x = 0, y = -1, w = 1, t = 3 * `(x <> 0)` là `false` (0 <> 0) * `(y > 0)` là `false` (-1 > 0) * `(w > 0)` là `true` (1 > 0) * `(t = 3)` là `true` (3 = 3) * `((w > 0) and (t = 3))` là `true` * `not ((w > 0) and (t = 3))` là `false` * `((x <> 0) and (y > 0))` là `false` * `((x <> 0) and (y > 0) or (not ((w > 0) and (t = 3))))` là `false`. Vậy vòng lặp không dừng. * **Phương án D:** x = 1, y = -1, w = 1, t = 3 * `(x <> 0)` là `true` (1 <> 0) * `(y > 0)` là `false` (-1 > 0) * `(w > 0)` là `true` (1 > 0) * `(t = 3)` là `true` (3 = 3) * `((w > 0) and (t = 3))` là `true` * `not ((w > 0) and (t = 3))` là `false` * `((x <> 0) and (y > 0))` là `false` * `((x <> 0) and (y > 0) or (not ((w > 0) and (t = 3))))` là `false`. Vậy vòng lặp không dừng. Vậy đáp án đúng là A và B. Vì câu hỏi chỉ yêu cầu chọn một đáp án nên có vẻ câu hỏi hoặc các đáp án chưa chính xác. Tuy nhiên, theo phân tích trên, đáp án A đúng trước.

Câu hỏi liên quan