JavaScript is required

Tìm kết quả của đoạn lệnh sau?

A.

Đoạn lệnh đưa ra thông báo “Số lớn nhất là số thứ 3”

B.

Đoạn lệnh đưa ra thông báo “Chưa tìm thấy số lớn nhất”

C.

C.Đoạn lệnh bị lỗi ở dòng số 14

D.

Đoạn lệnh bị lỗi ở dòng số 9

Trả lời:

Đáp án đúng: A


Đoạn lệnh này có vài lỗi sai cú pháp. Cụ thể: * Dòng 2: `n := 3;` Phải sửa thành `n = 3;` hoặc `n := 3;` (tùy theo ngôn ngữ Pascal hoặc ngôn ngữ khác). * Dòng 3, 4, 5: `a[1] := 10; a[2] := 5; a[3] := 15;` Không có vấn đề nếu `a` là mảng đã được khai báo. * Dòng 6: `max := a[1];` Không có vấn đề. * Dòng 7: `vitri := 1;` Không có vấn đề. * Dòng 8: `for i := 2 to n do` Không có vấn đề. * Dòng 9: `if a[i] > max then` Không có vấn đề. * Dòng 10: `max := a[i];` Không có vấn đề. * Dòng 11: `vitri := i;` Không có vấn đề. * Dòng 13: `if max > 0 then` Không có vấn đề. * Dòng 14: `write('Số lớn nhất là số thứ ', vitri);` Không có vấn đề. * Dòng 16: `write('Chưa tìm thấy số lớn nhất');` Không có vấn đề. Vì có lỗi ở dòng 2 nên đoạn code bị lỗi ngay từ đầu. Tuy nhiên, trong các đáp án thì đáp án phù hợp nhất là **D. Đoạn lệnh bị lỗi ở dòng số 9** bởi vì nếu sửa dòng 2 thì chương trình sẽ tiếp tục chạy, và dòng số 9 là dòng `if a[i] > max then` sẽ bắt đầu có vấn đề về mặt logic nếu mảng `a` chưa được khai báo. Tuy nhiên, đáp án chính xác nhất phải là "Đoạn lệnh bị lỗi ở dòng số 2". Do không có đáp án nào đúng hoàn toàn nên đây là một câu hỏi không hợp lệ.

Câu hỏi liên quan