.
XÂU KÝ TỰ (STRING)
I. KHAI BÁO KIỂU STRING
VAR Tên biến : STRING[Max];
Trong đó Max là số ký tự tối đa có thể chứa trong chuỗi (0<=Max<=255). Nếu không có khai báo [Max] thì số ký tự mặ mặc định trong chuỗi là 255.
Ví dụ:
Var Hoten:String[100]
St : String; {St có tối đa là 255 ký tự}
II. TRUY XUẤT DỮ LIỆU KIỂU STRING
- Có thể sử dụng các thủ tục xuất nhập Write, Writeln, Readln để truy xuất các biến kiểu String.
- Để truy xuất đến ký tự thứ k của xâu ký tự, ta sử dụng cú pháp sau: Tênbiến[k].
III. CÁC PHÉP TOÁN TRÊN XÂU KÝ TỰ
3.1. Phép nối xâu: +
3.2. Các phép toán quan hệ: =, , <, , >=.
Chú ý: Các phép toán quan hệ được so sánh theo thứ tự từ điển.
IV. CÁC THỦ TỤC VÀ HÀM VẾ XÂU KÝ TỰ
4.1. Hàm lấy chiều dài của xây ký tự
LENGTH(St : String):Integer;
4.2. Hàm COPY(St : String; Pos, Num: Byte): String;
Lấy ra một xâu con từ trong xâu St có độ dài Num ký tự bắt đầu từ vị trí Pos .
4.3. Hàm POS(SubSt, St :String):Byte;
Kiểm tra xâu con SubSt có nằm trong xâu St hay không? Nếu xâu SubSt nằm trong xâu St thì hàm trả về vị trí đầu tiên của xâu con SubSt trong xâu St, ngược lại hàm trả về giá trị 0.
4.4. Thủ tục DELETE(Var St:String; Pos, Num: Byte);
Xoá trong xâu St Num ký tự bắt đầu từ vị trí Pos.
4.5. Thủ tục INSERT(SubSt: String; Var St: String; Pos: Byte);
Chèn xâu SubSt vào xâu St bắt đầu tại vị trí Pos.
4.6. Thủ tục STR(Num; Var St:String);
Đổi số nguyên hay thực Num thành dạng xâu ký tự, kết quả lưu vào biến St.
4.7. Thủ tục VAL(St:String; Var Num; Var Code:Integer);
Đổi xâu số St thành số và gán kết quả lưu vào biến Num. Nếu việc chuyển đổi thành công thì biến Code có giá trị là 0, ngược lại biến Code có giá trị khác 0 (vị trí của lỗi).
V. Bài tập
5.1: Nhập vào một chuỗi. In ra màn hình chuỗi đã nhập

5.2 Nhập vào một chuỗi. Sau đó nhập một ký tự a. Đếm xem chuỗi đó có bao nhiêu chữ a
Ví dụ:
Chuỗi nhập vào: huynhngocduc
Nhap vao ky tu a: h
So chu h trong chuoi: 2

5.3 Nhập vào một chuỗi, Đếm xem chuỗi đó có bao nhiêu từ
Ví dụ:
Hom nay troi nang =>4 từ
Hom nay toi di hoc =>5 từ
5.4 Nhập vào một chuỗi. Kiểm tra chuỗi đó có phải là chuỗi đối xứng không?
Ví dụ chuỗi đối xứng: abcba hoặc abccba