Bài tập phần xâu:

Một phần của tài liệu Bài tập Passcal cho lớp 11 (Trang 25 - 29)

Bài tập1: Chương trình nhập từ bàn phím các ký tựchương trình đếm số lần xuất hiện của mỗi ký tự

Program Dem_so_lan;

Uses Crt ;

Var a: Array[ 'A'..'Z' ] of integer; ch: char ;

i: byte ;

BEGIN

Clrscr ;

For ch:='A' to 'Z' Do a[ch]:=0 ;

Writeln (' Go phim 50 lan ') ;

For i:=1 To 50 Do

ĐT: 0972.311.481 Trang 26

ch:=Readkey ;

ch:=Upcase(ch) ;

a[ch]:=a[ch] + 1 ;

End;

Writeln (' So lan xuat hien cac ki tu la: ') ;

For ch:='A' to 'Z' do

If a[ch] > 0 Then

Writeln (ch ‘xuat hien’, a[ch]: 4, ' lan. '); Readln ;

END.

Bài tập 2: Nhập xâu cho trước kiểm tra có phải xâu đối xứng hay không?

Program Xau-doi-xung; Uses Crt; Var St: string; dx: Boolean; i, len: byte; BEGIN Clrscr;

Write(' Nhap xau St = '); Readln(St);

dx:=True; i:=1; len:=Length(St);

While dx And (i<=(len div 2)) do

Begin

dx:=(St[i] = St[len - i+1]);

I:=i+1;

End;

ĐT: 0972.311.481 Trang 27

Else Write(St,’ khong phai la xau doi xung ') ;

Readln;

END.

Bài tập 3: Chương trình nhập vào họ tên của một người sau đó xóa hết ký tự trắng

dư thừa

Uses crt;

Const Chu=['a'..'z']; Var Hoten: string; i,len: byte; BEGIN

Clrscr;

Write('Ho ten='); Readln(Hoten);

Len:=length(Hoten);

If Hoten[1] in Chu then Hoten[1]:=Upcase(Hoten[1]);

For i:=2 to len do

If (Hoten[i-1]=#32)And(Hoten[i] in Chu) then

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

Write('Ho ten sau khi dieu chinh la: ', Hoten);

Readln;

END.

Bài tập 4: Viết chương trình nhập vào một xâu, sau đó xuất ra xâu sau khi đã xóa hết ký tự số.

Program xoa_ky_tu_so;

Uses crt; Var I,k: byte;

S: string; Ch: char;

ĐT: 0972.311.481 Trang 28

Begin Clrscr;

Writeln(‘nhap xau ‘); readln(s); K:=length(s); i:=1;

For ch:=’0’ to ‘9’ do Begin

While (i<=k) And (pos(ch,s))<>0 do Begin

Delete(s,pos(ch,s),1); i:=i+1;

End; End;

Writeln(‘xau sau khi xoa het so la: ’,s); Readln

End.

Bài 5: Viết chương trình nhập vào xâu ký tự và xuất ra màn hình xâu sau khi đã bỏ

hết ký tự trắng dư thừa.

Program xoa_ky_tu_trang;

Uses crt;

Var I,k : byte;

S: string; Begin

Clrscr;

Writeln(‘nhap xau’); Readln(s);

While (s[1]=’ ‘ do Delete(s,1,1);

While (s[lengh(s)] =’ ‘ do Delete(s,length(s),1); While pos(‘ ‘,s)<>0 do Delete(s,pos(‘ ‘,s),1);

ĐT: 0972.311.481 Trang 29

Writeln(‘ xau sau khi xoa het ky tu trang du thua la’, s); Readln

End.

Bài 6: Viết chương tình nhập vào một xâu, sau đó xóa hết ký tự trắng dư thừa và đổi các ký tựđầu của mỗi từ thành chữ hoa.

Program Doi_chu;

Uses crt;

Var I,k : byte;

S: string; Begin

Clrscr;

Writeln(‘nhap xau’); Readln(s);

While (s[1]=’ ‘ do Delete(s,1,1);

While (s[lengh(s)] =’ ‘ do Delete(s,length(s),1); While pos(‘ ‘,s)<>0 do Delete(s,pos(‘ ‘,s),1); K:=length(s);

For i:=1 to k do if ( s[i]=’ ‘ )And( s[i+1]<>’ ‘) do upcase(s[i+1]; Writeln(‘xau sau khi dieu chinh la’,s);

Readln End.

Một phần của tài liệu Bài tập Passcal cho lớp 11 (Trang 25 - 29)