– Dữ liệu kiểu xâu là dãy các kí tự.
Ví dụ: * Ha noi’;
– Một xâu là một dãy các kí tự (trong bảng mã ASCII), có thể coi xâu như một mảng một chiều mà mỗi phần tử là một kí tự. Số lượng kí tự trong một xâu được gọi là độ dài của xâu. Xâu có độ dài bằng 0 là xâu rỗng.
Các ngôn ngữ lập trình đều có quy tắc, cách thức cho phép xác định:
- Tên kiểu xâu;
- Cách khai báo biến kiểu xâu;
- Số lượng kí tự của xâu;
- Các thao tác với xâu;
- Cách tham chiếu tới phần tử xâu.
– Biểu thức gồm các toán hạng là biến xâu, biến kí tự hoặc hằng xâu được gọi là biểu thức xâu
1. Khai báo
Biến kiểu xâu có thể khai báo như sau:
var <tên biến>: string[độ dài lớn nhất của xâu]
Lưu ý: Độ dài lớn nhất của xâu < 255.
Ví dụ
var Hoten: string[26];
- Trong mô tả xâu có thể bỏ qua phần khai báo độ dài, chẳng hạn: var chugiai: string;
Khi đó, độ dài lớn nhất của xâu sẽ nhận giá trị mặc định là 255.
2. Các thao tác xử lí xâu
a) Phép ghép xâu được dùng để ghép nhiều xâu thành một (kể cả đối với các hằng và biến xâu).
Ví dụ: ‘Nghe’ + ‘An’ . Kết quả: Nghe An
b) Các phép so sánh: (=), (o), (<), (>),(<=), (>=) có thứ tự ưu tiên thực hiện thấp hơn phép ghép xâu và thực hiện việc so sánh hai xâu theo quy tắc sau:
- Xâu A là lớn hơn xâu B nếu kí tự đầu tiên khác nhau giữa chúng kể từ trái sang trong xâu A có mã ASCII lớn hơn.
- Nếu A và B là các xâu có độ dài khác nhau và A là đoạn đầu của B thì A nhỏ hơn.
Ví dụ: ‘Que huong’ < ‘Que huong toi’.
- Hai xâu được coi là bằng nhau nếu như chúng giống nhau hoàn toàn.
Ví dụ: ‘Ha noi’ = ‘Ha noi’
c) Thủ tục delete(st, V/, n) thực thực việc xóa n kí tự của biến xâu st bắt đầu từ vị trí vt.
Ví dụ: st=’abcdef’; thao tác delete (st, 4, 2 ) , cho kết quả ‘abcd’
d) Thủ tục insert (s1, s2, vt) chèn xâu s1 vào biến xâu s2, bắt đầu ở ví trí Vt.
Ví dụ: 1l=’PC’; s2= ‘ IBM486 thao tác insert (s1, s2, 4);chokếtquả ‘IBMPC486’
e) Hàm copy(S, vt, N) tạo xâu gồm N kí tự liên tiếp bắt đầu từ vị trí vt của xâu s.
Vi dụ: S=’Bai hoc thu 9′; biểu thức copy ( s, 9, 5); cho kết quả ‘thu 9’
f) Hàm length(s) cho giá trị là độ dài xâu s.
Vi dụ: s= ‘Tin hoc’ thì biểu thức length (S) có độ dài là 7.
g) Hàm pos(s1, s2) cho vị trí xuất hiện đầu tiên của xâu s1 trong xâu s2.
Ví dụ: s2=’abcdef’ thì biểu thức pos (‘cd’, s2) cho kết quả 3.
h) Hàm upcase(ch) cho chữ cái in hoa ứng với chữ cái trong ch.
Ví dụ: ‘d’ thì biểu thức upcase (ch) cho kết quả ‘ D’.
Lưu ý:
– Xâu được tạo thành bởi các kí tự, trong đó có thể có dấu cách. Dấu cách thể hiện trong các văn bản là phần trống ngăn cách giữa hai từ viết liên tiếp. Kí tự này được gõ bằng phím dài nhất trên bàn phím (Space Bar);
– Trong chương trình, khi viết một xâu kí tự, ta phải viết xâu đó giữa hai dấu nháy đơn. Nhưng khi nhập từ bàn phím giá trị một xâu, ta chỉ gõ các kí tự thuộc xâu đó (rồi nhấn phím Enter).
– Xâu chỉ gồm một dấu cách được viết là ‘ ‘. Để viết xâu rỗng ta viết hai dấu nháy đơn liền nhau.
– Khi so sánh hai xâu, xâu có độ dài nhỏ hơn có thể là xâu lớn hơn (>), ví dụ:
‘Anh'<‘Ba’
– Khi sử dụng lệnh gán, ta có thể gán trị là một kí tự cho một biến xâu kí tự nhưng việc gán trị là một xâu kí tự cho một biến kiểu kí tự là không hợp lệ dù xâu đó có độ dài bằng i.
3. Một số ví dụ
Ví dụ 1: Bài toán so sánh hai xâu: nhập vào họ tên của hai người vào hai biến xâu và đưa ra màn hình xâu dài hơn, nếu bằng nhau thì đưa ra xâu nhập sau.
Chương trình:
Progam vidu1;
var
a, b: string;
begin
write(’Nhap ho ten thu nhat: ’);
readln(a);
write(’Nhap ho ten thu hai : );
readln(b);
if length(a)>length(b) then write(a) else write(b);
readln
End.
– Tham số của các hàm và thủ tục chuẩn phải hợp lí, chẳng hạn không thể dùng Insert(sl,s2,I0) khi length(s2)<10.
Tôi là Nguyễn Văn Sỹ có 15 năm kinh nghiệm trong lĩnh vực thiết kế, thi công đồ nội thất; với niềm đam mê và yêu nghề tôi đã tạo ra những thiết kếtuyệt vời trong phòng khách, phòng bếp, phòng ngủ, sân vườn… Ngoài ra với khả năng nghiên cứu, tìm tòi học hỏi các kiến thức đời sống xã hội và sự kiện, tôi đã đưa ra những kiến thức bổ ích tại website nhaxinhplaza.vn. Hy vọng những kiến thức mà tôi chia sẻ này sẽ giúp ích cho bạn!