program Xau;
var
A, B, C: string;
i, count, position: integer;
begin
// Nhập xâu A và xâu B từ bàn phím
writeln('Nhap xau A: ');
readln(A);
writeln('Nhap xau B: ');
readln(B);
// Ghép hai xâu A và B
writeln('Ghep hai xau A va B: ');
writeln(A + B);
// Đếm số lần xuất hiện của xâu B trong xâu A
count := 0;
for i := 1 to length(A) do
begin
if copy(A, i, length(B)) = B then
begin
count := count + 1;
end;
end;
writeln('So lan xuat hien xau con B trong A: ', count);
// Tìm vị trí xuất hiện lần đầu tiên của xâu B trong xâu A
position := pos(B, A);
if position > 0 then
begin
writeln('Vi tri xuat hien lan dau tien cua xau B trong A: ', position);
end
else
begin
writeln('Xau B khong xuat hien trong A');
end;
// Nhập xâu C và thực hiện thay thế xâu B bằng xâu C trong xâu A
writeln('Nhap xau C: ');
readln(C);
A := StringReplace(A, B, C, [rfReplaceAll]);
writeln('Sau khi thay the xau B bang xau C: ', A);
end.