Khai báo biến kiểu xâu: Theo quy tắc đặt tên của TP Ví dụ: VAR HOTEN: STRING[30]; VAR DIACHI: STRING; Cách khai báo biến kiểu xâu... Các thao tác xử lí xâu Thủ tục Deletest,vt,n; Xoá
Trang 1TRƯỜNG THPT HỒNG NGỰ 3
TỔ: LÝ – TIN- CN
CHÀO
MỪNG
QUÝ
THẦY
CÔ
GIÁO ĐẾN
DỰ
VỚI LỚP 11A2
Trang 2§12 KIỂU XÂU Tiết 30
Trang 3Bài toán đặt vấn đề:
Nhập vào họ tên của hai học sinh, in ra màn hình họ tên dài hơn?
H n
a m
A H
P
N e
y u
G N
A
B
Hãy xác định kiểu dữ liệu của hai biến A,B?
Trang 4Xâu là dãy các kí tự trong bảng ASCII.
A
Trong đó:
Cách tham chiếu đến một phần tử của xâu:
Tên xâu: A;
Mỗi ký tự gọi một phần tử của xâu;
Ví dụ:
Độ dài của xâu (số ký tự trong xâu):
H
1.Khái niệm
Ví dụ: A[5]=‘H’.
7;
Tên xâu[chỉ số]
Trang 5VAR <Tên biến> : STRING ; Độ dài lớn nhất của xâu nhận giá
trị ngầm định là
255 kí tự.
VAR <Tên biến> : STRING [độ dài lớn nhất của xâu];
Từ khoá Độ dài lớn nhất của xâukhông vượt quá 255 kí tự.
I Khai báo biến kiểu xâu:
Theo quy tắc đặt tên của TP
Ví dụ:
VAR HOTEN: STRING[30];
VAR DIACHI: STRING;
Cách khai báo biến kiểu xâu
Trang 63 Các thao tác xử lí xâu
Phép ghép xâu: S1 + S2 + … + Sn
Trong đó: Kí hiệu “+” dùng để ghép nhiều xâu thành một xâu
S1 + S2 =>
Ví dụ1:
Ví dụ 2 : ‘ Ha’ + ‘ Noi’ ‘Ha Noi’
Trang 7 Phép so sánh: =,<>, <,<=,>,>=
‘Ha N o i Ha ’ ‘
N a m ’
* 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 ë x©u A cã m·
ASCII lín h¬n ë x©u B.
- X©u rçng lµ x©u ‘’
‘Tin hoc’ = ‘Tin
hoc ’
VÝ dô
3 Các thao tác xử lí xâu
+ X©u B lµ ®o¹n ®Çu cña x©u A. ‘Xau ki tu’
‘Xau’
>
>
Trang 83 Các thao tác xử lí xâu
Thủ tục Delete(st,vt,n);
Xoá n kí tự của xâu St bắt đầu từ vị trí vt
St =’tin hoc’
Thủ tục Insert(S,St,vt);
Chèn xâu S vào xâu St bắt đầu từ vị trí vt
S = ’Abc’
St =
St =’tin
Các thủ tục, hàm chuẩn
Delete(St,4,3);
Ví dụ:
hoc’
Ví dụ:
St = ’def’
Insert(S,St,1);
Trang 9Các thủ tục, hàm chuẩn (tt)
Hàm Copy(S,vt,n)
Tạo xâu gồm n kí tự liên tiếp bắt đầu từ vị trí vt
của xâu S
S = ’ hoa hong’
Hàm Length(S)
Cho giá trị là độ dài của xâu S
S1 = ’ ’
S1 = copy(s,5,4);
Ví dụ:
hong
Ví dụ:
12 3 4
Length(S)
3 Các thao tác xử lí xâu
Trang 10Các thủ tục, hàm chuẩn (tt)
Hàm Pos (S1,S2)
Cho vị trí xuất hiên đầu tiên của xâu S1 trong xâu S2.
S2=’abcde’
Hàm Upcase(ch)
Cho chữ viết hoa ứng với chữ cái trong ch
Ví dụ: ch = upcase(‘d’); Ch = ’D’
M1 = 0
Chú ý: ch phải là một phần tử của xâu hay
Ví dụ: M1=pos(‘Cd’,S2);
Cd
12 34 5
CdCdCdCd
M2=pos(‘Cd’,S2);
Cd
12 3
Cd Cd
3 Các thao tác xử lí xâu
Trang 11II CÁC THAO TÁC XỬ LÍ XÂU
1 Thực hiện so sánh các xâu sau:
a.‘Anh’ ‘Ban’
b.‘Lop 11B10 thay Nghia chu nhiem’ ‘Lop 11B10’
c.‘Tin hoc’ ‘Tin hoc’
2 Cho biết kết quả của biểu thức sau khi thực hiện pháp toán sau: Biết s=‘Nhà Lan’; S2=‘Truong THPT Cua Lan’
a ‘DE’ + ‘ABC’
b S+ ’ cách’ + ’ khu đô thi 2m’
c Viết biểu thức ghép xâu để cho kết quả là:
‘Truong THPT Cua Lan ở xa Nhà Lan 10km'
(Có sử dụng hai xau ở trên)
1 Các phép toán trên xâu
<
>
=
‘DEABC’
‘Nhà Lan cách khu đô thị 2m
S2 + ‘ở xa’ + s+ ‘10km’
Trang 12Hãy chọn đáp án đúng nhất:
Câu 1: Khai báo nào sau đây là đúng
A Var x:string[25]; C Var x= string[40];
B Type xau=string[256]; D Var x: string40;
Var x:xau;
Câu 2: Hãy cho biết độ dài của xâu s; Với s=‘nam at suu’
A 8 B 10 C 12 D 3
Câu 3: Với giá trị của xâu s ở trên, muốn tham chiếu đến phần tử thứ 3 trong xâu s, ta viết:
A s[m] B S[3] C S[3] ; D.Tất cả đều sai Câu 4: So sánh mảng một chiều mà mỗi phần tử của mảng là một ký
tự với kiểu xâu
Trang 13KIÓU D÷ LIÖU X¢U
Các em về nhà nghiên cứu lại lí thuyết và xem trước các ví dụ còn lại.
Trang 14
GV:VÕ NGỌC LƯƠNG