BUỔI 15. KIỂU XÂU (CHUỖI) A. Khai báo - Cú pháp: Var : String[n]; + trong số: n là độ dài của xâu. + nếu ko có n thì xâu có độ dài lớn nhất 255 kí tự. Ví dụ: Var hoten: string[30]; Dc: string; Tham chiếu đến một phần tử trong xâu: [chỉ số]. + ví dụ: dc:=’le hong phong’; A:=dc[2]; -> a=’e’; B. Các phép toán trên xâu. 1. phép nối 2 chuỗi: - sử dụng dấu “+” để nối 2 chuỗi. + ví du: a:=’abc’; b:= ‘123’; C:= b+a; -> c= ‘123abc’; 2. Phép so sánh 2 chuỗi: - ví du: a:=’abc’; b:= ‘abd’; c:=’abc’; - Hai chuỗi bằng nhau khi lần lượt cặp ký tự tương ứng của 2 xâu sẽ bằng nhau từ trái sang phải. + xâu a bằng c. Xâu a < xâu b khi: kí tự đầu tiên bên trái khác nhau của xâu a < xâu b. + ví dụ: xâu a < b. C. Các thủ tục và hàm trên xâu. * Thủ tục là dùng để thực hiện một công việc nào đó. * Hàm là công thức được xây dựng và trả về dữ liệu nào đó. C1. Các thủ tục. Xóa : Delete(st, vt, n); Xóa đi số n kí tự trong xâu st bắt đầu từ vị trí vt. Chèn: Insert(s2, s1, vt); chèn xâu s2 vào xâu S1 từ vị trí vt. Chuyển số thành chuỗi: Str(n,st); đổi giá trị của n thành chuỗi và gán cho st. ví dụ: str(12345,s); Chuyển chuỗi thành số: Val(st, n, ma); Trong đó: + st: chuỗi dạng số (‘123’); + n: là biến kiểu số. + ma: trả về giá trị 0 nếu chuyển đúng. Ngược lại ma0. Ví dụ: Val(‘1200’,n,ma); -> n= 1200; ma= 0. Ví dụ: Val(‘12s0’,n,ma); N=? ma= 3. C2. Hàm về xâu. Độ dài của xâu: Length(s); ví dụ: a:= length(‘123acb’); -> 6. S:= ’12 21’; length(s); -> 5. sao chép: copy(st, vt, n); ví dụ: S:=’le hong phong’; s1:= copy(s, 4, 4); s1=’hong’; Cộng xâu: Concat(s1, s2,..,sn); ví dụ: T:= concat(‘12’,’ef’,’t1’); -> t= ‘12eft1’; 4. Tìm vị trí xuất hiện đầu tiên của s1 trong s2: Pos(s1, s2); ví dụ: s1:= ‘12a’; s2:= ‘abca123’; a:= pos(s1, s2); -> a= 5. BÀI TậP: Viết CT nhập vào 2 xâu họ tên. Hãy cho biết xâu nào lớn hơn và lớn hơn bao nhiêu kí tự.
Tài liệu đính kèm: