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:
Function Test (n: Integer): Integer;
Var f1, f2, fn: Integer;
Begin
f1=1;
f2=1;
i:=3;
While i<=n do
Begin
fn := f1 + f2; f1:=f2; f2:=fn;
i:=i+1;
End;
Test:= fn;
End;
Trả lời:
Đáp án đúng: C
Để tìm kết quả đúng, ta cần thực hiện thuật toán Test với các giá trị n khác nhau và so sánh với các đáp án được đưa ra.
* **Test(6):**
* f1 = 1, f2 = 1, i = 3
* i = 3: fn = 1 + 1 = 2; f1 = 1; f2 = 2
* i = 4: fn = 1 + 2 = 3; f1 = 2; f2 = 3
* i = 5: fn = 2 + 3 = 5; f1 = 3; f2 = 5
* i = 6: fn = 3 + 5 = 8; f1 = 5; f2 = 8
* Test(6) = 8. Vậy đáp án Test(6) = 5 là sai.
* **Test(5):**
* f1 = 1, f2 = 1, i = 3
* i = 3: fn = 1 + 1 = 2; f1 = 1; f2 = 2
* i = 4: fn = 1 + 2 = 3; f1 = 2; f2 = 3
* i = 5: fn = 2 + 3 = 5; f1 = 3; f2 = 5
* Test(5) = 5. Vậy đáp án Test(5) = 3 là sai.
* **Test(7):**
* f1 = 1, f2 = 1, i = 3
* i = 3: fn = 1 + 1 = 2; f1 = 1; f2 = 2
* i = 4: fn = 1 + 2 = 3; f1 = 2; f2 = 3
* i = 5: fn = 2 + 3 = 5; f1 = 3; f2 = 5
* i = 6: fn = 3 + 5 = 8; f1 = 5; f2 = 8
* i = 7: fn = 5 + 8 = 13; f1 = 8; f2 = 13
* Test(7) = 13. Vậy đáp án Test(7) = 13 là đúng.
* **Test(4):**
* f1 = 1, f2 = 1, i = 3
* i = 3: fn = 1 + 1 = 2; f1 = 1; f2 = 2
* i = 4: fn = 1 + 2 = 3; f1 = 2; f2 = 3
* Test(4) = 3. Vậy đáp án Test(4) = 1 là sai.
Vậy đáp án đúng là Test(7) = 13. Thuật toán này thực chất tính số Fibonacci thứ n.
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





