Kết quả thuật toán đệ quy:
Function Test(st:string):string;
Begin
If length(st) <=1 then Test:=st
Else Test:= st[length(st)] + Test(Copy(st,1,length(st)-1));
End;
Trả lời:
Đáp án đúng: B
Đề bài cho một hàm đệ quy `Test` nhận một chuỗi `st` làm tham số. Hàm này hoạt động như sau:
- Nếu độ dài của chuỗi `st` nhỏ hơn hoặc bằng 1, hàm trả về chính chuỗi đó.
- Ngược lại, hàm trả về ký tự cuối cùng của chuỗi `st` ghép với kết quả của việc gọi đệ quy hàm `Test` với chuỗi con của `st` (từ ký tự đầu tiên đến ký tự áp chót).
Ví dụ, nếu `st` là "abc", hàm sẽ thực hiện như sau:
1. `Test("abc")` trả về 'c' + `Test("ab")`
2. `Test("ab")` trả về 'b' + `Test("a")`
3. `Test("a")` trả về "a"
Kết hợp lại, ta có 'c' + 'b' + 'a' = "cba".
Như vậy, hàm `Test` có tác dụng đảo ngược chuỗi `st`.
Vậy đáp án đúng là B





