Chương trình Tin Học, lớp 11
Người soạn: Trần Thị Thanh Thùy
Gmail:
BÀI 12: KIỂU XÂU (TIẾT1)
Giới thiệu bài giảng
KIỂM TRA BÀI CŨ
Câu hỏi: Em hãy nêu cách khai báo trực tiếp biến mảng hai chiều
Trả lời:
var <tên biến mảng>:array[kiểu chỉ số hàng, kiểu chỉ số cột] of <kiểu phần tử>;
ĐẶT VẤN ĐỀ
Viết chương trình nhập họ tên của 25 học sinh trong lớp.
Xác định kiểu dữ liệu sử dụng để lưu trữ biến họ tên ?
Var Hoten: array[1 30] of char;
CHƯƠNG 4: KIỂU DỮ LIỆU CÓ CẤU TRÚC
BÀI 12: KIỂU XÂU (TIẾT 1)
BÀI 12: KIỂU XÂU
1. KHÁI NIỆM XÂU
- Xâu có độ dài bằng 0 gọi là xâu rỗng;
A
B
A
n
L u o n g D o n g
C
•
Ví dụ 1:
13
1
0
‘’
‘ ‘
- Xâu là một dãy kí tự trong bảng mã ASCII;
- Một kí tự là một phần tử của xâu;
- Số lượng kí tự trong xâu được gọi là độ dài của xâu;
Ví dụ: ‘Huyen Phu loc’
BÀI 12: KIỂU XÂU
1. KHÁI NIỆM XÂU
Lưu ý:
•
Có thể xem xâu là một mảng các kí tự. Các phần tử xâu được
đánh số thứ tự, thường bắt đầu từ 1;
•
Tương tự mảng, tham chiếu đến phần tử thứ i (chỉ số) của
xâu được xác định bởi: Tenbienxau[chỉ số]
A
A
n
L u o n g D o n g
1 2 3 4 5 6 7 8 9 10 11 12 13
Ví dụ 2:
A[4]=
‘L’?
L
BÀI 12: KIỂU XÂU
2. KHAI BÁO
var <tên biến xâu> :string [n];
Trong đó:
var, string: Là 2 từ khóa Pascal sử dụng để khai báo xâu;
n: Là độ dài lớn nhất của xâu; n không được vượt quá 255 kí tự;
Tên biến xâu: do người dùng tự đặt
Ví dụ 3:
var hoten :string [30];
var s :string ;
Lưu ý: Nếu không khai báo thì độ dài lớn nhất của xâu nhận giá trị
ngầm định là 255 kí tự
BÀI 12: KIỂU XÂU
3. CÁC THAO TÁC XỬ LÍ XÂU
a. Phép ghép xâu (Phép cộng)
Là ghép nhiều xâu thành một xâu. Kí hiệu là dấu cộng (+).
Phép ghép xâu có thể thực hiện đối với hằng và biến xâu.
Ví dụ 4:
‘Hoc’ + ‘ sinh’ + ‘ cham’ + ‘ ngoan’
Kết quả: ‘Hoc sinh cham ngoan’
Ví dụ 5:
St1:= ‘Tin yeu’
St2:= ‘ hy vong’
St:=‘Tin yeu hy vong’
St= st1+st2=?
BÀI 12: KIỂU XÂU
3. CÁC THAO TÁC XỬ LÍ XÂU
b. Phép so sánh: =, <>, >, >=, <, <=
Quy tắc so sánh Ví dụ
Xâu A=B: Nếu chúng giống nhau
hoàn toàn
‘tin hoc’ ‘tin hoc’
Xâu A>B: Nếu kí tự khác nhau
đầu tiên giữa chúng kể từ trái
sang trong xâu A có mã ASCII
lớn hơn
‘Me’ ‘Ba’
Xâu A<B: Nếu A và B có độ dài
khác nhau và A là đoạn đầu của B
‘Hoc’ ‘Hoc sinh’
‘Con gai’ ‘Con trai’
?
?
?
?
=
>
<
<
Mã ASCII 77 66
BÀI 12: KIỂU XÂU
3. CÁC THAO TÁC XỬ LÍ XÂU
c. Thủ tục delete(st,vt,n)
Thủ tục Ý nghĩa
Detele(st,vt,n) Xóa (n) kí tự của biến xâu (st)
bắt đầu từ vị trí (vt)
N G U Y E N
T E O
Delete(st,1,6)
St:=
1 2 3 4 5 6
7
8 9 101 2 3 4 5 6
Delete(st,1,6)
Ví dụ 6 (mô phỏng thủ tục Delete):
St
BÀI 12: KIỂU XÂU
3. CÁC THAO TÁC XỬ LÍ XÂU
d. Thủ tục insert(s1,s2,vt)
Thủ tục Ý nghĩa
insert(s1,s2,vt) Chèn xâu s1 vào xâu s2, bắt đầu
từ vị trí vt.
Ví dụ 7:
insert(s1,s2,1)=?
s1:=‘Anh’
s2:=‘ Em ’
insert(s1,s2,1)=’Anh Em ’
E T H O C T O
T I T
S1:=
S2:=
Insert(S1,S2,3)
3
1
2 3
Insert(S1,S2,3)
Ví dụ 8 (mô phỏng thủ tục Insert):
S2:=
S1:=
XÂU THU ĐƯỢC: ‘TIET HOC TOT’
HOẠT ĐỘNG CỦNG CỐ
BÀI TẬP
st1
A N T O A N
st2
A N G I A O T H O N G
Insert(st1,st2,3)=?
6
12
St1>st2
st1
T O A N
A N A N T O A N G I A O T H O N G
Độ dài cuả xâu St1= ?
Độ dài của xâu st2=?
So sánh st1 và st2
Delete(st1,1,2)=?
T: 84
: 32
BÀI TẬP VỀ NHÀ
-
Đưa ra các ví dụ khai báo xâu, tìm độ dài của xâu;
-
Đưa ra ví dụ về so sánh xâu, các thủ tục và hàm xử lí xâu;
- Đọc trước các ví dụ trong sách giáo khoa trang 71, nghiên
cứu kĩ lý thuyết về xâu.