Bai7.kieu xau
Chia sẻ bởi Lê Văn Dủ |
Ngày 02/05/2019 |
35
Chia sẻ tài liệu: bai7.kieu xau thuộc Bài giảng khác
Nội dung tài liệu:
Người soạn: Phạm Hảo - Lê Phúc
‘ Hello I am Le Van Du’
‘ Bai hoc hom nay phai chu y moi hieu duoc’
1 2 3 4 5 6 7 8 9 …
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?
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;
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ú ý:
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’
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
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
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 ?
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 .
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
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 đó
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
‘ Hello I am Le Van Du’
‘ Bai hoc hom nay phai chu y moi hieu duoc’
1 2 3 4 5 6 7 8 9 …
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?
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;
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ú ý:
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’
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
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
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 ?
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 .
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
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 đó
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ẻ: Lê Văn Dủ
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)