Các thao tác xử lý xâu • Phép ghép xâu: Kí hiệu là dấu cộng + được sử dụng để ghép nhiều xâu thành 1... Các thủ tục và hàm chuẩn xử lý xâu THỦ TỤC..[r]
(1)Kiểm tra bài cũ • Câu 1: Viết khai báo trực tiếp biến mảng chiều • Câu 2: Cho mảng số nguyên C, gồm dòng và cột Viết khai báo cho biến mảng chiều C Lop10.com (2) Ví dụ 1: 3Dữ liệu2 các phần tử vd là liệu dạng gì? I Dữ liệu các phần tử vd1 là liệu dạng kiểu số Ví dụ 2: T N H Các phần tử vd2 có phải là liệu không? Lop10.com O C (3) Bài 12: KiỂU XÂU Lop10.com (4) Khái niệm Xâu là dãy các kí tự mã ASCII • Xâu tạo thành các kí tự, đó có thể có kí tự trống (dấu cách) • Mỗi kí tự gọi là phần tử xâu • Số lượng kí tự xâu gọi là độ dài xâu • Xâu có độ dài gọi là xâu rỗng Lop10.com (5) • Trong chương trình viết xâu kí tự ta phải viết xâu kí tự đó dấu nháy đơn Ví dụ: 'Tin hoc' • Khi nhập từ bàn phím xâu, ta gõ các kí tự thuộc xâu đó (rồi nhấn phím Enter) Lop10.com (6) Ví dụ A Tên xâu: A Độ dài xâu: T H Tham chiếu đến phần tử xâu I N H O C Tên biến xâu [chỉ số] Ví dụ: A[5]: = ‘H’ Tham chiếu tới phần tử thứ i xâu ta viết A[i] Lop10.com (7) Xâu kí tự Xâu có rỗng trốngnhư viết thếviết nào? nhưĐộ thếdài nào? baoĐộ dài bao nhiêu? nhiêu? T I N H O C Xâu gồm kí tự trống viết là: ‘ ’ Có độ dài là Để viết xâu rỗng ta viết dâu nháy đơn liền ‘’ Có độ dài là Lop10.com (8) Khai báo var <tên biến>: string [độ dài lớn xâu] ; Ví dụ: var Hoten: string [26] ; Trong khai báo xâu có thể bỏ qua phần khai báo [độ độ dài lớn xâu] Khi đó nó nhận giá trị ngầm định là 255; Ví dụ: var Chugiai: string; Lop10.com (9) Nhập xâu từ bàn phím Readln(biến xâu); Viết xâu màn hình Writeln(biến xâu); Vd: Readln(st); Vd: Writeln(st); Ngoài ta có thể sử dụng lệnh gán để nhập giá trị cho biến xâu Tên_biến_xâu:=‘hằng_xâu’; S := ‘Ha noi’ Lop10.com (10) Các thao tác xử lý xâu • Phép ghép xâu: Kí hiệu là dấu cộng (+) sử dụng để ghép nhiều xâu thành S = S1 + S2 + … + Sn Có thể thực phép ghép xâu các và biến xâu Ví dụ: ‘Ha’ + ‘ Noi’ + ‘ - ’ + ‘Viet Nam’ Xâu kết quả: ‘Ha Noi - Viet Nam’ Lop10.com (11) Ví dụ: Ghép các xâu sau 'Ca' + 'Mau' = ' CaMau' 'Tran Van' + 'Thoi' = Lop10.com 'Tran VanThoi' (12) b Các phép so sánh • Các phép so sánh : =, <>, <, >, ≤, ≥ trên xâu thực theo thứ tự bảng mã ASCII • So sánh xâu theo quy tắc sau: * Xâu A = B, chúng giống hệt ‘tin hoc’ = ‘tin hoc’ * Xâu A <> xâu B ‘tin hoc ’ <> ‘tin hoc’ Lop10.com (13) * Xâu A > B nếu: + Xâu B là đoạn đầu xâu A B:=‘may tinh’ < A:=‘may tinh moi’ + Kí tự đầu tiên khác kể từ trái sang A:=‘Ha Noi’ > B:=‘Ha Nam’ xâu A có mã ASCII lớn xâu B Xâu có độ dài lớn có thể là xâu nhỏ ‘Anh’ Lop10.com < ‘Ba’ (14) Ví dụ: So sánh các xâu sau 'AB' < 'ABC' 2.'AC' 'ABC' > 'AB' < 'AC' 'ABB' < 'ABC' Lop10.com (15) Ví dụ: A1:=‘nguyen van a’ A2:= ‘Nguyen Van A’ B1:=‘May Vi Tinh’ B2 :=‘May Tinh’ C1:=‘Day tot - Hoc’ C2:=‘Day tot - Hoc tot’ Lop10.com (16) c Các thủ tục và hàm chuẩn xử lý xâu THỦ TỤC Ý NGHĨA VÍ DỤ S:=‘Song Hong’ Xóa n kí tự Delete(S, 1, 5) Delete (S, vt, n) biến xâu S bắt đầu ‘Hong’ từ vị trí vt Delete(S, 6, 4) ‘Song ’ S1:=‘Tin ’, S2:=‘Hoc’ Chèn xâu S1 vào Insert(S1, S2 ,1) Insert (S1, S2, vt) xâu S2 bắt đầu ‘Tin Hoc’ Insert(S2, S1 ,1) vị trí vt ‘HocTin ’ Lop10.com (17) HÀM Copy (S, vt, n) Length (S) Pos (S1, S2) Upcase (ch) Ý NGHĨA Tạo xâu gồm n kí tự liên tiếp vị trí vt xâu S Cho giá trị là độ dài xâu S VÍ DỤ S:= ‘Tin Hoc’ Copy(S, 5, 3) ‘Học’ S:=‘Tin Hoc ’ Length(S) -> Cho vị trí xuất đầu tiên xâu S1 xâu S2 S1:=‘cd’ S2:=‘abcdef’ Pos(S1, S2) ->3 Cho chữ cái in hoa ứng với chữ cái ch Ch:=‘d’ Upcase(ch) ‘D’ Lop10.com (18) Ví dụ: Cho S = ‘Mon tin hoc’ X =‘Mon ? hoc’ Delete(S,4, 4); Cho S = ‘Em yeu truong em’ Hãy viết thao tác để thêm tên trường em học vào sau chữ truong xâu S? Insert(‘Tran Van Thoi ’, X, 15); Cho S = ‘cai xac xinh xinh’ Cho biết giá trị thao tác pos(‘xinh’, S)? Pos(‘xinh’,S) = Lop10.com (19) Hết Lop10.com (20) Bài 12: kiểu xâu(tiếp theo) Lop10.com (21)