Bài 12. Kiểu xâu

- 0 / 0
(Tài liệu chưa được thẩm định)
Nguồn:
Người gửi: Đinh Văn Năm (trang riêng)
Ngày gửi: 20h:38' 05-04-2020
Dung lượng: 12.5 MB
Số lượt tải: 983
Nguồn:
Người gửi: Đinh Văn Năm (trang riêng)
Ngày gửi: 20h:38' 05-04-2020
Dung lượng: 12.5 MB
Số lượt tải: 983
Số lượt thích:
0 người
Giáo án điện tử tin học lớp 11
BÀI 12
KIỂU XÂU
STRING
1. Khái niệm
Xâu là dãy các kí tự trong bộ mã ASCII.
Ví dụ:
A
Trong đó:
Tên xâu: A;
Mỗi kí tự gọi là một phần tử của xâu;
Độ dài của xâu (số kí tự trong xâu): 7;
Nếu xâu có độ dài bằng 0 gọi là xâu rỗng, kí hiệu ‘’
Khi tham chiếu đến kí tự thứ i của xâu ta viết A[i].
Ví dụ: A[5]=’H’; A[4]=‘ ’;
H
2. Khai báo
Var : String[độ dài lớn nhất];
Ví dụ: Var hoten: String[25];
Biến hoten sẽ có độ dài tối đa là 25 kí tự
Lưu ý: Khi khai báo xâu có thể bỏ qua phần khai báo [độ dài lớn nhất], khi đó độ dài lớn nhất của xâu sẽ nhận giá trị ngầm định là 255.
Ví dụ: Var chuthich :String;
Biến chuthich có độ dài tối đa là 255 kí tự
3. Các thao tác xử lí xâu
a. Phép ghép xâu: kí hiệu “+” dùng để ghép nhiều xâu thành một xâu.
Ví dụ: ‘Ha’ + ‘ Noi’ ‘Ha Noi’
b. Phép so sánh: =, < >, <, <=, >, >=
* Quy ước:
- Xâu rỗng là xâu ‘’
- 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.
(kí tự A có mã ASCII là 65; a là 97…)
+ Xâu B là đoạn đầu của xâu A.
Ví dụ
‘Tin hoc’ = ‘Tin hoc’
‘Ha Noi’ > ‘Ha Nam’
‘Xau ki tu’ > ‘Xau’
c. Các thủ tục và hàm chuẩn xử lí xâu
THỦ TỤC
Ý NGHĨA
VÍ DỤ
1. Delete(S,vt,n)
2. Insert(S1,S2,vt)
Xoá n kí tự của xâu S bắt đầu từ vị trí vt.
Chèn xâu S1 vào xâu S2 bắt đầu từ vị trí vt.
S = ‘Song Hong’
Delete(S,1,5)
‘Hong’
S1=‘1’; S2=‘Hinh .2’
Insert(s1,s2,6)
’Hinh 1.2’
HÀM
Ý NGHĨA
VÍ DỤ
1. Copy(S,vt,n)
2. Length(S)
3. Pos(S1,S2)
4. UPCase(ch)
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
Cho giá trị là độ dài của xâu S
Cho vị trí xuất hiện đầu tiên của xâu S1 trong xâu S2
Chuyển kí tự ch thành chữ hoa
S = ‘Tin hoc’;
Copy(S,5,3)= ‘hoc’;
S = ‘Xin chao’;
Length(S) = 8
S1=‘1’ ;
S2=‘Hinh 1.2’;
Pos(S1,S2) = 6
Ch=‘a’;
UPCase(ch) = ‘A’;
1
4. Một số ví dụ
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?
Ý NGHĨA CÁC BƯỚC:
THỂ HIỆN BẰNG PASCAL
1. Khai báo xâu
2. Nhập xâu
3. Xử lí xâu và xuất kết quả
Var a,b: string;
BEGIN
Write(‘ Nhap xau ho ten thu nhat :’); Readln(a);
Write(‘Nhap xau ho ten thu hai :’); Readln(b);
IF Length(a)>Length(b) Then write(a)
else write(b);
Readln;
END.
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?
2
Nhập vào hai xâu từ bàn phím, kiểm tra xem kí tự đầu tiên của xâu thứ nhất có trùng với kí tự cuối cùng của xâu thứ hai không?
Ý NGHĨA CÁC BƯỚC:
1. Khai báo xâu : A,B
2. Nhập xâu
3. Xử lí xâu và in kết quả. Trong đó:
A[1]: Kí tự đầu tiên của xâu A
B[x]: Kí tự cuối cùng của xâu B và x là độ dài của B
THỂ HIỆN BẰNG PASCAL
Var a,b: string;
BEGIN
Write(‘Nhap xau thu nhat :’);Readln(a);
Write(‘Nhap xau thu hai :’); Readln(b);
x:=Length(B);
IF A[1]=B[x] Then write(‘Trung nhau’)
else write(‘khac nhau’);
Readln;
END.
4. Một số ví dụ
Nhập vào hai xâu từ bàn phím, kiểm tra xem kí tự đầu tiên của xâu thứ nhất có trùng với kí tự cuối cùng của xâu thứ hai không?
3
1. Nhập xâu s
2. Khởi tạo xâu rỗng;
3. Lần lượt duyệt qua tất cả các phần tử của xâu vừa nhập, nếu phần tử được duyệt khác dấu cách thì bổ sung vào xâu rỗng.
4. In kết quả
5. kết thúc
Nhập vào một xâu từ bàn phím, đưa ra màn hình xâu thu được bằng cách loại bỏ các dấu cách từ xâu đã cho?
Ý NGHĨA CÁC BƯỚC:
THỂ HIỆN BẰNG PASCAL
Begin
write(‘Nhap xau s’);readln(s);
St:=‘’;
For i:=1 to length(s) do
if s[i] <>’ ’ then st:=st+s[i];
Write(‘ket qua ‘,st);
Readln
End.
4. Một số ví dụ
Nhập vào một xâu từ bàn phím, đa ra màn hình xâu thu được bằng cách loại bỏ các dấu cách từ xâu đã cho?
‘Xin chao cac ban!’
Var S : string[30]
S[1] = ‘X’
Hãy nhớ!
Xâu là dãy các kí tự trong bộ mã ASCII.
Khai báo: tên xâu, độ dài lớn nhất của xâu.
Tham chiếu phần tử của xâu: Tên xâu[chỉ số]
Các thao tác xử lí thờng dùng:
+ Phép ghép xâu, so sánh xâu;
+ Các thủ tục và hàm chuẩn.
Quiz
Click the Quiz button to edit this object
BÀI 12
KIỂU XÂU
STRING
1. Khái niệm
Xâu là dãy các kí tự trong bộ mã ASCII.
Ví dụ:
A
Trong đó:
Tên xâu: A;
Mỗi kí tự gọi là một phần tử của xâu;
Độ dài của xâu (số kí tự trong xâu): 7;
Nếu xâu có độ dài bằng 0 gọi là xâu rỗng, kí hiệu ‘’
Khi tham chiếu đến kí tự thứ i của xâu ta viết A[i].
Ví dụ: A[5]=’H’; A[4]=‘ ’;
H
2. Khai báo
Var
Ví dụ: Var hoten: String[25];
Biến hoten sẽ có độ dài tối đa là 25 kí tự
Lưu ý: Khi khai báo xâu có thể bỏ qua phần khai báo [độ dài lớn nhất], khi đó độ dài lớn nhất của xâu sẽ nhận giá trị ngầm định là 255.
Ví dụ: Var chuthich :String;
Biến chuthich có độ dài tối đa là 255 kí tự
3. Các thao tác xử lí xâu
a. Phép ghép xâu: kí hiệu “+” dùng để ghép nhiều xâu thành một xâu.
Ví dụ: ‘Ha’ + ‘ Noi’ ‘Ha Noi’
b. Phép so sánh: =, < >, <, <=, >, >=
* Quy ước:
- Xâu rỗng là xâu ‘’
- 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.
(kí tự A có mã ASCII là 65; a là 97…)
+ Xâu B là đoạn đầu của xâu A.
Ví dụ
‘Tin hoc’ = ‘Tin hoc’
‘Ha Noi’ > ‘Ha Nam’
‘Xau ki tu’ > ‘Xau’
c. Các thủ tục và hàm chuẩn xử lí xâu
THỦ TỤC
Ý NGHĨA
VÍ DỤ
1. Delete(S,vt,n)
2. Insert(S1,S2,vt)
Xoá n kí tự của xâu S bắt đầu từ vị trí vt.
Chèn xâu S1 vào xâu S2 bắt đầu từ vị trí vt.
S = ‘Song Hong’
Delete(S,1,5)
‘Hong’
S1=‘1’; S2=‘Hinh .2’
Insert(s1,s2,6)
’Hinh 1.2’
HÀM
Ý NGHĨA
VÍ DỤ
1. Copy(S,vt,n)
2. Length(S)
3. Pos(S1,S2)
4. UPCase(ch)
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
Cho giá trị là độ dài của xâu S
Cho vị trí xuất hiện đầu tiên của xâu S1 trong xâu S2
Chuyển kí tự ch thành chữ hoa
S = ‘Tin hoc’;
Copy(S,5,3)= ‘hoc’;
S = ‘Xin chao’;
Length(S) = 8
S1=‘1’ ;
S2=‘Hinh 1.2’;
Pos(S1,S2) = 6
Ch=‘a’;
UPCase(ch) = ‘A’;
1
4. Một số ví dụ
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?
Ý NGHĨA CÁC BƯỚC:
THỂ HIỆN BẰNG PASCAL
1. Khai báo xâu
2. Nhập xâu
3. Xử lí xâu và xuất kết quả
Var a,b: string;
BEGIN
Write(‘ Nhap xau ho ten thu nhat :’); Readln(a);
Write(‘Nhap xau ho ten thu hai :’); Readln(b);
IF Length(a)>Length(b) Then write(a)
else write(b);
Readln;
END.
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?
2
Nhập vào hai xâu từ bàn phím, kiểm tra xem kí tự đầu tiên của xâu thứ nhất có trùng với kí tự cuối cùng của xâu thứ hai không?
Ý NGHĨA CÁC BƯỚC:
1. Khai báo xâu : A,B
2. Nhập xâu
3. Xử lí xâu và in kết quả. Trong đó:
A[1]: Kí tự đầu tiên của xâu A
B[x]: Kí tự cuối cùng của xâu B và x là độ dài của B
THỂ HIỆN BẰNG PASCAL
Var a,b: string;
BEGIN
Write(‘Nhap xau thu nhat :’);Readln(a);
Write(‘Nhap xau thu hai :’); Readln(b);
x:=Length(B);
IF A[1]=B[x] Then write(‘Trung nhau’)
else write(‘khac nhau’);
Readln;
END.
4. Một số ví dụ
Nhập vào hai xâu từ bàn phím, kiểm tra xem kí tự đầu tiên của xâu thứ nhất có trùng với kí tự cuối cùng của xâu thứ hai không?
3
1. Nhập xâu s
2. Khởi tạo xâu rỗng;
3. Lần lượt duyệt qua tất cả các phần tử của xâu vừa nhập, nếu phần tử được duyệt khác dấu cách thì bổ sung vào xâu rỗng.
4. In kết quả
5. kết thúc
Nhập vào một xâu từ bàn phím, đưa ra màn hình xâu thu được bằng cách loại bỏ các dấu cách từ xâu đã cho?
Ý NGHĨA CÁC BƯỚC:
THỂ HIỆN BẰNG PASCAL
Begin
write(‘Nhap xau s’);readln(s);
St:=‘’;
For i:=1 to length(s) do
if s[i] <>’ ’ then st:=st+s[i];
Write(‘ket qua ‘,st);
Readln
End.
4. Một số ví dụ
Nhập vào một xâu từ bàn phím, đa ra màn hình xâu thu được bằng cách loại bỏ các dấu cách từ xâu đã cho?
‘Xin chao cac ban!’
Var S : string[30]
S[1] = ‘X’
Hãy nhớ!
Xâu là dãy các kí tự trong bộ mã ASCII.
Khai báo: tên xâu, độ dài lớn nhất của xâu.
Tham chiếu phần tử của xâu: Tên xâu[chỉ số]
Các thao tác xử lí thờng dùng:
+ Phép ghép xâu, so sánh xâu;
+ Các thủ tục và hàm chuẩn.
Quiz
Click the Quiz button to edit this object
 







Các ý kiến mới nhất