• XÂU: là một dãy kí tự trong bộ mã ASCII, mỗi kí tự được gọi là một phần tử của xâu. Số lượng kí tự trong một xâu được gọi là[r]
(1)Kiểu xâu
Một chương trình
cho phép nhập vào dãy kí tự
Có thể sử dụng kiểu liệu kiểu
học để lưu trữ dãy kí tự
(2)Kiểu xâu
KIỂU XÂU
(3)Kiểu xâu
GIỚI THIỆU đơi nétVỀ XÂU
• XÂU: dãy kí tự mã ASCII, kí tự gọi phần tử xâu
Số lượng kí tự xâu gọi
độ dài xâu Xâu có độ dài gọi
xâu rỗng
• Có thể xem xâu mảng chiều mà
mỗi phần tử kí tự Các kí tự
(4)Kiểu xâu
255 0 max
Khai báo
(Ngơn ngữ lập trình Pascal)
• Trong max ngun dương • Ví dụ: var Hoten:string[26];
• Khi max=255 ta khai báo
Var <tên biến>:string;
Ví dụ:
(5)Kiểu xâu
Cách tham chiếu đến phần tử của xâu
<tên biến xâu>[vị trí kí tự]
Ví dụ:
Ten=‘My An’
Ten[5]=?
Vị trí
Ten M y A n
(6)Kiểu xâu
(7)Kiểu xâu
Các thao tác xử lí xâu
(Ngơn ngữ lập trình Pascal)
• Phép ghép xâu
• Các phép so sánh
• Thủ tục delete(st,vt,n) • Thủ tục insert(s1,s2,n) • Hàm copy(S,vt,vt)
(8)Kiểu xâu
• Kí hiệu: +
• Ý nghĩa: dùng để ghép hai hay nhiều xâu lại với
• Ví dụ: ‘Chuc mung’+’ nam moi!’ cho
xâu ‘Chuc mung nam moi!’
Phép ghép xâu
Chương trình mẫu
(9)Kiểu xâu
Chương trình mẫu phép ghép xâu
Chạy chương trình
(10)Kiểu xâu 10 • Xâu A lớn xâu B kí tự khác chúng
kể từ trái sang xâu A có mã ASCII lớn
• Nếu A B xâu có độ dài khác A đoạn đầu B
thì A nhỏ B
• Hai xâu bằng nhau chúng giống hoàn toàn
Các phép so sánh
Giữa hai xâu có phép toán so sánh sau:
= (bằng), <> (khác),<= (bé bằng),
>= (lớn bằng),< (bé hơn), > (lớn hơn) Qui tắc so sánh hai xâu
(11)Kiểu xâu 11
So sánh xâu
A=‘Tomorrow’ B=‘tomorrow’
C=‘Tomorrow will come’
D=‘Tomorrow’ E=‘Today’
Hãy so sánh xâu A với xâu B,
C, D, E?
A < B
A < C
A = D
(12)12
• Ý nghĩa:xóa n kí tự biến xâu s bắt đầu
từ vị trí vt • Ví dụ
Thủ tục delete(s,vt,n)||Thủ tục insert(s1,s2,vt) Thủ tục delete(s,vt,n)
(13)Kiểu xâu 13
• Ý nghĩa: chèn xâu s1 vào xâu s2 bắt đầu vị trí vt
• Ví dụ:
Thủ tục delete(s,vt,n)||Thủ tục insert(s1,s2,vt) Thủ tục insert(s1,s2,vt)
S1 s2 Thao tác S1 sau thủ tục
(14)Kiểu xâu 14
(15)Kiểu xâu 15 Một số hàm
Hàm copy(s,vt,n)
Hàm pos(s1,s2) Hàm length(s)
(16)Kiểu xâu 16
• Ý nghĩa:tạo xâu gồm n kí tự liên tiếp vị trí vt xâu s
• Ví dụ:
Hàm copy(s,vt,n) || Hàm length(s) || Hàm pos(s1,s2) || Hàm upcase(ch)
Hàm copy(s,vt,n)
Giá trị s Biểu thức Giá trị biểu thức ‘Thu 15’ Copy(s,1,5) ‘Thu 7’
‘Today is Saturday’ Copy(s,10,8) ‘Saturday’
(17)Kiểu xâu 17
• Ý nghĩa:cho giá trị độ dài xâu s
• Ví dụ:
Hàm copy(s,vt,n) || Hàm length(s) || Hàm pos(s1,s2) || Hàm upcase(ch)
Hàm length(s)
Giá trị s Giá trị Length(s)
‘Today’
‘0123456789’ 10
(18)Kiểu xâu 18
• Ý nghĩa:cho vị trí xuất
xâu s1 s2
• Ví dụ:
Hàm copy(s,vt,n) || Hàm length(s) || Hàm pos(s1,s2) || Hàm upcase(ch)
Hàm pos (s1,s2)
Giá trị s1 Giá trị s2 Giá trị hàm pos(s1,s2)
‘ab’ ‘00abcdef’
‘ko’ ‘abkabcd’
(19)Kiểu xâu 19
• Ý nghĩa:cho chữ in hoa ứng với ch • Ví dụ:
Hàm copy(s,vt,n) || Hàm length(s) || Hàm pos(s1,s2) || Hàm upcase(ch)
Hàm upcase(ch)
(20)