Xâu là một dãy kí tự trong bảng mã ASCII.. Phần tử của xâu là gì?. Các kí tự trong xâu Độ dài của xâu là gì?. Số lượng các kí tự Xâu rỗng là xâu như thế nào?. ĐỊNH NGHĨA Xâu không có phầ
Trang 11
Trang 3Xâu là gì? Xâu là một dãy kí tự trong bảng mã ASCII.
Phần tử của xâu là gì? Các kí tự trong xâu
Độ dài của xâu là gì? Số lượng các kí tự
Xâu rỗng là xâu như thế nào?
1 ĐỊNH NGHĨA
Xâu không có phần tử nào
BÀI 12 KIỂU XÂU
Trang 41 2 3 4 5 6 7 8 9 …
‘2007 la nam Dinh Hoi’
Mảng 1 chiều
Xâu A
- Xâu là mảng một chiều, mà mỗi phần tử là một kí tự
- Tham chiếu đến phần tử của xâu:
<tên biến xâu>[chỉ số]
- Vd: A[4]=‘7’
BÀI 12 KIỂU XÂU
Trang 5 Quy tắc cách thức xác
định kiểu mảng:
- Tên kiểu mảng
- Số lượng phần tử
- Kiểu dữ liệu của phần
tử
- Cách khai báo biến
- Cách tham chiếu đến
phần tử
Quy tắc cách thức xác định kiểu xâu:
- Tên kiểu xâu
- Số lượng kí tự
- Các phép toán thao tác với xâu
- Cách khai báo biến
- Cách tham chiếu đến phần tử
BÀI 12 KIỂU XÂU
Trang 6 Em hãy cho biết dữ liệu kiểu xâu được khai báo
như thế nào
2 Khai báo kiểu xâu:
Khai báo Var Chugiai:String có độ dài lớn nhất bằng mấy?
Cho một ví dụ?
Var <tên biến> : string[độ dài lớn nhất]
255
BÀI 12 KIỂU XÂU
Trang 73 Các thao tác xử lý xâu:
Quan sát SGK em hãy cho biết một số phép toán, các thao
tác và thủ tục xử lý xâu?
Các thao tác
xử lý xâu
Phép ghép xâu Các phép so sánh
Thủ tục Delete Thủ tục Insert Hàm Copy Hàm Length Hàm Pos Hàm Upcase
BÀI 12 KIỂU XÂU
Trang 8 3 Các thao tác xử lý xâu:
‘Ha’ + ‘ ’ + ‘Noi’ thì được kết quả là xâu gì?
‘Ha Noi’
Phép ghép xâu có tác dụng gì?
BÀI 12 KIỂU XÂU
Trang 9 3 Các thao tác xử lý xâu:
b) Phép so sánh: <, <=, >, >=, = , <>
Hãy điền các phép so sánh ở phía dưới vào
dấu “…” :
‘Tin hoc’… ‘Tin hoc la mot nganh khoa hoc’
‘MAY TINH’… ‘MAY TINH’
Từ đó nêu các quy tắc khi thực hiện việc so
sánh hai xâu?
<
= >= <= <> >
BÀI 12 KIỂU XÂU
Trang 10 3 Các thao tác xử lý xâu:
b) Phép so sánh: <, <=, >, >=, = , <>
*Quy tắc:
- Xâu A là lớn hơn xâu B nếu như kí tự đầu tiên khác
nhau giữa chúng kể từ trái sang trong xâu A có mã ASCII lớn hơn
VD: ‘Anh’<‘Ba’
- Nếu A là đoạn đầu của B thì A nhỏ hơn B
VD: ‘May tinh’ < ‘ May tinh cua toi’
- Hai xâu được coi là bằng nhau nếu giống nhau
BÀI 12 KIỂU XÂU
Trang 11 C) Thủ tục Delete(St,vt,n) xóa n kí tự của xâu St
bắt đầu từ vị trí vt
Từ xâu ‘Tin hoc’ muốn có xâu ‘Tin’ thì ta phải làm sao?
Xóa bao nhiêu kí tự? Từ vị trí thứ mấy trong xâu tính từ
trái sang?
VD: delete(‘Tin hoc’,4,4) KQ: ‘Tin’
3 Các thao tác xử lý xâu:
BÀI 12 KIỂU XÂU
Trang 12 d) Thủ tục Insert(S1,S2,vt) chèn xâu S1 vào S2
bắt đầu từ vị trí vt của S2
Theo em, ví dụ sau cho kết quả là gì
VD: Insert(‘ hong ’, ‘Hoa do’, 4)
Từ đó hãy phát biểu cấu trúc của thủ tục Insert
3 Các thao tác xử lý xâu:
BÀI 12 KIỂU XÂU
Trang 13 e) Hàm Copy(St,vt,n) tạo một xâu mới từ xâu St,
gồm n kí tự liên tiếp từ vị trí vt
VD: copy(‘Hoa hong do’,1,8)
3 Các thao tác xử lý xâu:
KQ: ‘Hoa hong’
BÀI 12 KIỂU XÂU
Trang 14 f) Hàm Length(St) : cho độ dài xâu St.
VD: length(‘Hoc bai’)
3 Các thao tác xử lý xâu:
KQ: 7
BÀI 12 KIỂU XÂU
Trang 15 g) Hàm Pos(S1,S2) tìm vị trí xuất hiện đầu tiên
của S1 trong S2
3 Các thao tác xử lý xâu:
cho kết quả bằng 9 hay bằng 14 ?
9
VD: pos(‘xinh’, ‘Cai xac xinh xinh’)
BÀI 12 KIỂU XÂU
Trang 16 h) Hàm Upcase(ch) : cho chữ cái viết hoa tương ứng
3 Các thao tác xử lý xâu:
KQ: D
KQ: B
VD: Upcase(‘d’)
Upcase(‘B’)
BÀI 12 KIỂU XÂU
Trang 17Câu 1: Trong ngôn ngữ lập trình Pascal cách
khai báo xâu ký tự nào sau đây là đúng:
a S: file of String;
b S: file of char;
c S: String;
d S: Strings[255];
CỦNG CỐ
Trang 18CỦNG CỐ
Trang 19Củng Cố