uses crt;
var s,sg:string;
i:byte;
Begin
clrscr;
write('Nhap xau S: ');
readln(s);
for i:=length(s) DownTo 1 do sg:=sg+s[i];
if s = sg then writeln(s,' la xau doi xung') else writeln(s,' khong la xau doi xung');
writeln('Xau in hoa la: ',Upcase(s));
readln;
end.
Thuật toán cho câu a: bạn tạo 1 xâu phụ, chạy từ length(s) to 1, cộng sg:=sg+s[i], sau đó kiểm tra nếu s = sg thì 2 xâu là xâu đối xứng vì xâu đối xứng là xâu khi đảo ngược lại vẫn giống xâu ban đầu. Vote 5 sao và ctlhn cho mình nha