BÀI 12 KIỂU XÂU
I) KHÁI NIỆM
-Xâu là 1 dãy các ký tự trong bảng mã ASCII
-Mỗi ký tự là 1 phần tử của xâu
-Mỗi xâu có độ dài khác nhau, số lượng kí tự là độ dài của xâu
-Xâu có độ dài là 0 gọi là xâu rỗng
Ví dụ “chuc mung” -> xâu có 9 tự
“Lop 11E3”-> 8 ký tự
“”-> chiều dài =0 , gọi là xâu rỗng
-Các Ngôn ngữ lập trình đều cho phép xác định :
II) CÁCH KHAI BÁO BIẾN
a) Trong Pascal
Cách khai báo biến kiểu xâu:
Cách 1:
Var <tên biến xâu>: string[n];
Cách 2: (không có trong SGK)
Type <tên biến xâu> = string[n];
Var <tên biến xâu> : <tên kiểu xâu>;
Ghi chú :
n: là hằng số và là độ dài lớn nhất của biến xâu(n≤255). Nếu không khai báo thì xâu được khai báo có độ dài mặc định là 255
Ví dụ 1: Khai báo biến xâu có độ dài tối đa là 15 ký tự
Cách 1:
Var xau1 : string[15];
Cách 2: Type xau15 = string[15];
Var xau2 : kxau2;
Ví dụ 2: khai báo 1 xâu có độ dài tối đa là 255.
Cách 1:
Var xau3 : string[255];
Cách 2:
Var xau3 : string;
Ví dụ Tham chiếu.(Giống mảng 1 chiều )
Xau-> "abcdefgh"
xau[2]->"b" , xau[3]->"c"
b) Trong VBA
Ví dụ:
Dim a(9) as string; -> chứa 10 ký tự
Dim a as string -> độ dài 255
Ghí chú:
-độ dài tối đa của xâu là 255
-Nếu không khai báo độ dài, xâu sẽ có độ dài là 255
-Các phần tử bắt đầu từ 0
Ví dụ:
Cách làm việc với xâu (tham chiếu phần tử)
Dim Lop(12) as string
Cách tham chiếu phần tử thứ 6,7,8,9
Lop(5)=’1W’-> sai
Lop(6)=’1’
Lop(7)=’A’
Lop(8)=’9’
III CÁC HÀM XỬ LÝ XÂU :
a)Trong Pascal
· Phép so sánh: <, <=, >, >=, = , <>.
- Xâu A là lớn hơn xâu B nếu như 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 là nhỏ hơn B.
- Hai xâu được coi là bằng nhau nếu chúng hoàn toàn giống nhau.
Một số thủ tục và hàm chuẩn dùng để xử lí xâu:
- Thủ tục delete (S,vt,n) xóa n kí tự của xâu S bắt đầu từ vị trí vt.
- Thủ tục insert (S1,S2,vt) chèn sâu S1 vào xâu S2 bắt đầu từ vị trí vt của S2.
- 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.
- Hàm pos (S1,S2) cho vị trí xuất hiện đầu tiên của S1 trong S2 .
- Hàm length (S) cho độ dài xâu S.
- Hàm upcase (ch) cho chữ cái viết hoa tương ứng với chữ thường trong ch.
- Hàm chr (X) cho kí tự có mã X trong bảng mã ASCII.
- Hàm ord (ch) cho mã của kí tự ch trong bảng mã ASCII.
b)Trong VBA
Ví dụ :
Private Sub Chucmung_Click()
Dim ten As String
Dim cm As String
Dim cd As Byte
Dim temp As String
Dim temp1 As String
ten = InputBox("Nhap ten nguoi nao do", "Thong bao", "")
cm = "Chuc mung nam moi" + " " + ten
cd = Len(cm)
temp = Left(cm, 9)
temp1 = Right(cm, 5)
MsgBox cm, vbOKOnly, "Thong diep"
MsgBox "Chieu dai cua xau la :" & cd
MsgBox "9 ky tu ben trai la :" & temp
MsgBox "4 ky tu cuoi cung la" & temp1
End Sub
Bài tập
Bài 1 Viết chương trình cho phép nhập vào tên 1 người bất kỳ, hiển thị ra màn hình dòng chữ :
“Chuc mung nam moi” và tên người đó.
Bài 2 Viết chương trình nhập cho phép nhập vào 1 xâu bất kỳ, hãy cho biết chiều dài của xâu