Bài 12. Kiểu xâu
Chia sẻ bởi Hai Duyen |
Ngày 10/05/2019 |
46
Chia sẻ tài liệu: Bài 12. Kiểu xâu thuộc Tin học 11
Nội dung tài liệu:
Người soạn: Phạm Hảo - Lê Phúc
‘ Tin hoc that la thu vi’
‘ Bai hoc hom nay phai chu y moi hieu duoc’
1 2 3 4 5 6 7 8 9 …
Người soạn: Phạm Hảo - Lê Phúc
Một số khái niệm:
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ố luợ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ữ Pascal, tham chiếu tới phần tử thưòng được viết:
[Chỉ số]
Xâu là gì?
Phần tử của xâu là gì?
Độ dài của xâu là gì?
Xâu rỗng là xâu như thế nào?
Người soạn: Phạm Hảo - Lê Phúc
Cách khai báo và xử lý xâu trong ngôn ngữ Pascal:
Khai báo kiểu xâu:
Var:String[độ dài lớn nhất của xâu];
Ví dụ :
Var Ten : String[10];
Ho_dem : String[50];
Que : String;
Người soạn: Phạm Hảo - Lê Phúc
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 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 ‘ ’
Các thao tác xử lý xâu:
Với các xâu kí tự có các phép ghép xâu và phép so sánh hai xâu kí tự .
Phép ghép xâu : Kí hiệu bằng dấu cộng +
Ví dụ : ‘Cum’ + ‘’ + ‘A/H1N1’ cho kết quả là ‘Cum A/H1N1’
* Chú ý:
Người soạn: Phạm Hảo - Lê Phúc
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ụ : ‘Tin’ < ‘Tin 11’, ‘ABC’ > ‘ABB’,
‘ABC’ <’ABCD’
Một số thủ tục chuẩn dùng để xử lí xâu :
Delete(St,vt,n) xóa n kí tự của xâu St bắt đầu từ vị trí vt .
VD: delete(‘Tinhoc’,4,3) KQ: ‘Tin’.
Insert(S1,S1,vt) chèn xâu S1 vào S2 bắt đầu từ vị trí vt của S2
VD: Insert(‘Tin’, ‘hoc’, 4) KQ: ‘Tin hoc’
Người soạn: Phạm Hảo - Lê Phúc
Một số hàm chuẩn :
Copy(St,vt,n) sao chép từ xâu St n kí tự từ vị trí vt.
VD: copy(‘Hoa hong do’,1,8) KQ: ‘Hoa hong’
Pos(S1,S2) tìm vị trí xuất hiện đầu tiên của S1 trong S2.
VD: pos(‘Hoa hong do’, ‘Hoa hong’) KQ: 1
Length(St) : cho độ dài xâu St.
VD:length(‘Hoc bai’) KQ: 7
Upcase(ch) : cho chữ cái viết hoa tương ứng với chữ thường trong ch.
VD: Upcase(‘d’) KQ: D
Upcase(‘B’) KQ: B
Người soạn: Phạm Hảo - Lê Phúc
VD 1 :
Program vd1 ;
Uses crt ;
Var s1,s2 : String ;
Begin
Clrscr ;
Write(`Nhap xau thu 1 : `) ;
Readln(s1) ;
Write(`Nhap xau thu 2 : `) ;
Readln(s2) ;
If length(s1) > Length(s2) then
Write(s1)
else
Write(s2);
Readln ;
End .
Ví dụ 1 : Nhập 1 xâu, viết ra màn hình xâu dài hơn
Người soạn: Phạm Hảo - Lê Phúc
VD 2 :
Program vd2 ;
Uses crt ;
Var s1,s2 : String ;
x : Byte ;
Begin
Clrscr ;
Write(`Nhap xau thu 1 : `);
Readln(s1) ;
Write(`Nhap xau thu 2 : `);
Readln(s2) ;
x := length(s2) ;
If s1[1] = s2[x] then
Write(`Trung nhau`)
else
Write(`Khac nhau`);
Readln ;
End .
Ví dụ 2 : Nhập 1 xâu, kiểm tra xem ký tự đầu tiên của xâu S1 có trùng với ký tự cuối cùng của xâu S2 hay không ?
Người soạn: Phạm Hảo - Lê Phúc
VD 3 :
Program vd3 ;
Uses crt ;
Var i,k : Byte ;
a : String ;
Begin
Clrscr ;
Write(`Nhap xau : `) ;
Readln(a) ;
k := length(a) ;
For i := k downto 1 do
Write(a[i]) ;
Readln ;
End .
Ví dụ 3 : Nhập 1 xâu, viết ra màn hình xâu đó theo thứ tự ngược lại của các ký tự trong xâu .
Người soạn: Phạm Hảo - Lê Phúc
VD 4 :
Program vd4 ;
Uses crt ;
Var i,k : Byte ;
a,b : String ;
Begin
Clrscr ;
Write(`Nhap xau : `) ;
Readln(a) ;
k := length(a) ;
b :=`` ;
For i := 1 to k do
if a[i] <> `` then
b := b+a[i] ;
Write(b) ;
Readln ;
End .
Ví dụ 4 : Nhập 1 xâu, viết ra màn hình xâu đó nhưng đã được bỏ tất cả các ký tự là dấu cách
Người soạn: Phạm Hảo - Lê Phúc
VD 5 :
Program Xulixau ;
Uses crt ;
Var s1,s2 : String ;
i : Byte ;
Begin
Clrscr ;
Write(`Nhap xau s1 : `) ;
Readln(s1) ;
s2 := `` ;
For i := 1 to length(s1) do
If (`0` s2 := s2 + s1[i] ;
Write(s2);
Readln ;
End .
Ví dụ 5 : Nhập 1 xâu, viết ra màn hình xâu gồm các ký tự số của xâu đó
Người soạn: Phạm Hảo - Lê Phúc
CỦNG CỐ:
Làm bài tập trắc nghiệm sau:
Người soạn: Phạm Hảo - Lê Phúc
Về nhà làm bài tập trong sách bài tập, chuẩn bị bài thực hành và xem lại các ví dụ trên lớp
‘ Tin hoc that la thu vi’
‘ Bai hoc hom nay phai chu y moi hieu duoc’
1 2 3 4 5 6 7 8 9 …
Người soạn: Phạm Hảo - Lê Phúc
Một số khái niệm:
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ố luợ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ữ Pascal, tham chiếu tới phần tử thưòng được viết:
Xâu là gì?
Phần tử của xâu là gì?
Độ dài của xâu là gì?
Xâu rỗng là xâu như thế nào?
Người soạn: Phạm Hảo - Lê Phúc
Cách khai báo và xử lý xâu trong ngôn ngữ Pascal:
Khai báo kiểu xâu:
Var
Ví dụ :
Var Ten : String[10];
Ho_dem : String[50];
Que : String;
Người soạn: Phạm Hảo - Lê Phúc
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 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 ‘ ’
Các thao tác xử lý xâu:
Với các xâu kí tự có các phép ghép xâu và phép so sánh hai xâu kí tự .
Phép ghép xâu : Kí hiệu bằng dấu cộng +
Ví dụ : ‘Cum’ + ‘’ + ‘A/H1N1’ cho kết quả là ‘Cum A/H1N1’
* Chú ý:
Người soạn: Phạm Hảo - Lê Phúc
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ụ : ‘Tin’ < ‘Tin 11’, ‘ABC’ > ‘ABB’,
‘ABC’ <’ABCD’
Một số thủ tục chuẩn dùng để xử lí xâu :
Delete(St,vt,n) xóa n kí tự của xâu St bắt đầu từ vị trí vt .
VD: delete(‘Tinhoc’,4,3) KQ: ‘Tin’.
Insert(S1,S1,vt) chèn xâu S1 vào S2 bắt đầu từ vị trí vt của S2
VD: Insert(‘Tin’, ‘hoc’, 4) KQ: ‘Tin hoc’
Người soạn: Phạm Hảo - Lê Phúc
Một số hàm chuẩn :
Copy(St,vt,n) sao chép từ xâu St n kí tự từ vị trí vt.
VD: copy(‘Hoa hong do’,1,8) KQ: ‘Hoa hong’
Pos(S1,S2) tìm vị trí xuất hiện đầu tiên của S1 trong S2.
VD: pos(‘Hoa hong do’, ‘Hoa hong’) KQ: 1
Length(St) : cho độ dài xâu St.
VD:length(‘Hoc bai’) KQ: 7
Upcase(ch) : cho chữ cái viết hoa tương ứng với chữ thường trong ch.
VD: Upcase(‘d’) KQ: D
Upcase(‘B’) KQ: B
Người soạn: Phạm Hảo - Lê Phúc
VD 1 :
Program vd1 ;
Uses crt ;
Var s1,s2 : String ;
Begin
Clrscr ;
Write(`Nhap xau thu 1 : `) ;
Readln(s1) ;
Write(`Nhap xau thu 2 : `) ;
Readln(s2) ;
If length(s1) > Length(s2) then
Write(s1)
else
Write(s2);
Readln ;
End .
Ví dụ 1 : Nhập 1 xâu, viết ra màn hình xâu dài hơn
Người soạn: Phạm Hảo - Lê Phúc
VD 2 :
Program vd2 ;
Uses crt ;
Var s1,s2 : String ;
x : Byte ;
Begin
Clrscr ;
Write(`Nhap xau thu 1 : `);
Readln(s1) ;
Write(`Nhap xau thu 2 : `);
Readln(s2) ;
x := length(s2) ;
If s1[1] = s2[x] then
Write(`Trung nhau`)
else
Write(`Khac nhau`);
Readln ;
End .
Ví dụ 2 : Nhập 1 xâu, kiểm tra xem ký tự đầu tiên của xâu S1 có trùng với ký tự cuối cùng của xâu S2 hay không ?
Người soạn: Phạm Hảo - Lê Phúc
VD 3 :
Program vd3 ;
Uses crt ;
Var i,k : Byte ;
a : String ;
Begin
Clrscr ;
Write(`Nhap xau : `) ;
Readln(a) ;
k := length(a) ;
For i := k downto 1 do
Write(a[i]) ;
Readln ;
End .
Ví dụ 3 : Nhập 1 xâu, viết ra màn hình xâu đó theo thứ tự ngược lại của các ký tự trong xâu .
Người soạn: Phạm Hảo - Lê Phúc
VD 4 :
Program vd4 ;
Uses crt ;
Var i,k : Byte ;
a,b : String ;
Begin
Clrscr ;
Write(`Nhap xau : `) ;
Readln(a) ;
k := length(a) ;
b :=`` ;
For i := 1 to k do
if a[i] <> `` then
b := b+a[i] ;
Write(b) ;
Readln ;
End .
Ví dụ 4 : Nhập 1 xâu, viết ra màn hình xâu đó nhưng đã được bỏ tất cả các ký tự là dấu cách
Người soạn: Phạm Hảo - Lê Phúc
VD 5 :
Program Xulixau ;
Uses crt ;
Var s1,s2 : String ;
i : Byte ;
Begin
Clrscr ;
Write(`Nhap xau s1 : `) ;
Readln(s1) ;
s2 := `` ;
For i := 1 to length(s1) do
If (`0`
Write(s2);
Readln ;
End .
Ví dụ 5 : Nhập 1 xâu, viết ra màn hình xâu gồm các ký tự số của xâu đó
Người soạn: Phạm Hảo - Lê Phúc
CỦNG CỐ:
Làm bài tập trắc nghiệm sau:
Người soạn: Phạm Hảo - Lê Phúc
Về nhà làm bài tập trong sách bài tập, chuẩn bị bài thực hành và xem lại các ví dụ trên lớp
* Một số tài liệu cũ có thể bị lỗi font khi hiển thị do dùng bộ mã không phải Unikey ...
Người chia sẻ: Hai Duyen
Dung lượng: |
Lượt tài: 0
Loại file:
Nguồn : Chưa rõ
(Tài liệu chưa được thẩm định)