Bài 12. Kiểu xâu
Chia sẻ bởi Thái Văn Thắng |
Ngày 10/05/2019 |
54
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:
1
KIỂM TRA BÀI CŨ
Câu 1: Trình bày các cách khai báo biến mảng một chiều? Cho ví dụ?
Câu 2: Viết chương trình nhập vào họ tên của một học sinh trong lớp.
§12. KIỂU XÂU (T1)
3
1. KHÁI NIỆM XÂU:
b. Một số khái niệm:
Xâu là dãy các kí tự trong bảng ASCII.
Mỗi ký tự được gọi là một phần tử của xâu.
Số lượng ký tự trong một 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 và được ký hiệu là ‘’.
Xâu chỉ có một kí tự trắng được kí hiệu bằng ‘ ’ và có độ dài bằng 1.
a. Ví dụ:
S1:=‘LOP 11B8’;
S2:=‘’;
8 kí tự.
0 kí tự.
4
2. KHAI BÁO:
a. KHAI BÁO:
Cú pháp:
Var:String[độ dài lớn nhất của xâu];
Trong đó:
String: từ khóa dùng để khai báo biến xâu.
Độ dài lớn nhất của xâu là một số nguyên dương không quá 255 kí tự.
Ví dụ 1: Var S1:String[100];
Trong khi mô tả xâu có thể bỏ qua phần khai báo độ dài. Khi đó độ dài lớn nhất của xâu sẽ nhận giá trị ngầm định là 255.
Ví dụ 2: Var S2:String ;
5
2. KHAI BÁO:
b. NHẬP/XUẤT DỮ LIỆU CHO BIẾN XÂU:
Cấu trúc chung của thủ tục nhập/ xuất dữ liệu:
Nhập dữ liệu: thủ tục read,readln
Cú pháp: read/readln(tên biến xâu);
Ví dụ: read(n); readln(hoten);
Ngoài ra ta có thể sử dụng lệnh gán để nhập giá trị cho biến xâu:
Cú pháp: tên_biến_xâu:=hằng_xâu;
Ví dụ: s:=‘hue’;
Xuất dữ liệu: thủ tục write, writeln
Cú pháp: write/writeln(danh sách kết quả);
(Danh sách kết quả): có thể là 1 biến, 1 hằng hoặc 1 hàm.
Ví dụ: write(‘ho ten’,hoten);
6
2. KHAI BÁO:
Ví dụ:
C. THAM CHIẾU ĐẾN PHẦN TỬ CỦA XÂU:
Cú pháp:
Tên_biến_xâu[chỉ số]
Cho xâu S:= ‘TAP THE LOP 11B8’;
Tham chiếu đến phần tử thứ 6:
S[6]
Tham chiếu đến phần tử thứ 12:
S[12 ]
‘H’;
‘ ’;
7
d. Sự giống và khác nhau giữa mảng kí tự và xâu kí tự:
Giống nhau:
Cách đặt tên: tuân thủ theo quy tắc mà Pascal đã quy định.
Đều sử dụng các kí tự trong bảng mã ASCII.
2. KHAI BÁO:
8
2. KHAI BÁO:
d. Sự giống và khác nhau giữa mảng và xâu:
Khác nhau:
9
3. CÁC THAO TÁC XỬ LÍ XÂU:
Phép ghép xâu:
Ví dụ: cho đoạn chương trình sau:
Var s,s1,s2:string;
Begin
s1:=‘HA’;
s2:=‘ TINH’;
s:=s1+s2;
write(s);
readln;
End.
Kết quả chương trình trên là gì?
s:=‘HA TINH’;
Chức năng: Được sử dụng để ghép xâu s2 vào cuối xâu s1.
Chương trình
10
3. CÁC THAO TÁC XỬ LÝ XÂU
Chương trình ví dụ:
Var s1,s2:string;
T:Boolean;
Begin
S1:=’AB’;
S2:=’AC’;
T:=S1 Write(T);
Readln;
End.
Kết quả của chương trình là gì?
True.
Chương trình
11
b. Các phép so sánh:
Gồm các phép so sánh: =, <>, <, >, <=, >=.
Quy tắc so sánh hai xâu A và B:
Xâu A lớn hơn xâu B khi kí tự đầu tiên khác nhau giữa chúng kể từ trái sang trong xâu A có mã ASCII lớn hơn.
Ví dụ 1: S1:=‘AB’; S2:=‘AC’;
- Nếu A và B là hai xâu có độ dài khác nhau và A là đoạn đầu của B thì A nhỏ hơn B.
Ví dụ 2:
‘THPT’
‘THPT DHT’
3. CÁC THAO TÁC XỬ LÍ XÂU:
<
S1 < S2
12
3. CÁC THAO TÁC XỬ LÝ XÂU:
c. Hàm length
Cú pháp: length(s);
Trong đó: length là tên hàm, s là biểu thức xâu kí tự.
Ví dụ 1: length(‘Huong Tra’);
Ví dụ 2: Viết chương trình nhập vào một xâu bất kì, sau đó in ra màn hình độ dài của xâu.
9
13
3. CÁC THAO TÁC XỬ LÝ XÂU:
Chương trình:
Var s:string;
x:integer;
Begin
write(‘nhap vao xau s=‘);
readln(s);
x:=length(s);
write(‘do dai xau s la:’,x);
readln
End.
Run
14
CỦNG CỐ
Câu 1: Khai báo nào sau đây là đúng?
Var x:string[25]; C. Var x= string[40];
Var x:string[256]; D. Var x: string40;
Câu 2: Hãy cho biết độ dài của xâu S;
Với S:=‘tap the lop 11b8’?
8 B. 10 C. 16 D. 3
Câu 3: Với giá trị của xâu S ở trên, khi tham chiếu đến phần tử thứ 7 thì ta được kí tự nào?
‘u’ B. ‘e’
C. ‘ ’ D. ‘n’
15
CỦNG CỐ
Cho S1:=‘hoc ’; S2:=‘pascal ’
Câu 4: Để có được kết quả là: ‘hoc pascal rat de’ thì ta làm cách nào trong các cách sau:
S1+S2+ rat de; B. S1+S2+rat+de;
C. S1+S2+’rat’+’de’; D. S1+S2+’rat de’;
Câu 6: Nếu S:=S1+S2,độ dài của S là:
10 B.11
C. 9 D.12
KIỂM TRA BÀI CŨ
Câu 1: Trình bày các cách khai báo biến mảng một chiều? Cho ví dụ?
Câu 2: Viết chương trình nhập vào họ tên của một học sinh trong lớp.
§12. KIỂU XÂU (T1)
3
1. KHÁI NIỆM XÂU:
b. Một số khái niệm:
Xâu là dãy các kí tự trong bảng ASCII.
Mỗi ký tự được gọi là một phần tử của xâu.
Số lượng ký tự trong một 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 và được ký hiệu là ‘’.
Xâu chỉ có một kí tự trắng được kí hiệu bằng ‘ ’ và có độ dài bằng 1.
a. Ví dụ:
S1:=‘LOP 11B8’;
S2:=‘’;
8 kí tự.
0 kí tự.
4
2. KHAI BÁO:
a. KHAI BÁO:
Cú pháp:
Var
Trong đó:
String: từ khóa dùng để khai báo biến xâu.
Độ dài lớn nhất của xâu là một số nguyên dương không quá 255 kí tự.
Ví dụ 1: Var S1:String[100];
Trong khi mô tả xâu có thể bỏ qua phần khai báo độ dài. Khi đó độ dài lớn nhất của xâu sẽ nhận giá trị ngầm định là 255.
Ví dụ 2: Var S2:String ;
5
2. KHAI BÁO:
b. NHẬP/XUẤT DỮ LIỆU CHO BIẾN XÂU:
Cấu trúc chung của thủ tục nhập/ xuất dữ liệu:
Nhập dữ liệu: thủ tục read,readln
Cú pháp: read/readln(tên biến xâu);
Ví dụ: read(n); readln(hoten);
Ngoài ra ta có thể sử dụng lệnh gán để nhập giá trị cho biến xâu:
Cú pháp: tên_biến_xâu:=hằng_xâu;
Ví dụ: s:=‘hue’;
Xuất dữ liệu: thủ tục write, writeln
Cú pháp: write/writeln(danh sách kết quả);
(Danh sách kết quả): có thể là 1 biến, 1 hằng hoặc 1 hàm.
Ví dụ: write(‘ho ten’,hoten);
6
2. KHAI BÁO:
Ví dụ:
C. THAM CHIẾU ĐẾN PHẦN TỬ CỦA XÂU:
Cú pháp:
Tên_biến_xâu[chỉ số]
Cho xâu S:= ‘TAP THE LOP 11B8’;
Tham chiếu đến phần tử thứ 6:
S[6]
Tham chiếu đến phần tử thứ 12:
S[12 ]
‘H’;
‘ ’;
7
d. Sự giống và khác nhau giữa mảng kí tự và xâu kí tự:
Giống nhau:
Cách đặt tên: tuân thủ theo quy tắc mà Pascal đã quy định.
Đều sử dụng các kí tự trong bảng mã ASCII.
2. KHAI BÁO:
8
2. KHAI BÁO:
d. Sự giống và khác nhau giữa mảng và xâu:
Khác nhau:
9
3. CÁC THAO TÁC XỬ LÍ XÂU:
Phép ghép xâu:
Ví dụ: cho đoạn chương trình sau:
Var s,s1,s2:string;
Begin
s1:=‘HA’;
s2:=‘ TINH’;
s:=s1+s2;
write(s);
readln;
End.
Kết quả chương trình trên là gì?
s:=‘HA TINH’;
Chức năng: Được sử dụng để ghép xâu s2 vào cuối xâu s1.
Chương trình
10
3. CÁC THAO TÁC XỬ LÝ XÂU
Chương trình ví dụ:
Var s1,s2:string;
T:Boolean;
Begin
S1:=’AB’;
S2:=’AC’;
T:=S1
Readln;
End.
Kết quả của chương trình là gì?
True.
Chương trình
11
b. Các phép so sánh:
Gồm các phép so sánh: =, <>, <, >, <=, >=.
Quy tắc so sánh hai xâu A và B:
Xâu A lớn hơn xâu B khi kí tự đầu tiên khác nhau giữa chúng kể từ trái sang trong xâu A có mã ASCII lớn hơn.
Ví dụ 1: S1:=‘AB’; S2:=‘AC’;
- Nếu A và B là hai xâu có độ dài khác nhau và A là đoạn đầu của B thì A nhỏ hơn B.
Ví dụ 2:
‘THPT’
‘THPT DHT’
3. CÁC THAO TÁC XỬ LÍ XÂU:
<
S1 < S2
12
3. CÁC THAO TÁC XỬ LÝ XÂU:
c. Hàm length
Cú pháp: length(s);
Trong đó: length là tên hàm, s là biểu thức xâu kí tự.
Ví dụ 1: length(‘Huong Tra’);
Ví dụ 2: Viết chương trình nhập vào một xâu bất kì, sau đó in ra màn hình độ dài của xâu.
9
13
3. CÁC THAO TÁC XỬ LÝ XÂU:
Chương trình:
Var s:string;
x:integer;
Begin
write(‘nhap vao xau s=‘);
readln(s);
x:=length(s);
write(‘do dai xau s la:’,x);
readln
End.
Run
14
CỦNG CỐ
Câu 1: Khai báo nào sau đây là đúng?
Var x:string[25]; C. Var x= string[40];
Var x:string[256]; D. Var x: string40;
Câu 2: Hãy cho biết độ dài của xâu S;
Với S:=‘tap the lop 11b8’?
8 B. 10 C. 16 D. 3
Câu 3: Với giá trị của xâu S ở trên, khi tham chiếu đến phần tử thứ 7 thì ta được kí tự nào?
‘u’ B. ‘e’
C. ‘ ’ D. ‘n’
15
CỦNG CỐ
Cho S1:=‘hoc ’; S2:=‘pascal ’
Câu 4: Để có được kết quả là: ‘hoc pascal rat de’ thì ta làm cách nào trong các cách sau:
S1+S2+ rat de; B. S1+S2+rat+de;
C. S1+S2+’rat’+’de’; D. S1+S2+’rat de’;
Câu 6: Nếu S:=S1+S2,độ dài của S là:
10 B.11
C. 9 D.12
* 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ẻ: Thái Văn Thắng
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)