Bài giảng Tin học 11 - Bài tập và thực hành 5

Bài giảng Tin học 11 - Bài tập và thực hành 5

THUẬT TOÁN

Bước 1: Nhập Xâu S

Bước 2: Tính chiều dài xâu S

Bước 3: Tạo xâu P (xâu rỗng)

Bước 4: Với I = length(S)  1 thì P:=P+S[i].

Bước 5: Nếu S=P thì S là xâu đối xứng, ngược lại thì không phải là xâu đối xứng

 

ppt 22 trang lexuan 7000
Bạn đang xem 20 trang mẫu của tài liệu "Bài giảng Tin học 11 - Bài tập và thực hành 5", để tải tài liệu gốc về máy bạn click vào nút DOWNLOAD ở trên
Chương IVKIỂU DỮ LIỆU CÓ CẤU TRÚCChào mừng quý thầy cô đến dự giờ	Dữ liệu kiểu bản ghi (record) dùng để mô tả các đối tượng có cùng một số thuộc tính mà các thuộc tính có thể có các kiểu dữ liệu khác nhau.Khái niệm: Dữ liệu kiểu bản ghi (record)Câu 1: Chương IVKIỂU DỮ LIỆU CÓ CẤU TRÚCCấu trúc khai báo kiểu bản ghi và cách tham chiếu đến các trường của bản ghiTYPE = record	 : ;	 	 : ;	 end;VAR : ;Câu 2: Chương IVKIỂU DỮ LIỆU CÓ CẤU TRÚC Kiểu dữ liệu xâuKhái niệm:Xâu là dãy các kí tự trong bộ mã ASCIIVí dụ: ‘Lop 11C3’Hệ Nhị phânHệ Thập phânHệ Thập lục phânKí tự010 00003220Khoảng trống (␠) 011 000048300011 000149311 . . 100 00016541A100 00106642B . Khai báoVar : String[độ dài tối đa của xâu];Var	S: string[30];	p: string;	Nhập: 	Var S: string[30];	write(‘Nhap vao xau:’);	readln(S);Xuất:	write(S);Length(S)	x:=Length(S);Thao tác xử lí xâuBài 1 : 	Nhập từ bàn phím một xâu. Kiểm tra xâu đó có phải là xâu đối xứng hay không ? Input: Nhập vào xâu. Output: Xuất ra kết quả có phải là xâu đối xứngVí dụ: S:= ‘I was saw I’wassawII 1 2 3 4 5 6 7 8 9 10 11wassawII 11 10 9 8 7 6 5 4 3 2 1Xâu đối xứng có tính chất ? 	Đọc nó từ trái sang phải cũng thu được kết quả giống như đọc từ phải sang trái (còn được gọi là xâu Palindrome).THUẬT TOÁNBước 1: Nhập Xâu SBước 2: Tính chiều dài xâu SBước 3: Tạo xâu P (xâu rỗng)Bước 4: Với I = length(S) 1 thì 	P:=P+S[i].Bước 5: Nếu S=P thì S là xâu đối xứng, ngược lại thì không phải là xâu đối xứng var	i, x: byte;	a, p: string;BEGIN	write(‘Nhap vao xau:’);	readln(a);	x:= length(a);	p:= ‘’;	for i:=x downto 1 do	p:= p+a[i]; 	if a=p then	write(‘Xau la Palindrome’)	else	write(‘Xau khong la Palindrome’);	readln;END.{xac dinh do dai cua xau}{khoi tao xau rong}{tạo xau dao nguoc}b) Hãy viết lại chương trình trên: Trong đó không dùng biến xâu pwassawI 1 2 3 4 5 6 7 8 9 10 11IBước 1: Giả sử xâu này là xâu đối xứng (palindrome).Bước 2: So sánh các kí tự ở vị trí 1 11, 2 10, nếu có kí tự khác nhau thì không phải là xâu đối xứng.Tổng quát: Chúng ta sẽ có bao nhiêu lần xét?Chúng ta sẽ có n 2 lần xétdivUses crt;Var s: string; x,i: byte; palin: Boolean;Begin Clrscr; Write(' Nhap xau s='); readln(s); x:=length(s); palin:=true; For i:=1 to (x div 2) do	begin	If s[i] .. ‘A’.. ‘Z’A ] of byte;A[‘H’]=2 có nghĩa là có 2 kí tự ‘H’ trong xâu S.Program bai02;Uses crt;Var	a: array['A'.. 'Z'] of byte;	s: string; 	i: byte; 	c: char;Begin 	clrscr; 	write('nhap xau :');	readln(s); for c:='A' to 'Z' do a[c]:=0; for i:=1 to length(s) do	begin	s[i]:=upcase(s[i]); 	if (s[i]>='A') and (s[i] 0 then 	writeln( 'So lan xuat hien', c,': ',a[c]); readln;End. Các thao tác xử lí xâuThủ tục delete(St, vt, n);Thủ tục insert(St1, St2, vt);Hàm length(St);Hàm Pos(St1, St2);Bài 3: Nhập vào từ bàn phím một xâu. Thay thế tất cả các cụm kí tự ‘anh’ bằng cụm kí tự ‘em’.Input: Nhập vào một xâuOutput: Xuất ra xâu kết quả đã thay thế cụm từ ‘anh’ bằng cụm từ ‘em’Ví dụ: S:= ‘anh yeu truong anh’ ‘em yeu truong em’anhyeu truong anh1 .. 16 17 18emyeu truong emBước 1: Tìm vị trí bắt đầu của xâu ‘anh’Bước 2: Xóa xâu ‘anh’ vừa tìm thấyBước 3: Chèn xâu ‘em’ vào xâu S tại vị trí trước đây xuất hiện xâu ‘anh’(lặp lại các bước trên cho đến khi không còn xâu ‘anh’)Bước 4: In ra xâu S1 .. 15 16Uses crt;Var s: string; i: byte;Begin Clrscr; Write('Nhap xau S:'); Readln(s); i:=Pos('anh',s); While i<> 0 do 	Begin Delete(s,i,3); Insert('em',s,i); I:=Pos('anh',s); 	End; writeln(S); readln;End. Những kiến thức cần nắm : Cách tạo một xâu mới từ xâu ban đầu. Đếm số lần xuất hiện của một chữ cái trong toàn bộ văn bản. Tìm kiếm và thay thế một từ bằng một từ khác trong toàn bộ văn bản. Những kiến thức cần chuẩn bị: Kiến thức về kiểu dữ liệu có cấu trúc. Câu hỏi và bài tập trang 79 (SGK).

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

  • pptbai_giang_tin_hoc_11_bai_tap_va_thuc_hanh_5.ppt