Cho C = { 2, 4, 5, 6, 7, 8}, k = 6, n=9. Kết quả nào đúng trong số những kết quả dưới đây sau khi thực hiện thuật toán Test(C, k, n):
Function Test(C:array[1..10] of integer; k,n:integer);
Var i,j: integer;
Begin
i:=k; While (i>0) and (c[i]=n-k+i) do i:=i-1;
If i> 0 then
Begin c[i]:= c[i] +1;
For j:= i+1 to k do c[j]:=c[i] + j-1;
End;
End;
Trả lời:
Đáp án đúng: A
Đề bài yêu cầu tìm kết quả của mảng C sau khi thực hiện đoạn code. Ta có C = {2, 4, 5, 6, 7, 8}, k = 6, n = 9.
Bước 1: i := k = 6. Kiểm tra điều kiện while (i > 0) and (C[i] = n - k + i). Với i = 6, C[6] = 8, n - k + i = 9 - 6 + 6 = 9. Vì 8 != 9 nên điều kiện while sai.
Bước 2: Vì i > 0 (i = 6) nên thực hiện thân lệnh if. C[i] := C[i] + 1. Vậy C[6] = 8 + 1 = 9.
Bước 3: for j := i + 1 to k do C[j] := C[i] + j - 1. Vòng lặp này không được thực hiện vì i + 1 = 7 > k = 6.
Vậy kết quả cuối cùng của mảng C là {2, 4, 5, 6, 7, 9}.
Bộ 525 câu hỏi trắc nghiệm ôn thi môn Toán rời rạc có đáp án dưới đây sẽ là tài liệu ôn tập hữi ích dành cho các bạn sinh viên. Mời các bạn cùng tham khảo!
30 câu hỏi 60 phút