Bài 12. Kiểu xâu
Chia sẻ bởi Nguyễn Thị Quỳnh Như |
Ngày 10/05/2019 |
49
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:
Chào mừng quý thầy cô cùng các em đến
tham dự tiết hoc
5/5/2013
1
SVTT: Nguyễn Thị Quỳnh Như
Kiểm tra bài cũ
Khai báo một mảng một chiều có tên là hoten gồm 20 phần tử mỗi phần tử là một kí tự.
Viết đoạn chương trình để nhập các phần tử cho mảng hoten.
Tham chiếu đến phần tử thứ 2 của mảng.
5/5/2013
2
SVTT: Nguyễn Thị Quỳnh Như
Đáp án
Var hoten:array[1..20] of char
i:integer;
Begin
for i:=1 to 20 do
begin
write(‘nhap hoten[’,i,’]=‘);
readln(hoten[i]);
end;
readln;
End.
Tham chiếu đến phần tử thứ 2 của mảng
hoten[2]
5/5/2013
3
SVTT: Nguyễn Thị Quỳnh Như
Kiểu xâu (Tiết 1)
Giáo viên hướng dẫn: Cô Hoàng Khánh Mỹ.
Giáo sinh: Nguyễn Thị Quỳnh Như
5/5/2013
4
SVTT: Nguyễn Thị Quỳnh Như
1. một số khái niệm
Ví dụ: ‘hocsinh’, ‘Lop11B’, ‘**’, ‘’ , ‘’
Đây là xâu kí tự
Xâu là dãy kí tự trong bộ 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 xâu.
Xâu có độ dài bằng 0 được gọi là xâu rỗng.
5/5/2013
5
SVTT: Nguyễn Thị Quỳnh Như
Kiểu xâu
Độ dài của xâu
‘hocsinh’
Có 8 kí tự => Độ dài xâu bằng 8.
‘Lop11B’
Có 7 kí tự => Độ dài xâu bằng 7.
5/5/2013
6
SVTT: Nguyễn Thị Quỳnh Như
Vậy số kí tự của xâu và độ dài xâu liên quan như thế nào?
Số lượng kí tự trong xâu được gọi là độ dài xâu
2. KHAI BÁO
5/5/2013
7
SVTT: Nguyễn Thị Quỳnh Như
: [độ dài lớn nhất của xâu];
Var
string
Lưu ý: Độ dài lớn nhất không vượt quá 255)
Ví dụ: Var st: string [8];
Var hoten: string[20];
Khai báo biến hoten có độ dài lớn nhât là 20
2. KHAI BÁO
Var a: string;
Chú ý: Khi khai báo biến xâu mà không chỉ ra độ dài lớn nhất của xâu thì mặc định xâu có độ dài lớn nhất là 255
5/5/2013
8
SVTT: Nguyễn Thị Quỳnh Như
Đúng
Sai
3. Nhập xuất dữ liệu
Nhập
Read ();
readln();
Xuất
Write ();
writeln();
Ví dụ: write(‘nhap ho ten’);
readln(hoten);
Writeln(‘ho ten la’, hoten);
Readln(a,b);
write(‘xau 1 la’,a,’xau2 la’,b);
5/5/2013
9
SVTT: Nguyễn Thị Quỳnh Như
Dùng lệnh gán
Cú pháp: tên_biến_xâu:= hằng_xâu;
Ví dụ: st:=‘hoctap’;
s1:=‘’;
s2:=‘’
5/5/2013
10
SVTT: Nguyễn Thị Quỳnh Như
Tham chiếu đến từng kí tự của xâu
Cú pháp
Tên_biến[chỉ_số]
Ví dụ: + hoten[2]
Cho st:=‘Lop11B’
st[4]=???
st[4]=‘’
5/5/2013
11
SVTT: Nguyễn Thị Quỳnh Như
4. Thao tác xử lý xâu
a. Phép ghép xâu (+)
Ví dụ: s1:= ‘hocsinh ’; s2:= ‘Lop11B’;
s:=s1+s2;
s:=‘hocsinhLop11B’
Minh họa
+
Ý nghĩa: Phép ghép xâu dùng để ghép nhiều xâu thành một
5/5/2013
12
SVTT: Nguyễn Thị Quỳnh Như
s1
s2
a. Phép ghép xâu (+)
Ví dụ 2:
s1:=‘dong’;
s2:=‘thoi’;
s3:=‘gian’;
S:=s1+s2+s3;
=> S=‘dongthoigian’
5/5/2013
13
SVTT: Nguyễn Thị Quỳnh Như
4. Thao tác xử lý xâu
B. Các phép toán so sánh
Các phép so sánh: Bằng(=), khác(<>), nhỏ hơn(<), lớn hơn(>), nhỏ hơn hoặc bằng(<=), lớn hơn hoặc bằng(>=)
Để so sánh xâu, chúng ta phải dựa vào mã ASCII của kí tự trong xâu.
Muốn so sánh hai xâu bất kì ta dùng 3 quy tắc so sánh xâu
5/5/2013
14
SVTT: Nguyễn Thị Quỳnh Như
Quy tắc 1
Xâu A > xâu B nếu 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ụ : s1:=‘ ’; s2:=‘ ’;
s1 s2
Ví dụ 2: s3:=‘ ’; s4:=‘ ’;
s3 s4
Chú ý: Xâu có độ dài lớn hơn chưa chắc đã lớn hơn xâu có độ dài nhỏ hơn.
5/5/2013
15
SVTT: Nguyễn Thị Quỳnh Như
C
c
?
B
A
A
B
<
a
B
C
a
>
?
Ca>B
Quy tắc 2
Ví dụ: s1:= ; s2:=
s1 s2
Nếu A và B là các xâu có độ dài khác nhau và A là đoạn đầu của B thì A nhỏ hơn B.
5/5/2013
16
SVTT: Nguyễn Thị Quỳnh Như
‘AB’
‘AB ’
?
<
C
Quy tắc 3
Hai xâu được gọi là bằng nhau nếu chúng giống nhau hoàn toàn.
Ví dụ: s1:=‘ABC’; s2:=‘ABC’;
s1=s2
5/5/2013
17
SVTT: Nguyễn Thị Quỳnh Như
Củng cố kiến thức
Câu 1: Trong các khai báo sau, khai báo nào sai?
var a: string[15];
var a,b:string[15];
var a,b: string[256];
var a:string;
5/5/2013
18
SVTT: Nguyễn Thị Quỳnh Như
Câu 2: Cho xâu st:= ‘Hoahoctro’. Giá trị tại phần tử thứ 7 sẽ là?
‘c’
‘’
‘t’
‘’
5/5/2013
19
SVTT: Nguyễn Thị Quỳnh Như
Câu 3: Cho 2 xâu s1:= ‘truong’; s2:= ‘noitru’;
Thực hiện câu lệnh
s:=s1+s2+ ‘’;
Ta đươc kết quả nào sau đây?
‘truongnoitru’
‘truongnoitru’
‘truongnoitru’
‘truongnoitru’
5/5/2013
20
SVTT: Nguyễn Thị Quỳnh Như
Câu 4: Cho 2 xâu:
a:= ‘hoahong’
b:= ‘hoahong’
Mã ASCII của kí tự ‘’=32. Mã ASCII của kí tự ‘h’ = 104.
So sánh hai xâu a và b. Đáp án đúng là?
a>b
a a=b
5/5/2013
21
SVTT: Nguyễn Thị Quỳnh Như
Câu 5: Cho 2 xâu a:= ‘tin’; b:= ‘hoclop11’; Mã ASCII của kí tự ‘t’=116. Mã ASCII của kí tự ‘h’=104.
So sánh hai xâu a và b. Đáp án đúng là?
a>b
aa=b
5/5/2013
22
SVTT: Nguyễn Thị Quỳnh Như
5/5/2013
23
SVTT: Nguyễn Thị Quỳnh Như
tham dự tiết hoc
5/5/2013
1
SVTT: Nguyễn Thị Quỳnh Như
Kiểm tra bài cũ
Khai báo một mảng một chiều có tên là hoten gồm 20 phần tử mỗi phần tử là một kí tự.
Viết đoạn chương trình để nhập các phần tử cho mảng hoten.
Tham chiếu đến phần tử thứ 2 của mảng.
5/5/2013
2
SVTT: Nguyễn Thị Quỳnh Như
Đáp án
Var hoten:array[1..20] of char
i:integer;
Begin
for i:=1 to 20 do
begin
write(‘nhap hoten[’,i,’]=‘);
readln(hoten[i]);
end;
readln;
End.
Tham chiếu đến phần tử thứ 2 của mảng
hoten[2]
5/5/2013
3
SVTT: Nguyễn Thị Quỳnh Như
Kiểu xâu (Tiết 1)
Giáo viên hướng dẫn: Cô Hoàng Khánh Mỹ.
Giáo sinh: Nguyễn Thị Quỳnh Như
5/5/2013
4
SVTT: Nguyễn Thị Quỳnh Như
1. một số khái niệm
Ví dụ: ‘hocsinh’, ‘Lop11B’, ‘**’, ‘’ , ‘’
Đây là xâu kí tự
Xâu là dãy kí tự trong bộ 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 xâu.
Xâu có độ dài bằng 0 được gọi là xâu rỗng.
5/5/2013
5
SVTT: Nguyễn Thị Quỳnh Như
Kiểu xâu
Độ dài của xâu
‘hocsinh’
Có 8 kí tự => Độ dài xâu bằng 8.
‘Lop11B’
Có 7 kí tự => Độ dài xâu bằng 7.
5/5/2013
6
SVTT: Nguyễn Thị Quỳnh Như
Vậy số kí tự của xâu và độ dài xâu liên quan như thế nào?
Số lượng kí tự trong xâu được gọi là độ dài xâu
2. KHAI BÁO
5/5/2013
7
SVTT: Nguyễn Thị Quỳnh Như
Var
string
Lưu ý: Độ dài lớn nhất không vượt quá 255)
Ví dụ: Var st: string [8];
Var hoten: string[20];
Khai báo biến hoten có độ dài lớn nhât là 20
2. KHAI BÁO
Var a: string;
Chú ý: Khi khai báo biến xâu mà không chỉ ra độ dài lớn nhất của xâu thì mặc định xâu có độ dài lớn nhất là 255
5/5/2013
8
SVTT: Nguyễn Thị Quỳnh Như
Đúng
Sai
3. Nhập xuất dữ liệu
Nhập
Read (
readln(
Xuất
Write (
writeln(
Ví dụ: write(‘nhap ho ten’);
readln(hoten);
Writeln(‘ho ten la’, hoten);
Readln(a,b);
write(‘xau 1 la’,a,’xau2 la’,b);
5/5/2013
9
SVTT: Nguyễn Thị Quỳnh Như
Dùng lệnh gán
Cú pháp: tên_biến_xâu:= hằng_xâu;
Ví dụ: st:=‘hoctap’;
s1:=‘’;
s2:=‘’
5/5/2013
10
SVTT: Nguyễn Thị Quỳnh Như
Tham chiếu đến từng kí tự của xâu
Cú pháp
Tên_biến[chỉ_số]
Ví dụ: + hoten[2]
Cho st:=‘Lop11B’
st[4]=???
st[4]=‘’
5/5/2013
11
SVTT: Nguyễn Thị Quỳnh Như
4. Thao tác xử lý xâu
a. Phép ghép xâu (+)
Ví dụ: s1:= ‘hocsinh ’; s2:= ‘Lop11B’;
s:=s1+s2;
s:=‘hocsinhLop11B’
Minh họa
+
Ý nghĩa: Phép ghép xâu dùng để ghép nhiều xâu thành một
5/5/2013
12
SVTT: Nguyễn Thị Quỳnh Như
s1
s2
a. Phép ghép xâu (+)
Ví dụ 2:
s1:=‘dong’;
s2:=‘thoi’;
s3:=‘gian’;
S:=s1+s2+s3;
=> S=‘dongthoigian’
5/5/2013
13
SVTT: Nguyễn Thị Quỳnh Như
4. Thao tác xử lý xâu
B. Các phép toán so sánh
Các phép so sánh: Bằng(=), khác(<>), nhỏ hơn(<), lớn hơn(>), nhỏ hơn hoặc bằng(<=), lớn hơn hoặc bằng(>=)
Để so sánh xâu, chúng ta phải dựa vào mã ASCII của kí tự trong xâu.
Muốn so sánh hai xâu bất kì ta dùng 3 quy tắc so sánh xâu
5/5/2013
14
SVTT: Nguyễn Thị Quỳnh Như
Quy tắc 1
Xâu A > xâu B nếu 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ụ : s1:=‘ ’; s2:=‘ ’;
s1 s2
Ví dụ 2: s3:=‘ ’; s4:=‘ ’;
s3 s4
Chú ý: Xâu có độ dài lớn hơn chưa chắc đã lớn hơn xâu có độ dài nhỏ hơn.
5/5/2013
15
SVTT: Nguyễn Thị Quỳnh Như
C
c
?
B
A
A
B
<
a
B
C
a
>
?
C
Quy tắc 2
Ví dụ: s1:= ; s2:=
s1 s2
Nếu A và B là các xâu có độ dài khác nhau và A là đoạn đầu của B thì A nhỏ hơn B.
5/5/2013
16
SVTT: Nguyễn Thị Quỳnh Như
‘AB’
‘AB ’
?
<
C
Quy tắc 3
Hai xâu được gọi là bằng nhau nếu chúng giống nhau hoàn toàn.
Ví dụ: s1:=‘ABC’; s2:=‘ABC’;
s1=s2
5/5/2013
17
SVTT: Nguyễn Thị Quỳnh Như
Củng cố kiến thức
Câu 1: Trong các khai báo sau, khai báo nào sai?
var a: string[15];
var a,b:string[15];
var a,b: string[256];
var a:string;
5/5/2013
18
SVTT: Nguyễn Thị Quỳnh Như
Câu 2: Cho xâu st:= ‘Hoahoctro’. Giá trị tại phần tử thứ 7 sẽ là?
‘c’
‘’
‘t’
‘’
5/5/2013
19
SVTT: Nguyễn Thị Quỳnh Như
Câu 3: Cho 2 xâu s1:= ‘truong’; s2:= ‘noitru’;
Thực hiện câu lệnh
s:=s1+s2+ ‘’;
Ta đươc kết quả nào sau đây?
‘truongnoitru’
‘truongnoitru’
‘truongnoitru’
‘truongnoitru’
5/5/2013
20
SVTT: Nguyễn Thị Quỳnh Như
Câu 4: Cho 2 xâu:
a:= ‘hoahong’
b:= ‘hoahong’
Mã ASCII của kí tự ‘’=32. Mã ASCII của kí tự ‘h’ = 104.
So sánh hai xâu a và b. Đáp án đúng là?
a>b
a a=b
5/5/2013
21
SVTT: Nguyễn Thị Quỳnh Như
Câu 5: Cho 2 xâu a:= ‘tin’; b:= ‘hoclop11’; Mã ASCII của kí tự ‘t’=116. Mã ASCII của kí tự ‘h’=104.
So sánh hai xâu a và b. Đáp án đúng là?
a>b
aa=b
5/5/2013
22
SVTT: Nguyễn Thị Quỳnh Như
5/5/2013
23
SVTT: Nguyễn Thị Quỳnh Như
* 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ẻ: Nguyễn Thị Quỳnh Như
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)