Danh mục

Bài tập về xâu trong Pascal

Số trang: 17      Loại file: pdf      Dung lượng: 245.16 KB      Lượt xem: 13      Lượt tải: 0    
tailieu_vip

Xem trước 2 trang đầu tiên của tài liệu này:

Thông tin tài liệu:

Mời các bạn học sinh và quý thầy cô cùng tham khảo "Bài tập về xâu trong Pascal" để hệ thống kiến thức học tập cũng như trau dồi kinh nghiệm ra đề thi. Tài liệu cung cấp các dạng bài tập khá đa dạng, có kèm theo đáp án giúp các bạn dễ dàng nắm bắt kiến thức hơn.
Nội dung trích xuất từ tài liệu:
Bài tập về xâu trong Pascal BÀI TẬP VỀ XÂUBài tập 6.1: Viết chương trình liệt kê các từ của một xâu ký tự được nhập vào từ bàn phím, mỗi từphải được viết trên một dòng.Uses Crt; BeginVar St:String; Write(‘Nhap xau St: ‘); Readln(St);Procedure XoaTrangThua(Var St:String); XoaTrangThua(St);Begin St:=St+#32; {Xóa các ký tự trắng ở đầu xâu} Writeln(‘Liet ke cac tu trong xau: ‘); While St[1]=#32 Do Delete(St,1,1); While POS(#32,St)0 Do {Xóa các ký tự trắng ở cuối xâu} Begin While St[Length(St)]=#32 DoDelete(St,Length(St),1); Writeln(Copy(St,1,POS(#32,St))); {Xóa các ký tự trắng ở giữa xâu} Delete(St,1,POS(#32,St)); While POS(#32#32,St)0 Do End;Delete(St,POS(#32#32,St),1); Readln;End; End.Bài tập 6.2: Viết chương trình nhập vào một xâu ký tự từ bàn phím. Tìm xâu đảo ngược của xâuđó rồi in kết quả ra màn hình theo 2 cách: Đệ qui và không đệ qui.Ý tưởng:- Nếu xâu St có 1 ký tự thì xâu đảo = St. - Ngược lại: Xâu đảo = Ký tự cuối + Đệ qui(Phần còn lại của xâu St).Uses Crt; {Giải thuật đệ qui}Var St:String; Function DeQui(St:String):String;{Giải thuật không đệ qui} BeginFunction XauDao(St:String):String; If Length(St) If dem[ch]>0 Then Writeln(ch,’ : Readln;’,dem[ch]); End.Bài tập 6.4: Viết chương trình xóa các ký tự chữ số trong một xâu ký tự được nhập vào từ bànphím.Uses Crt; If St[i] IN [‘0’..’9’] ThenVar St:String; OK:=True{Hàm POSNUM kiểm tra xem trong xâu St có Else i:=i+1;ký tự chữ số hay không? Nếu có, hàm trả về vị If OK Then POSNUM:=i Elsetrí đầu tiên của ký tự chữ số, ngược lại hàm trả POSNUM:=0;về giá trị 0} End;Function POSNUM(St:String):Byte;Var OK:Boolean; Begin i:Byte; Write(‘Nhap xau St: ‘); Readln(St);Begin While POSNUM(St)0 Do OK:=False; Delete(St,POSNUM(St),1); i:=1; Write(‘Xau sau khi xoa: ‘,St); While (i If Length(st1)>Length(st2) Then {Lấy phần dư của tổng a+b} For i:=1 To Length(st1)-Length(st2) Do sodu:=(a+b+sodu) DIV 10;st2:=0+st2 {Đổi số nguyên c sang xâu ký tự ch} Else str(c,ch); For i:=1 To Length(st2)-Length(st1) Do {Cộng xâu ch vào bên trái xâu kết quảst1:=0+st1; st}End; st:=ch+st;Function Cong(st1,st2:string):string; End;Var i,a,b,c,sodu:Byte; {Xử lý trường hợp số dư cuối cùng >0} code:integer; If sodu>0 Then st,ch:string; BeginBegin str(sodu,ch); st:=; sodu:=0; st:=ch+st; LamDayXau(st1,st2); End; {Lấy từng số của 2 xâu: từ phải sang trái} Cong:=st; For i:=Length(st1) DownTo 1 Do End; Begin Begin {Đổi ký tự sang số nguyên} Write(Nhap so thu nhat: ); Readln(so1); Val(st1[i],a,code); Write(Nhap so thu hai: ); Readln(so2); Val(st2[i],b,code); kqua:=Cong(so1,so2); {Tính tổng của 2 số a,b vừa lấy ra cho Writeln(Tong= ,kqua);vào biến c} Readln; c:=(a+b+sodu) MOD 10; End.BÀI TẬP TỰ GIẢIBài tập 6.11: Viết chương trình nhập vào một xâu ký tự từ bàn phím. Tìm và in ra màn hình mộttừ có độ dài lớn nhất trong xâu.Gợi ý:Tách từng từ để so sánh (xem bài tập 5).Bài tập 6.12: Viết chương trình nhập một xâu ký tự St từ bàn phím và một ký tự ch. In ra mànhình xâu St sau khi xóa hết các ký tự ch trong xâu đó. ...

Tài liệu được xem nhiều: