- Xâu là một dãy ký tự trong bảng mã ASCII- Mỗi kí tự đ ợc gọi là một phần tử của xâu.. - Tham chiếu tới phần tử trong xâu đ ợc xác định thông qua chỉ số của phần tử trong xâu... Khai bá
Trang 2Kh¸i niÖm Kh¸i niÖm
Kh¸i niÖm Khai b¸o biÕn x©u
Kh¸i niÖm C¸c thao t¸c xö lý x©u
Kh¸i niÖm Mét sè vÝ dô
Trang 31 Khái niệm
Ví dụ: - Các xâu kí tự đơn giản
‘ 29 Ha Noi ’ – Ha Noi ’
Trang 4- Xâu là một dãy ký tự trong bảng mã ASCII
- Mỗi kí tự đ ợc gọi là một phần tử của xâu
- Số l ợng kí tự trong xâu đ ợc gọi là độ dài của xâu
- Xâu có độ dài bằng 0 gọi là xâu rỗng
- Tham chiếu tới phần tử trong xâu đ ợc xác định thông qua chỉ số của phần tử trong xâu
- Chỉ số phần tử trong xâu th ờng đ ợc đánh số là 1
- Trong ngôn ngữ Pacal, tham chiếu tới phần tử th ờng đ ợc viết : <Tên biến xâu>[chỉ số]
1 Khái niệm
Trang 5T I n H o c
Khi tham chiếu đến kí tự thứ 5 của xâu ta viết S[5]
Kết quả: S[5]=
Ví dụ:
Độ dài của xâu ộ dài của xâu (số kí tự trong xâu) là:
H
Chỉ số phần tử trong xâu th ờng đ ợc đánh số là 1.
Tên xâu: S;
S
Trang 62 Khai báo biến xâu
Pascal sử dụng từ khóa STRING để khai báo xâu Độ dài của xâu ộ dài tối đa của xâu đ ợc viết trong [ ] sau từ khóa STRING Khai báo nh sau:
Var <tên biến> : String [độ dài lớn nhất của xâu];
Ví dụ:
Var Ten : String[10] ;
Ho_dem : String[50] ;
Que : String ;
Trang 7Chú ý:
- Nếu không khai báo độ dài tối đa cho biến xâu kí tự thì
độ dài ngầm định của xâu là 255
- Độ dài của xâu ộ dài lớn nhất của xâu là 255 ký tự
- Hằng xâu kí tự đ ợc đặt trong cặp nháy đơn ‘ ’
2 Khai báo biến xâu
Trang 83 Các thao tác xử lý xâu
+ Phép ghép xâu : Kí hiệu bằng dấu cộng +
a Biểu thức xâu: Là biểu thức trong đó các toán hạng là các
biến xâu, biến kí tự
+ Phép so sánh: <, <=, >, >=, = , <>, Pascal tự động so sánh lần l ợt từ kí tự từ trái sang phải
Ví dụ : ‘AB < AC , ABC > ABB , ABC < ABCD’ ‘ ’ ‘ ’ ‘ ’ ‘ ’ ’ ’
Ví dụ: ‘Ha’ + ‘ Noi’ ‘Ha Noi’
‘Ha No i ’ > Ha N‘ a m ’
‘Xau’ < Xau ki tu ‘ ’
- 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 B là đoạn đầu của xâu A
‘Tin hoc’ = ‘Tin hoc ’
Trang 9
b C¸c thñ tôc vµ hµm chuÈn xö lÝ x©u
Insert(s1,s2,6)
’Hinh 1.2’
ChÌn x©u S1 vµo x©u S2 b¾t ®Çu tõ vÞ trÝ vt
Delete(S,1,5)
‘Hong’
Xo¸ n kÝ tù cña x©u S b¾t
®Çu tõ vÞ trÝ vt.
3 C¸c thao t¸c xö lý x©u
VÝ dô
ý nghÜa Thñ tôc
Trang 10b Các thủ tục và hàm chuẩn xử lí xâu
3 Các thao tác xử lý xâu
UPCase(ch) = ‘A’
hoa
Pos(S1,S2) = 6
Cho vị trí xuất hiện đầu
S2
Length(S) = 8
Cho giá trị là độ dài của xâu S
Ví dụ
ý nghĩa Hàm
Copy(S,5,3)= ‘hoc’
tiếp bắt đầu từ vị trí vt của xâu S
Trang 11VÝ dô 1: NhËp x©u S tõ bµn phÝm In x©u võa nhËp ra mµn h×nh
4 Mét sè vÝ dô
1 Khai b¸o x©u Var S: string ;
2 NhËp x©u
Readln;
End
Begin
Write(‘Nhap xau S:’);
Readln(S);
Writeln(‘Xau vua nhap la:’,S);
3 In x©u ra mµn h×nh
Trang 12 Thông qua bài học hôm nay các em cần nắm đ ợc
các kiến thức sau:
- Khai báo biến xâu:
Var <tên biến> : String [độ dài lớn nhất của xâu];
- Nhập xuất giá trị cho biến xâu: read/readln(); write/writeln();
- 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
- Các phép so sánh: =, <>, >, <, <=, >=: thực hiện việc so sánh
hai xâu
Trang 13- Xem lại bài và học thuộc khái niệm và cấu trúc.
- Lấy 2 ví dụ về khai báo kiểu xâu
- Xem phần kiến thức lý thuyết còn lại trong bài, bao gồm các hàm và thủ tục liên quan đến xâu, SGK - trang 70 - 71.
Bài tập về nhà