Em có nhận xét gì về bài toán trên nếu ta sử dụng kiểu mảng một chiều để nhập dữ liệu?... Khái niệm xâu - Khái niệm: Xâu là dãy các kí tự trong bộ mã ASCII, mỗi kí tự được gọi là một p
Trang 1Cho biến dữ liệu sau:
A : T I N H O C
Biến A có phải là mảng một chiều không? Các
phần tử của biến A thuộc kiểu dữ liệu nào?
A chính là mảng một chiều, các phần
tử của A thuộc kiểu char (kiểu kí tự)
Viết chương trình nhập vào mảng A, ta phải nhập bao nhiêu lần?
Trang 2 Viết chương trình nhập họ tên của 50 học sinh trong lớp.
Em có nhận xét gì
về bài toán trên nếu ta
sử dụng kiểu mảng một chiều để nhập dữ liệu?
Trang 3§12 KIỂU XÂU
I Khái niệm xâu
- Khái niệm: Xâu là dãy các kí tự trong bộ mã ASCII, mỗi
kí tự được gọi là một phần tử của xâu, được đặt trong hai
dấu nháy đơn ‘’
- Ví dụ:
Xâu S :
Trong đó:
+ Tên xâu: S
Trang 4
+ Xâu có độ dài bằng 0 gọi là xâu rỗng, kí hiệu là ‘’
+ Các kí tự của xâu được đánh số thứ tự, thường bắt đầu từ 1.
định bởi: Tên biến xâu[chỉ số]
Trang 5Chương IV: Kiểu Dữ liệu Có Cấu Trúc
§12 KIỂU XÂU
II Khai báo
Cú pháp:
Var <tên biến xâu>: string[độ dài lớn nhất của xâu];
Trong đó:
+ String: tên dành riêng ( từ khóa).
+ Độ dài lớn nhất của xâu (<=255) được ghi trong
cặp ngoặc [ ]
Trang 6III Các thao tác xử lý xâu
1 Phép ghép xâu:
kí hiệu là “ + ” được sử dụng để ghép
nhiều xâu thành một xâu
Ví dụ : ‘thanh’ + ‘pho’ + ‘thanh’ + ‘hoa’
‘thanh pho thanh hoa’
Chú ý: Dấu cách cũng là một kí tự trong xâu.
lop 11a6
Trang 7Chương IV: Kiểu Dữ liệu Có Cấu Trúc
§12 KIỂU XÂU
2 Phép so sánh: =, <>, <,< =, >, > =
*Quy ước:
+ Xâu A = B nếu chúng giống hệt nhau
+ Xâu A>B nếu 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
+ Nếu A và B là các xâu có độ dài khác nhau và A là đoạn đầu của B thì A<B
Trang 8Chương IV: Kiểu Dữ liệu Có Cấu Trúc
§12 KIỂU XÂU
3 Một số thủ tục chuẩn xử lý xâu
- Ý nghĩa: xoá n kí tự của biến xâu S bắt đầu từ vị trí vt Trong đó:
+ S: giá trị của xâu
+ vt: vị trí cần xoá
+ n: số kí tự cần xoá
Trang 9
Chương IV: Kiểu Dữ liệu Có Cấu Trúc
§12 KIỂU XÂU
3 Một số thủ tục chuẩn xử lý xâu
a) Thủ tục delete (S, vt, n)
Ví dụ:
‘abcdef’ delete (S, 5, 2)
‘Dat Nuoc’ delete (S, 5, 4)
abcd
Dat
Trang 10Chương IV: Kiểu Dữ liệu Có Cấu Trúc
§12 KIỂU XÂU
b) Thủ tục insert(S1, S2, vt)
- Ý nghĩa: Chèn xâu S1 vào xâu S2, bắt đầu ở vị trí vt Trong đó:
+ S1: xâu 1
+ S2: xâu 2
+ vt: vị trí cần chèn
Trang 11
Chương IV: Kiểu Dữ liệu Có Cấu Trúc
§12 KIỂU XÂU
Ví dụ:
Giá trị
‘PC ’ ‘IBM486’ insert (S1, S2, 4)
‘ ’ ‘Tinhoc’ insert (S1, S2, 4) ‘Tin hoc’
Trang 12Bài tập củng cố
Cho hai xâu:
A: ‘CHAO XUAN ’
B: ‘CHAO MUNG’
Hãy chọn đáp án đúng trong các trường hợp sau:
1 Biết mã thập phân của X lớn hơn mã thập phân của
M trong bảng mã ASCII Sau khi so sánh hai xâu A, B ta được kết quả là:
a A < B
b A > B
Trang 13Bài tập củng cố
1.Khi b áo nào trong các khai báo sau
là sai khi khai báo xâu kí tự ?
a S:String;
b S: String[256];
c x1:String
d x1:String [1]
Trang 14Bài tập củng cố
A: ‘CHAO XUAN ’
B: ‘CHAO MUNG’
Hãy chọn đáp án đúng trong các trường hợp sau:
3 Delete(A, 5, 6) được xâu kết quả là:
a ‘CHAO’
b ‘CHAO ’
c ‘XUAN’
Trang 15Bài tập củng cố
Cho hai xâu:
A: ‘CHAO XUAN ’
B: ‘CHAO MUNG’
Hãy chọn đáp án đúng trong các trường hợp sau:
4 Insert(B, A, 5) được xâu kết quả là:
a ‘CHAO MUNG CHAO XUAN’
b ‘CHAO CHAO MUNG XUAN’
c ‘CHAOCHAO MUNG XUAN ’
Trang 16Bài tập củng cố
8 Các phép toán dùng để xử lý xâu là:
a Phép +, phép so sánh
b Phép +, phép div, phép mod
c Phép so sánh và phép –
Trang 17Bài tập củng cố
9 Phát biểu nào sau đây là đúng :
a Xâu là một dãy số nguyên dương.
b Xâu là dãy các kí tự trong bộ mã ASCII.
c Xâu là mảng một chiều
Trang 18H·y nhí!
Var S: string[17];
S[7] = ‘a’
lớn nhất của xâu];
Tên xâu[chỉ số]
CỦNG CỐ BÀI HỌC VÀ DẶN DÒ BÀI MỚI
Trang 19CỦNG CỐ BÀI HỌC VÀ DẶN DÒ BÀI MỚI
sách giáo khoa trang 71, 72.