CHƯƠNG IV
( Tiết 2 )
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
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 dưới đây là sai?
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
1 2 3 1 2 3
ST1[1]
ST1[2]
ST1[3]
ST2[1] ST2[2] ST2[3]
=
<
Mã 64 Mã 97
ST2
<
Câu 2: So sánh 2 xâu sau:
ST1:= ‘CBA’
ST2:= ‘CBa’
C B A C B a
ST1
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ần có thao tác
gì để chỉnh sửa
xâu A thành xâu
B ?
Aneyugn
A
B
A nneyugN
n
1 2 3 4 5 6 7 8 9
N
1 2 3 4 5 6 7 8 9 10
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
1. Thủ tục DELETE(St, vt, n)
•
Xoá
Xoá
n
n
kí tự của xâu
kí tự của xâu
St
St
bắt đầu từ vị trí
bắt đầu từ vị trí
vt
vt
Ví dụ 1:
Ví dụ 1:
St:= ‘Song Hong’;
St:= ‘Song Hong’;
Delete(St,1,5);
Delete(St,1,5);
gnoHgnoS
1 2 3 4 5 6 7 8 9
ST[1]
gnoH
Kết quả: St = ‘Hong’
Kết quả: St = ‘Hong’
C. CÁC HÀM VÀ THỦ TỤC XỬ LÝ XÂU:
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:
Ví dụ 2:
St:= ‘abc’
Delete(St,1,5)
Delete(St,1,5)
St =
‘
abc
’
Ví dụ 3:
Ví dụ 3:
St:= ‘abc’
Delete(St,5,2)
Delete(St,5,2)
St = ‘abc’
Ví dụ 4:
Ví dụ 4:
St:= ‘abc’
Delete(St,1,0)
Delete(St,1,0)
St = ‘abc’
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
2. Thủ tục
2. Thủ tục
INSERT(St1, St2, vt)
INSERT(St1, St2, vt)
Ví dụ 1:
Ví dụ 1:
St1:= ‘vi-’; St2:= ‘May-tinh’;
St1:= ‘vi-’; St2:= ‘May-tinh’;
v i -
1 2 3
M a y - t i n h
1 2 3 4 5 6 7 8
M a y - t i n h
v -i
Kết quả: St2 = ‘May-vi-tinh’
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);
Insert(St1,St2,5);
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:
St1:= ’abc’
Insert(St1,St2,5)
Insert(St1,St2,5)
St2 = ’ef’ abc ef
St2 =‘ ’
St1:= ’abc’
Insert(St1,St2,1)
Insert(St1,St2,1) St2 = ’ef’
St2 =‘ ’
abc ef
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
3. Hàm
3. Hàm
COPY(S, vt, n)
COPY(S, vt, n)
•
Tạo một xâu gồm
Tạo một xâu gồm
n
n
ký tự liên tiếp bắt đầu
ký tự liên tiếp bắt đầu
từ vị trí
từ vị trí
vt
vt
của xâu
của xâu
S
S
Ví dụ 1:
St1:= ‘Xau-ky-tu’; St2:= Copy(St1,5,5);
1 2 3 4 5 6 7 8 9
X a u - k y - t u
Copy
k
y
- ut
Kết quả St
Kết quả St
2
2
= ‘ky-tu’
= ‘ky-tu’
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
S:= ‘abc’
Ví dụ 2:
Ví dụ 2:
S1:= copy(S,1,5);
S1:= copy(S,1,5);
S1 =
‘abc’
S:= ‘abc’
S1:= copy(S,5,2);
S1:= copy(S,5,2);
S1 = ‘’
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
4. Hàm
4. Hàm
LENGTH(S)
LENGTH(S)
Ví dụ :
S:= ‘Tin hoc’;
S:= ‘Tin hoc’;
D:= Length(S);
D:= Length(S);
T i n h o c
1 2 73 654
Kết
quả
quả: D = 7
Cho giá trị là độ dài của xâu
Cho giá trị là độ dài của xâu
S
S
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
5. Hàm POS(St1, St2)
H O A N A N G
1 2 73 654
8
- Cho vị trí xuất hiện đầu tiên của xâu St1 trong xâu St2
Ví dụ 1:
St2:= ‘HOA NANG’; St1:= ‘NANG’;
Kết quả: D = 5
Kết quả: D = 5
D:= Pos(St1,St2);
D:= Pos(St1,St2);
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
CdCdCd
Cd
Cd
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
6. Hàm
6. Hàm
UPCASE(Ch)
UPCASE(Ch)
Ch2:= Upcase(Ch1);
U p C a s e
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
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)
Copy(S, vt, n)
Insert(S1, S2, vt)
Insert(S1, S2, vt)
Delete(St, vt, n)
Delete(St, vt, n)
Pos(S1, S2)
Pos(S1, S2)
Length(S)
Length(S)
Upcase(ch)
Upcase(ch)
Các hàm và thủ tục xử lý xâu:
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
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
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
CHƯƠNG TRÌNH:
CHƯƠNG TRÌNH:
Program inhoa;
Uses CRT;
Var S: string; i: integer;
Begin
Clrscr;
Write(‘Nhap vao xau S: ’); readln(S);
Write(‘Nhap vao xau S: ’); readln(S);
For
For
i:= 1
i:= 1
To
To
length(S)
length(S)
Do
Do
upcase(S[i]);
upcase(S[i]);
Write(‘Xau da chuyen:’,S);
Write(‘Xau da chuyen:’,S);
Readln;
End.