Nhiệt liệt chào mừng
các thầy cô giáo về dự
tiết học hôm nay
KIỂM TRA BÀI CŨ
GV: Đàm Thị Phương Hoài - THPT Cao Bình
KIỂM TRA BÀI CŨ
ĐẶT VẤN ĐỀ
NỘI DUNG BÀI MỚI
CỦNG CỐ
A
B
C
D
Var A: string[50];
Var A= string[30];
Var A: string;
Var A: string[1];
Cõu 1: Cỏch khai bỏo bi?n xõu n�o du?i dõy l� sai?

Câu 2:
Cho S:= ‘Tin hoc’; Tham chiếu tới phần tử thứ 4 của S ta được kết quả?
A. S[4] = ‘hoc’
B. S[4] = ‘’
C. S[4] = ‘h’
D. S[4] = ‘ ‘
Câu 3:
Cú pháp khai báo tổng quát, đầy đủ của dữ liệu kiểu xâu là:
A. Var of String;
B. Var : String[độ dài lớn nhất của xâu];
C. Var < tên biến> String[độ dài lớn nhất của xâu];
D. Var < tên biến> of String[độ dài lớn nhất của xâu];
GV: Đàm Thị Phương Hoài - THPT Cao Bình
(Tiết 2)
CHƯƠNG IV
TIN HỌC 11
KIỂU DỮ LIỆU CÓ CẤU TRÚC
kiểu xâu
CHƯƠNG IV
TIN HỌC 11
BÀI 12: KIỂU XÂU
3. Các thao tác xử lí xâu
Các phép so sánh xâu:
b. Phép so sánh xâu
- Quy tắc:
+ Xâu A=B nếu chúng giống hệt nhau
Ví dụ: ‘TIN HỌC’ = ‘TIN HỌC’
+ Xâu A>B nếu :
Kí tự đầu tiên khác nhau giữa chúng ở xâu A có mã ASCII lớn hơn ở xâu B
‘Ha Noi’ > ‘Ha Nam’
Xâu A và xâu B có độ dài khác nhau. Nếu A là đoạn đầu của B thì xâu A nhỏ hơn xâu B.


‘CD’ < ‘CDE’


>, >=, <, <=, =, <>
A
B
GV: Đàm Thị Phương Hoài - THPT Cao Bình
KIỂM TRA BÀI CŨ
ĐẶT VẤN ĐỀ
NỘI DUNG BÀI MỚI
CỦNG CỐ
Thủ tục: Delete
Thủ tục: Insert
Hàm Copy
Hàm Length
Hàm Pos
Hàm UpCase
a. Thủ tục DELETE(St, vt, n)
Xoá n kí tự của xâu St bắt đầu từ vị trí vt
Ví dụ 1:
St:= ‘Song Hong’;
Delete(St,1,5);
g
n
o
H
g
n
o
S
1 2 3 4 5 6 7 8 9
Kết quả: St = ‘Hong’
4. CÁC HÀM VÀ THỦ TỤC XỬ LÝ XÂU:
Tiết 29 BÀI 12: KIỂU XÂU (tiết 2)
GV: Đàm Thị Phương Hoài - THPT Cao Bình
KIỂM TRA BÀI CŨ
ĐẶT VẤN ĐỀ
NỘI DUNG BÀI MỚI
CỦNG CỐ
Thủ tục: Delete
Thủ tục: Insert
Hàm Copy
Hàm Length
Hàm Pos
Hàm UpCase
b. Thủ tục INSERT(St1, St2, vt)
Ví dụ 1:
St1:= ‘vi-’; St2:= ‘May-tinh’;
1 2 3
1 2 3 4 5 6 7 8
v
-
i
Kết quả: St2 = ‘May-vi-tinh’
1 2 3 4 5 6 7 8 9 10 11
Chèn xâu St1 vào xâu St2 bắt đầu từ vị trí vt
Insert(St1,St2,5);
Tiết 29 BÀI 12: KIỂU XÂU (tiết 2)
GV: Đàm Thị Phương Hoài - THPT Cao Bình
KIỂM TRA BÀI CŨ
ĐẶT VẤN ĐỀ
NỘI DUNG BÀI MỚI
CỦNG CỐ
Thủ tục: Delete
Thủ tục: Insert
Hàm Copy
Hàm Length
Hàm Pos
Hàm UpCase
c. Hàm COPY(S, vt, n)
Tạo một xâu gồm n ký tự liên tiếp bắt đầu từ vị trí vt của xâu S
Ví dụ 1:
St1:= ‘Xau-ky-tu’; St2:= Copy(St1,5,5);
1 2 3 4 5 6 7 8 9
Copy
k
y
-
u
t
Kết quả St2 = ‘ky-tu’
Tiết 29 BÀI 12: KIỂU XÂU (tiết 2)
GV: Đàm Thị Phương Hoài - THPT Cao Bình
KIỂM TRA BÀI CŨ
ĐẶT VẤN ĐỀ
NỘI DUNG BÀI MỚI
CỦNG CỐ
Thủ tục: Delete
Thủ tục: Insert
Hàm Copy
Hàm Length
Hàm Pos
Hàm UpCase
d. Hàm LENGTH(S)
Ví dụ :
S:= ‘Tin hoc’;
D:= Length(S);
1
2
7
3
6
5
4
Kết quả: D = 7
Cho giá trị là độ dài của xâu S
Tiết 29 BÀI 12: KIỂU XÂU (tiết 2)
GV: Đàm Thị Phương Hoài - THPT Cao Bình
KIỂM TRA BÀI CŨ
ĐẶT VẤN ĐỀ
NỘI DUNG BÀI MỚI
CỦNG CỐ
Thủ tục: Delete
Thủ tục: Insert
Hàm Copy
Hàm Length
Hàm Pos
Hàm UpCase
Ví dụ 2:
S2:= ‘abcde’
D:= pos(‘Cd’,S2);
D = 0
Tiết 29 BÀI 12: KIỂU XÂU (tiết 2)
e. Hàm POS(St1, St2)
- Cho vị trí xuất hiện đầu tiên của xâu St1 trong xâu St2
GV: Đàm Thị Phương Hoài - THPT Cao Bình
KIỂM TRA BÀI CŨ
ĐẶT VẤN ĐỀ
NỘI DUNG BÀI MỚI
CỦNG CỐ
Thủ tục: Delete
Thủ tục: Insert
Hàm Copy
Hàm Length
Hàm Pos
Hàm UpCase
Cho chữ cái in hoa ứng với chữ cái trong ch
g. Hàm UPCASE(Ch)
Ch2:= Upcase(Ch1);
1 2 3 4 5 6
Upcase(st[1])
Upcase(st[2])
Upcase(st[3])
Upcase(st[4])
Upcase(st[5])
Upcase(st[6])
1 2 3 4 5 6
U
p
C
a
s
e
P
A
S
E
Kết quả: Ch2 = ‘A’
Ch1:= ‘a’;
St
Tiết 29 BÀI 12: KIỂU XÂU (tiết 2)
5. Một số ví dụ:
Nhóm 2:
- Hãy xác định Input, output của ví dụ 3 SGK trang 71,72
- Nêu ý tưởng của bài toán?
Nhóm 3:
- Hãy xác định Input, output của ví dụ 4 SGK trang 72
- Nêu ý tưởng của bài toán ?
Nhóm 4:
- Hãy xác định Input, output của ví dụ 5 SGK trang 72
- Ý tưởng của bài toán?
Xác định bài toán
Input: Nhập vào xâu a, xâu b
Output: Thông báo trùng nhau hoặc không trùng nhau
Ví dụ 2: Nhập hai xâu từ bàn phím, kiểm tra kí tự đầu tiên của xâu thứ nhất có trùng với kí tự cuối cùng của xâu thứ hai hay không?
Ý TƯỞNG
-Xác định độ dài xâu b
- So sánh giá trị a[1] với giá trị B[x], Nếu a[1] = B[x] thì đưa ra thông báo ‘Trung nhau’ ngược lại ‘Khac nhau’.
6
5
7
20
15
1
8
Ý TƯỞNG
Xác định bài toán
Input: Nhập vào xâu a
Output: Đưa ra màn hình xâu a theo thứ tự ngược lại
Ví dụ 3: Nhập vào một xâu từ bàn phím và đưa ra màn hình xâu đó được viết theo thứ tự ngược lại.
-Tính độ dài xâu a là k.
- Lần lượt với i từ k về 1 đưa lên màn hình từng a[i]
6
5
7
20
15
1
8
Ý TƯỞNG
Xác định bài toán
Input: Nhập vào xâu a
Output: Đưa ra màn hình xâu b không chứa dấu cách
Ví dụ 4: Nhập vào một xâu từ bàn phím và đưa ra màn hình xâu thu được từ nó bởi việc loại bỏ các dấu cách nếu có.
- Xác định độ dài xâu a.
- Tạo xâu rỗng b.
- Lần lượt với i từ 1 tới k, so sánh phần tử a[i] với dấu ‘ ‘, nếu a[i] <> ‘ ‘ ghép a[i] vào xâu b
6
5
7
20
15
1
8
Ý TƯỞNG
Xác định bài toán
Input: Nhập vào xâu s1
Output: Đưa ra màn hình xâu s2 gồm các chữ số trong s1
Ví dụ 5: Nhập vào một xâu kí tự s1, tạo xâu s2 gồm tất cả các chữ số trong s1 (giữ nguyên thứ tự xuất hiện của chúng) và đưa kết quả ra màn hình.
- Khởi tạo xâu s2 rỗng.
- Lần lượt với i tới chiều dài s1, so sánh phần tử a[i] có nằm trong đoạn kí tự ‘0’ tới ‘9’ hay không? Nếu thuộc đoạn ‘0’ tới ‘9’ thì cộng vào xâu s2.
6
5
7
20
15
1
8
BÀI TẬP
Bài tập 1: Em hãy ghép các câu lệnh vào chương trình cho sẵn thành một chương trình hoàn chỉnh và nêu ý nghĩa chương trình
Ý nghĩa chương trình: Nhập vào từ bàn phím xâu a, tạo xâu b gồm tất cả các chữ cái in hoa (giữ nguyên thứ tự xuất hiện của chúng) và đưa kết quả ra màn hình.
Đáp án:
GV: Đàm Thị Phương Hoài - THPT Cao Bình
31
KIỂM TRA BÀI CŨ
ĐẶT VẤN ĐỀ
NỘI DUNG BÀI MỚI
CỦNG CỐ
Viết chương trình nhập vào một xâu S, in ra màn hình xâu đó ở dạng in hoa.
Bài tập 2
Tiết 29 BÀI 12: KIỂU XÂU (tiết 2)
GV: Đàm Thị Phương Hoài - THPT Cao Bình
KIỂM TRA BÀI CŨ
ĐẶT VẤN ĐỀ
NỘI DUNG BÀI MỚI
CỦNG CỐ
CHƯƠNG TRÌNH:
Program inhoa;
Uses CRT;
Var S: string; i: integer;
Begin
Clrscr;
Write(‘Nhap vao xau S: ’); readln(S);
For i:= 1 To length(S) Do upcase(S[i]);
Write(‘Xau da chuyen:’,S);
Readln;
End.
Tiết 29 BÀI 12: KIỂU XÂU (tiết 2)
GV: Đàm Thị Phương Hoài - THPT Cao Bình
KIỂM TRA BÀI CŨ
ĐẶT VẤN ĐỀ
NỘI DUNG BÀI MỚI
CỦNG CỐ
Thủ tục: Delete
Thủ tục: Insert
Hàm Copy
Hàm Length
Hàm Pos
Hàm UpCase
Copy(S, vt, n)
Insert(S1, S2, vt)
Delete(St, vt, n)
Pos(S1, S2)
Length(S)
Upcase(ch)
Các hàm và thủ tục xử lý xâu:
Tiết 29 BÀI 12: KIỂU XÂU (tiết 2)
Hãy nhớ!
GV: Đàm Thị Phương Hoài - THPT Cao Bình
Chúc các em học tập tốt và thành công trong tương lai
nguon VI OLET