Tin học 11 Bài 12: Kiểu xâu

Bài tập minh họa

 Ví dụ 1

Chương trình dưới đây nhập họ tên của hai người vào hai biến xâu và đưa ra màn hình xâu dài hơn, nếu bằng nhau thì đưa ra xâu nhập sau.

Gợi ý làm bài:

Đoạn chương trình cài đặt:

var  a,b:string;
      begin
            write(‘Nhap ho ten thu nhat: ‘); readln(a);
            write(‘Nhap ho ten thu hai: ‘); readln(b);
            if length(a)>length(b) then write(a) else write(b);
            readln
      end.

Ví dụ 2

Chương trình dưới đây nhập hai xâu từ bàn phím và kiểm tra kí tự đầu tiên của xâu thứ nhất có trùng với kí tự cuối cùng của xâu thứ hai không.

Gợi ý làm bài:

Đoạn chương trình cài đặt:

var x: byte;
      a,b: string;
      begin
           write(‘Nhap xau thu nhat: ‘); readln(a);

write(‘Nhap xau thu hai: ‘); readln(b);

          x:=length(b);

{xac dinh do dai xau b de biet vi tri cua ki tu cuoi cung}
          if a[1]=b[x] then write(‘Trung nhau’)

          else write(‘Khac nhau’);
readln
end.

Ví dụ 3

Chương trình sau nhập một xâu vào từ bàn phím và đưa ra màn hình xâu đó nhưng được viết theo thứ tự ngược lại.

Gợi ý làm bài:

Đoạn chương trình cài đặt:

var i,k: byte;
      a: string;
      begin
            write(‘Nhap xau:’);
            readln(a);
            k:= length(a);        {xac dinh do dai xau}
            for i:= k downto 1 do write(a[i]);

      readln
      end.

Ví dụ 4

Chương trình sau nhập một xâu vào từ bàn phím và đưa ra màn hình xâu thu được từ nó bởi việc loại bỏ các dấu cách.

 

Gợi ý làm bài:

Đoạn chương trình cài đặt:

var i,k: byte;

     a, b: string;

begin

   write(‘Nhap xau:’);

   readln(a);

   k:= length(a);

   b:= ‘ ‘; (* Khoi tao xau rong *)

   for i:= 1 to k do

         if a[i]<> ‘ ‘ then b:=b+a[i];

   writeln(‘Ket qua: ‘,b);

   readln

end.

Ví dụ 5

Chương trình sau nhập vào từ bàn phím xâu kí tự s1, tạo xâu s2 gồm tất cả các chữ số có trong s1 (giữ nguyên thứ tự xuất hiện của chúng) và đưa kết quả ra màn hình.

Gợi ý làm bài:

Chương trình cài đặt:

program XuLiXau;

var s1, s2: string;

      i: byte;

begin

   write(‘Nhap vao xau s1: ‘);

   readln(s1);

   S2:= ‘ ‘; {Khoi tao xau s2 rong}

   for i:= 1 to length(s1) do

         if (‘0’ = < s1[i]) and (s1[i] <= ‘9’) then s2:= s2+s1[i]; 

   writeln(‘Ket qua: ‘, s2);

   readln

end.