Dữ liệu có cấu trúc KIỂU CHUỖI I – Khái niệm: Chuỗi dãy kí tự ASCII nằm dấu nháy đơn ’ ’ Độ dài chuỗi tổng số kí tự chuỗi, khoảng trắng tính kí tự Chuỗi có độ dài gọi chuỗi rỗng vd: ’Hoa Hong’ có độ dài S:=’’ ; S chuỗi rỗng Trung tâm tin học Thanh Niên Khai báo chuỗi Cú pháp: var : String[độ dài lớn nhất]; Vd: var hoten : String[30]; noisinh : String[20]; • Nếu khơng khai báo độ dài chuỗi có độ dài tối đa 255 var diachi : String; Trung tâm tin học Thanh Niên II – Các thao tác chuỗi: 1) Truy cập vào chuỗi: tenchuoi[số vị trí] Vd: A := ’Binh Duong’; A[1] = ’B’ A[5] = ’ ’ A[10] = ’g’; Trung tâm tin học Thanh Niên 2) Phép ghép chuỗi: Ta dùng dấu cộng ’+’ để ghép chuỗi Vd: ho := ’Nguyen’ ; ten := ’Van Binh’ ; ho + ten = ’NguyenVan Binh’ ho + ’ ’ + ten = ’Nguyen Van Binh’ Trung tâm tin học Thanh Niên 3) Phép so sánh: - Hai chuỗi giống hoàn toàn vd: ’tin hoc’ = ’tin hoc’ - Nếu chuỗi A phần đầu chuỗi B A < B vd: ’Thanh nien’ < ’Thanh nien Binh Duong’ - Quy tắc: So sánh kí tự chuỗi cặp từ trái qua < phải theo mã ASCII Vd: ’Anh’ ’Em’ > ’kien’ ’Voi’ Trung tâm tin học Thanh Niên Hàm Length(St) : cho độ dài chuỗi St Ví dụ: Length(‘ABCD’)=4 chuỗi ‘ABCD’ có ký tự Chuỗi rỗng có độ dài Hàm Pos(S, St): Cho vị trí tìm thấy chuỗi S chuỗi St, khơng tìm thấy hàm cho kết Ví dụ: Pos(‘Ab’, ‘cdAb3Abm’) = 3, Pos(‘Ab’, ‘1bA3Ab’) = Trung tâm tin học Thanh Niên Hàm Copy(St, k, m) : cho m ký tự St tính từ vị trí k Ví dụ: Copy (‘ABCDEF’, 4, 2) =‘DE’ Nếu k> Length(St) kết qủa chuỗi rỗng Nếu m> số ký tự đứng sau kể từ vị trí k hàm Copy lấy ký tự từ vị trí k đến hết chiều dài St, ví dụ : Copy (‘ABCD’, 3, 10) = ‘CD’ Trung tâm tin học Thanh Niên Thủ tục Delete(St, k, m) : Xóa m ký tự biến chuỗi St vị trí thứ k Ví dụ, sau thực lệnh: St:=‘ TurboPascal’; Delete(St, 1, 5); giá trị St=‘Pascal’ ký tự đầu bị xóa Nếu k > Length(St) khơng xóa Nếu m > số ký tự đứng sau kể từ vị trí k xóa hết từ vị trí k đến cuối chuỗi Trung tâm tin học Thanh Niên ... Cú pháp: var : String[ độ dài lớn nhất]; Vd: var hoten : String[ 30]; noisinh : String[ 20]; • Nếu khơng khai báo độ dài chuỗi có độ dài tối đa 255 var diachi : String; Trung tâm tin học... Thanh Niên 3) Phép so sánh: - Hai chuỗi giống hoàn toàn vd: ’tin hoc’ = ’tin hoc’ - Nếu chuỗi A phần đầu chuỗi B A < B vd: ’Thanh nien’ < ’Thanh nien Binh Duong’ - Quy tắc: So sánh kí tự chuỗi... m) : Xóa m ký tự biến chuỗi St vị trí thứ k Ví dụ, sau thực lệnh: St:=‘ TurboPascal’; Delete(St, 1, 5); giá trị St=? ?Pascal? ?? ký tự đầu bị xóa Nếu k > Length(St) khơng xóa Nếu m > số ký tự đứng