bai giang kieuxau_tiet2
TRANSCRIPT
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 aST1
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 ?
AneyugnA
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á nn kí tự của xâu kí tự của xâu StSt bắt đầu từ vị trí bắt đầu từ vị trí vtvt
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ục2. 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 nn 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 SSVí 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ả StKết quả St22 = ‘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 SS
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 = 5Kế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
CdCdCdCdCd
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);
ForFor i:= 1 i:= 1 ToTo length(S) length(S) DoDo upcase(S[i]); upcase(S[i]);
Write(‘Xau da chuyen:’,S);Write(‘Xau da chuyen:’,S);
Readln;
End.