Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 19 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
19
Dung lượng
895,5 KB
Nội dung
Tiết 34 BÀI TẬP VÀ THỰC HÀNH Bài : Nhập từ bàn phím xâu Kiểm tra xâu có phải xâu đối xứng hay không ? Input: Nhập vào xâu Output: Xuất kết có phải xâu đối xứng Tiết 34 BÀI TẬP VÀ THỰC HÀNH Bài : Ví dụ: S:= ‘I was saw I’ I 11 I w a s 10 s a w 11 I s a w w a s 10 I Xâu đối xứng có tính chất ? Đọc từ trái sang phải thu kết giống đọc từ phải sang trái (còn gọi xâu Palindrome) Tiết 34 BÀI TẬP VÀ THỰC HÀNH Bài : THUẬT TOÁN Bước 1: Nhập Xâu a Bước 2: Tính chiều dài xâu a Bước 3: Tạo xâu P (xâu rỗng) Bước 4: Với I = length(a) P:=P+a[i] Bước 5: Nếu a=P a xâu đối xứng, ngược lại xâu đối xứng Tiết 34 BÀI TẬP VÀ THỰC HÀNH var i, x: byte; a, p: string; BEGIN write(‘Nhap vao xau:’); readln(a); x:= length(a); {xac dinh dai cua xau} p:= ‘’; {khoi tao xau rong} for i:=x downto p:= p+a[i]; {tạo xau dao nguoc} if a=p then write(‘Xau la Palindrome’) else write(‘Xau khong la Palindrome’); readln; END Tiết 34 BÀI TẬP VÀ THỰC HÀNH Bài : b) Hãy viết lại chương trình trên,trong không dùng biến xâu p I w a s s a w 10 11 I - So sánh kí tự vị trí 111, 210,… có kí tự khác xâu đối xứng Bởi dùng biến Logic để ghi nhận phát - Chúng ta có lần xét? Chúng ta có n div lần xét Program bai1_b; Uses crt; Var s: string; x,i: byte; KT: Boolean; Begin Clrscr; Write(' Nhap xau s='); readln(s); x:=length(s); KT:=true; For i:=1 to (x div 2) begin If s[i] s[x-i+1] then KT:=false; end; If KT then write('doi xung') else write('khong doi xung'); readln; End Tiết 35 BÀI TẬP VÀ THỰC HÀNH Tiết 35.BÀI TẬP VÀ THỰC HÀNH Bài 2: Viết chương trình nhập từ bàn phím xâu kí tự S thông báo hình số lần xuất chữ tiếng Anh S ( không phân biệt chữ hoa hay chữ thường ) - Input: Nhập vào xâu - Output: Xuất số lần xuất chữ tiếng Anh xâu vừa nhập Tiết 35 BÀI TẬP VÀ THỰC HÀNH Chúng ta có chữ tiếng Anh? Từ chữ A Z (26 chữ cái) ; Thuật toán Bước 1: Nhập vào xâu S Bước 2: Tạo mảng A lưu trữ số lần xuất chữ tiếng Anh Bước 3: Khởi tạo cho phần tử mảng Bước 4: Nếu xâu S chữ A Z tăng giá trị phần tử mảng Bước 5: Xuất mảng vừa tạo Tiết 35 BÀI TẬP VÀ THỰC HÀNH Bài 2: Cho xâu S: H O T H II K K YY Tạo mảng A: Ghi nhận số lần xuất kí tự xâu S A … A … H I J K … O … T Z 00 11 … … 11 … … 11 … … 00 Var A: array[ ] of byte; A[‘H’]=2 có nghĩa có kí tự ‘H’ xâu S … Program bai02; Uses crt; Var a: array['A' 'Z'] of byte; s: …; i: …; c: …; Begin clrscr; write('nhap xau :');readln(s); for c:='A' to 'Z' a[c]:=0; for i:=1 to length(s) begin ………… end; for c:='A' to 'Z' if a[c]0 then writeln( 'So lan xuat hien', c,': ',a[c]); readln; End 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' a[c]:=0; for i:=1 to length(s) begin s[i]:=upcase(s[i]); if (s[i]>='A') and (s[i][...]... End Tiết 35 BÀI TẬP VÀ THỰC HÀNH 5 Các thao tác xử lí xâu 1.Thủ tục delete(St, vt, n); 2.Thủ tục insert(St1, St2, vt); 3.Hàm length(St); 4.Hàm Pos(St1, St2); Tiết 35 BÀI TẬP VÀ THỰC HÀNH 5 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âu Output: Xuất ra xâu kết quả đã thay thế cụm từ ‘anh’ bằng cụm từ ‘em’ Tiết 35 BÀI TẬP VÀ THỰC HÀNH... I:=Pos('anh',s); End; writeln(S); readln; End Tiết 35 BÀI TẬP VÀ THỰC HÀNH 5 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) .. .Tiết 35 BÀI TẬP VÀ THỰC HÀNH 5 Bài 2: Cho xâu S: 1 2 3 4 5 6 H O T H II K K 7 YY Tạo mảng A: Ghi nhận số lần xuất hiện của các kí tự trong xâu S A … A 0 … H I J K … O … T Z 2 1 00 11 … … 11 … … 11 … … 00 Var A: array[ .. .Tiết 34 BÀI TẬP VÀ THỰC HÀNH Bài : Nhập từ bàn phím xâu Kiểm tra xâu có phải xâu đối xứng hay không ? Input: Nhập vào xâu Output: Xuất kết có phải xâu đối xứng Tiết 34 BÀI TẬP VÀ THỰC HÀNH... then write('doi xung') else write('khong doi xung'); readln; End Tiết 35 BÀI TẬP VÀ THỰC HÀNH Tiết 35. BÀI TẬP VÀ THỰC HÀNH Bài 2: Viết chương trình nhập từ bàn phím xâu kí tự S thông báo hình... End Tiết 35 BÀI TẬP VÀ THỰC HÀNH Các thao tác xử lí xâu 1.Thủ tục delete(St, vt, n); 2.Thủ tục insert(St1, St2, vt); 3.Hàm length(St); 4.Hàm Pos(St1, St2); Tiết 35 BÀI TẬP VÀ THỰC HÀNH Bài 3: