Giáo án Tin học 11 - Bài tập và thực hành phần xâu kí tự

Giáo án Tin học 11 - Bài tập và thực hành phần xâu kí tự

Bài 1 :Lập trình đếm số lần xuất hiện ở mỗi loại kí tự thuộc bảng chữ cái tiếng Anh trong một xâu kí tự Str .

Bài 2 :Cho số tự nhiên n và xâu có độ dài n . Hãy biến đổi xâu đã cho bằng cách thay đổi trong đó :

a. Tất cả các dấu ! bằng dấu chấm .

b. Mỗi một nhóm các dấu chấm liền nhau bằng một dấu chấm .

c. Một nhóm các dấu chấm đứng liền nhau bằng dấu ba chấm .

Bài 3 :Cho số tự nhiên n và một dãy các kí tự S1 , S2 , , Sn . Hãy tìm số tự nhiên I đầu tiên sao cho các kí tự Si , Si+1 đều là chữ cái a . Nếu trong dãy không có những cặp như vậy thì thông báo .

Bài 4 :Cho số tự nhiên n và dãy các kí tự S1 , S2 , , Sn . Biết rằng trong dãy có ít nhất một dấu phẩy . Hãy tìm số tự nhiên i sao cho :

a. Si là dấu phẩy đầu tiên .

b. Si là dấu phầy cuối cùng .

 

doc 4 trang Người đăng hong.qn Lượt xem 6044Lượt tải 1 Download
Bạn đang xem tài liệu "Giáo án Tin học 11 - Bài tập và thực hành phần xâu kí tự", để tải tài liệu gốc về máy bạn click vào nút DOWNLOAD ở trên
XÂU KÍ TỰ
Bài 1 :Lập trình đếm số lần xuất hiện ở mỗi loại kí tự thuộc bảng chữ cái tiếng Anh trong một xâu kí tự Str . 
Bài 2 :Cho số tự nhiên n và xâu có độ dài n . Hãy biến đổi xâu đã cho bằng cách thay đổi trong đó :
a. Tất cả các dấu ! bằng dấu chấm .
b. Mỗi một nhóm các dấu chấm liền nhau bằng một dấu chấm .
c. Một nhóm các dấu chấm đứng liền nhau bằng dấu ba chấm .
Bài 3 :Cho số tự nhiên n và một dãy các kí tự S1 , S2 ,  , Sn . Hãy tìm số tự nhiên I đầu tiên sao cho các kí tự Si , Si+1 đều là chữ cái a . Nếu trong dãy không có những cặp như vậy thì thông báo . 
Bài 4 :Cho số tự nhiên n và dãy các kí tự S1 , S2 ,  , Sn . Biết rằng trong dãy có ít nhất một dấu phẩy . Hãy tìm số tự nhiên i sao cho :
a. Si là dấu phẩy đầu tiên . 
b. Si là dấu phầy cuối cùng . 
Bài 5 :Viết chương trình nhập một xâu kí tự , sau đó chỉ ra xem xâu đó có phải là xâu đối xứng không ( xâu đối xứng là xâu có các kí tự giống nhau và đối xứng nhau qua điểm giữa xâu , ví dụ ‘ABBA’ hoặc ‘ABCBA’ ) .
Bài 6 :Cho một xâu kí tự S . Hãy viết chương trình tính xem trong S có bao nhiêu loại kí tự khác nhau ( phân biệt chữ in hoa với chữ in thường ) . Ví dụ với S là “Pascal” ta có đáp số là 5 .
Bài 7 :Viết chương trình nhập một xâu kí tự và biến đổi chúng thành toàn chữ in hoa .
Bài 8 :Họ tên một học sinh được nhập từ bàn phím . Bạn hãy viết chương trình điều chỉnh lại các kí tự đầu của các từ đơn trong tên của học sinh ấy trở thành chữ in hoa .
Bài 9 :Viết chương trình nhập xãu kí tự từ bàn phím , sau đó gọt xâu lại bằng cách cách xoá đi các kí tự trống ở hai đầu của xâu . Ví dụ nếu nhập xâu “ Ha noi “ , thì kết quả sẽ là “Ha noi” .
ĐÁP ÁN:
B1
Var A: array [ 'A'..'Z'] of integer;
 S: string; 
 ch: char; 
 i: integer; 
 BEGIN
 Write(' Cho mot xau ki tu : '); Readln(s); 
 For ch:= 'A' to 'Z' do A[ch]:=0; 
 For i:=1 to length(s) do 
 Begin 
 If Upcase(S[i]) in (['A'..'Z']) then 
 Begin 
 S[i]:= Upcase(S[i]); 
 A[S[i]]:= A[S[i]]+1; 
 End; 
 End; 
 For ch:= 'A' to 'Z' do 
 Writeln('So lan xuat hien cua ',ch,' trong xau la: ', A[ch]:4) ; 
 Readln ; 
 END .
B2a
Var S: string; 
 i: byte; 
 BEGIN
 Write(' Cho mot xau ki tu S = '); Readln(S); 
 For i:=1 to length(S) do 
 If S[i] = '!' then S[i]:= '.'; 
 Write( ' Chuoi sau khi da bien doi la : ', S); 
 Readln;
 END .
B2b
Uses crt; 
 Var S : string; i : byte; 
 BEGIN
 Clrscr; 
 Write(' Cho mot xau ki tu S = '); Readln(S); 
 i:=1; 
 While i< length(S) do 
 If (S[i]='.')and(S[i+1]='.') then Delete(S,i,1) 
 Else inc(i); 
 Write('Chuoi sau khi da bien doi la: ' ,S); 
 Readln; 
 END .
B2c
Uses crt; 
 Var S: string; 
 i, j: byte; 
 BEGIN
 Clrscr; 
 Write('Nhap xau S='); Readln(S); 
 i:=1; 
 While i<=Length(S) do 
 Begin 
 If S[i]='.' then 
 Begin 
 j:=i; 
 While (S[i]='.')and(i<=length(S)) do inc(i); 
 dec(i); 
 If (i-j)=1 then insert('.',S,i) 
 Else 
 If (i-j)>2 then 
 Begin 
 Delete(S,j+2,i-j-2); i:=j+1; 
 End; 
 End ;
 Inc(i); 
 End; 
 Write('Chuoi sau khi bien doi la: ',S); 
 Readln; 
 END .
B3
Var S: string; 
 i: integer; 
 BEGIN 
 Write(' Cho mot xau ki tu : '); Readln(S); 
 i:= pos('aa', S); {tìm vị trí xâu con 'aa' trong S} 
 If i0 then Writeln(' Ton tai "aa" tai vi tri ', i) 
 Else Writeln(' Khong ton tai .') ; 
 Readln; 
 END .
B4a
 Var S: string; 
 i: integer; 
 BEGIN
 Write('Cho mot xau S co dau ",": '); Readln(S); 
 i:= pos(',', S); (* vị trí của dấu ',' trong S *) 
 If i 0 then Write(' Vi tri thoa man la: ', i); 
 Readln; 
 END .
B4b
Var S: string; 
 i: integer; 
 BEGIN
 Write('Cho mot xau S co dau ",": '); Readln(S); 
 i:= length(S); 
 While (i>=1)and(S[i] ',' ) do i:=i -1; 
 If i>=1 then Write('So thu tu thoa man la: ', i) 
 Else Write('Khong ton tai.'); 
 Readln; 
 END .
B5
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]); 
 inc(i); 
 End; 
 If dx then Write(' St la xau doi xung ') 
 Else Write(' St khong phai la xau doi xung ') ; 
 Readln; 
 END .
B6
Var S: string; 
 i, j, dem: integer; 
 t: boolean; 
 BEGIN
 Write('Cho mot xau ki tu S: '); Readln(S); 
 dem:=0; 
 For i:=1 to length(S) do
 Begin 
 t:=false; 
 For j:=1 to i-1 do if (S[j]=S[i]) then t:=true; 
 If not t then dem:= dem+1; 
 End; 
 Write('So ki tu khac nhau cua xau S la: ', Dem); 
 Readln; 
 END .
B7
Var S : string; i : integer; 
 BEGIN
 Write('Cho mot xau ky tu: '); Readln(S); 
 For i:=1 to length(S) do 
 If S[i] in ['a' ..'z'] then S[i]:= Upcase(S[i]); 
 Write('Chuoi sau khi da bien doi la: ', S); 
 Readln;
 END .
B8
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 .
B9
Var S: String; 
 BEGIN
 Write('Cho mot xau ky tu: '); Readln(S); 
 While S[1] = #32 do Delete(S,1,1); 
 While (S[length(S)] = #32) do Delete(S,length(S),1); 
 Write('Chuoi sau khi da bien doi la: ', S); 
 Readln; 
 END .

Tài liệu đính kèm:

  • docBai_tap_va_thuc_hanh_1.doc