Viết chương trình pascal kiểu xâu

BÀI TẬP: XÂU KÍ TỰ

-----------------------------

Bài 1: Nhập xâu S1, tạo xâu S2 gồm tất cả các chữ số của xâu S1

Program Xau_chu_so;

Uses crt;

Var i: integer;

S1,S2: string;

Begin

Clrscr;

            Write(‘Nhap xau ki tu S1: ‘); Readln(S1);

            S2:=#32;

            For i:=1 to length(S1) to

            If S1[i] in [‘0’..’9’] then

            S2:=S2+S1[i];

            Writeln(‘Xau S2: ‘,S2);

End.

Bài 2: Nhập xâu S1, tạo xâu S2 gồm tất cả các chữ cái của xâu S1

Program Xau_chu_cai;

Uses crt;

Var i: integer;

S1,S2: string;

Begin

Clrscr;

            Write(‘Nhap xau ki tu S1: ‘); Readln(S1);

            S2:=#32;

            For i:=1 to length(S1) to

            If S1[i] in [‘A’..’Z’]+[‘a’..’z’] then

            S2:=S2+S1[i];

            Writeln(‘Xau S2: ‘,S2);

End.

Bài 3: Nhập xâu S. Tìm ra có bao nhiêu chữ cái, bào nhiêu chữ số.

Program Dem_chu_cai_so;

Uses crt;

Var I,dem_chu,dem_so: integer;

S: string;

Begin

Clrscr;

            Write(‘Nhap xau S: ‘); Readln(S);

            Dem_chu:=0; dem_so:=0;

            For i:=1 to length(S) do

            If S[i] in [‘A’..’Z’]+[‘a’..’z’] then

            Dem_chu:=dem_chu+1 else

            Dem_so:=dem_so+1;

            Writeln(‘Trong xau S co tat ca’,dem_chu,’chu cai’);

            Writeln(‘Trong xau S co tat ca’,dem_so,’chu so’);

End.

Bài 4: Nhập vào xâu S1, chuyển đổi chữ hoa thành chữ thường

Program Chu_thuong;

Uses crt;

Var i:integer;

S: string;

Begin

Crlscr;

            Write(‘Nhap sau S: ‘); Readln(S);

            For i:=1 to length(S) do

            If S[i] in [‘A’..’Z’] then

            S[i]:=CHR(ORD(S[i])+32);

            Writeln(S);

End.

Bài 5: Nhâp vào xâu S, chuyển đổi chữ thường thành chữ hoa

Program Chu_hoa;

Uses crt;

Var i: integer;

S: string;

Begin

Clrscr;

            Write(‘Nhap xau ki tu S: ‘); Readln(S);

            For i:=1 to length(S) do

            If S[i] in [‘a’..’z’] then

            S[i]:=Upcase(S[i]);

            Writeln(S);

End.

Bài 6: Nhập vào xâu S. Chuyển kí tự đầu của mỗi từ trong xâu thành chữ hoa

Program Chuyen_ki_tu_dau;

Uses crt;

Var i: integer;

S: string;

Begin

Clrscr;

            Write(‘Nhap xau S: ‘); Readln(S);

            S[1]:=Upcase(S[1]);

            For i:=1 to length(S) do

            If S[i]=#32 then

            S[i+1]:=Upcase(S[i+1]);

            Writeln(S);

End.

Bài 7: Xóa hết khoảng trắng

Program Xoa_khoang_trang;

Uses crt;

Var i: integer;

S1,S2: string;

Begin

Clrscr;

            Write(‘Nhap xau S1: ‘); Readln(S1);

            S2:=#32;

            For i:=1 to length(S) do

            If S1[i]<>#32 then

            S2:=S2+S1[i];

            Writeln(S);

End.

Bài 8: Xóa hết kí tự thừa trong xâu

Program Xoa_ki_tu_thua;

Uses crt;

Var i: integer;

S: string;

Begin

Clrscr;

            Write(‘Nhap xau S: ‘); Readln(S);

            While S[1]=#32 do delete(S,1,1);

            While S[length(S)]=#32 do delete(S,length(S),1);    

            While POS(#32#32,S)<>0 do delete(S,POS(#32#32,S),1);

            Writeln(S);

End.

Bài 9: Xóa hết chữ số trong xâu

Program Xoa_chu_so;

Uses crt;

Var i: integer;

S: string;

Begin

Clrscr;

            Write(‘Nhap xau S: ‘); Readln(S);

            For i:=length(S) downto 1 do

            If S[i] in [‘0’..’9’] then

            Delete(S,i,1);

            Writeln(‘Xau sau khi xoa: ‘,S);

End.

Bài 10: Xóa hết chữ cái có trong xâu

Program Xoa_chu_cai;

Uses crt;

Var i: integer;

S: string;

Begin

Clrscr;

            Write(‘Nhap xau S: ‘); Readln(S);

            For i:=length(S) downto 1 do

            If S[i] in [‘a’..’z’]+[‘A’..’Z’] then

            Delete(S,i,1);

            Writeln(‘Xau sau khi xoa: ‘,S);

End.

Bài 12: Nhập vào xâu. In ra xâu đảo theo từ

Program Xau_dao_theo_tu;

Uses crt;

Var S: string;

x,y,z: integer;

Begin

Clrscr;

            Write(‘Nhap xau S: ‘); Readln(S);

            Y:=length(S);

            For z:=length(S) downto 1 do           

            Begin

            If ((S[y]=#32) and (y=1)) then

            Begin

            For x:=y to z do write(S[x]);

            Z:=y;

            End;

            End;

End.

Bài 13: Đếm số lần xuất hiện của các kí tự trong xâu.

Program So_lan_xuat_hien;

Uses crt;

Var S: string;

dem: array[‘A’..’Z’] of integer;

i:integer;

ch: char;

Begin

Clrsccr;

            Write(‘Nhap xâu S: ‘); Readln(S);

            For ch:=’A’ to ‘Z’ do

            Dem[ch]:=0;

            For i:=1 to length(S) do

            If upcase(S[i]) in [‘A’..’Z’] then

            Inc(dem[upcase(S[i])]);

            For ch:=’A’ to ‘Z’ do

            If dem[ch]<>0 then

            Writeln(ch,’  ‘,dem[ch]);

End.

Bài 14: In xâu S1 xuất hiện bao nhiêu lần trong xâu S2

Program S1_xuat_hien;

Uses crt;

Var i,dem: integer;

S1,S2: string;

Begin

Clrscr;

            Write(‘Nhap xau S2: ‘); Readln(S2);

            Write(‘Nhap xau S1: ‘); Readln(S1);

            Dem:=0;

            For i:=1 to length(S2) so

            If S1=copy(S2,i,length(S1)) then

            Dem:=dem+1;

            Writeln(‘Chuoi S1 xuất hien’,dem,’lan trong xau S2’);

End.

Bài 15: Đếm số từ trong xâu

Program So_tu;

Uses crt;

Var i,dem: integer;

S: string;

Begin

Clrscr;

            Write(‘Nhap xau S: ‘); Readln(S);

            Dem:=0;

            S:=S+’ ‘;

            For i:=1 to length(S) do

            If S[i]=#32 then dem:=dem+1;

            Writeln(‘Trong xau co tat ca’,dem,’tu’);

End.

Bài 16: Xóa hết kí tự trùng nhau trong xâu

Program Xoa_ki_tu_trung;

Uses crt;

Var i,j,n: integer;

S: string;

Begin

Clrscr;

            Write(‘Nhap xau S: ‘); Readln(S);

            N:=length(S);

            I:=1;

            While i<n do

            Begin

            J:=i+1;

            While j<=n do

            Begin

            If S[i]=S[j] then

            Begin

            Delete(S,j,1);

            N:=n-1;

            End

            Else j:=j+1;

            End;

            I:=i+1;

            End;

            Writeln(‘Xau S moi: ‘,S);

End.

Bài 17:Nhập xâu St. Xóa một kí tự được nhập từ bàn phím.

Program Xoa_ki_tu;

Uses crt;

Var i: integer

K: char;

St: string;

Begin

Clrscr;

            Write(‘Nhap xau St: ‘); Readln(St);

            Write(‘Nhap ki tu k: ‘); Readln(k);

            For i:=1 to length(S) do

            If St[i]=k then delete(S,I,1);

            Writeln(‘Xau sau khi xoa: ‘,S);

End.

Bài 18: Nhập xâu S. Nhập kí tự k. Đếm số lần xuất hiện của k

Program Ki_tu_k;

Uses crt;

Var i: integer;

K: char;

S: string;

Begin

Clrscr;

            Write(‘Nhap xau S: ‘); Readln(S);

            Dem:=0;

            For i:=1 to length(S) do

            If S[i]=k then dem:=dem+1;

            Writeln(‘Ki tu k xuat hien’,dem,’lan’);

End.

Bài 19: Xâu đối xứng

Program Xau_doi_xung;

Uses crt;

Var S1,S2: string

I: integer;

Begin

Clrscr;

            Write(‘Nhap xau S1: ‘); Readln(S1);

            S2:=#32;

            For i:=length(S) downto 1 do

            S2:=S1[i];

            If S1=S2 then

            Writeln(‘Xau nay doi xuat’) else

            Writeln(‘Xau nay khong doi xung’);

End.

Bài 21: Đếm xem trong xâu có bao nhiêu nguyen âm

Program Nguyen_am;

Uses crt;

Var dem,i: integer;

S: string;

Begin

Clrscr;

            Write(‘Nhapxau S: ‘); Readln(S);

            Dem:=0;

            For i:=1 to length(S) do

            If S[i] in [‘A’,’O’,’E’,’U’,’I’,’a’,’o’,’e’,’u’,’i’] then

            Dem:=dem+1;

            Writeln(‘Trong xau co tat ca: ‘,dem,’ nguyen am’);

End.