Upload
minh-le
View
1.652
Download
1
Embed Size (px)
DESCRIPTION
Citation preview
Câu hỏi: Nêu cách khai báo trực tiếp mảng
một chiều. Viết khai báo mảng Hoten, gồm 20
phần tử, thuộc kiểu kí tự.
KIỂM TRA BÀI CŨ
Trả lời:- Cách khai báo trực tiếp mảng một chiều:var <tên biến mảng>: array [kiểu chỉ số] of <kiểu phần tử>;- Ví dụ:var Hoten: array [1..20] of char;
BÀI 12: KIỂU XÂU(2 TIẾT)
BÀI 12: KIỂU XÂU ( TIẾT 1)
Khái niệm xâu và cách
khai báo biến kiểu xâu.
Cách tham chiếu tới
phần tử của xâu.
Phép ghép xâu và so
sánh hai xâu.
BÀI 12: KIỂU XÂU ( TIẾT 1)
Khái niệmVí dụ:S1 = ‘TINHOC’
- 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 một xâu được gọi là độ dài của xâu.- Xâu có độ dài bằng 0 được gọi là xâu rỗng.
T I N H O C
S2 = ‘LOP11A11’ L O P 1 1 A 1 1
1 2 3 4 5 6
1 2 3 4 5 6 7 8
6
8
BÀI 12: KIỂU XÂU ( TIẾT 1)
Khai báo:
var < tên biến xâu>: string [độ dài lớn nhất của xâu] ;
var Hoten: string [30] ;
Lưu ý:- Độ dài lớn nhất của xâu nhỏ hơn hoặc bằng 255
Ví dụ: var Chugiai: string;
Độ dài lớn nhất của xâu có giá trị ngầm định là 255
???Khai báo xâu Monhoc gồm 7 phần tử.
var Monhoc: string [7] ;
BÀI 12: KIỂU XÂU ( TIẾT 1)
T I N H O C
T I N H O C
6
7
Khoảng trắng cũng là một kí
tự
BÀI 12: KIỂU XÂU ( TIẾT 1)
Tham chiếu tới phần tử của xâu:
Tên biến xâu [chỉ số]
Ví dụ:- Tham chiếu tới phần tử thứ 3 trong xâu S1S1[3] = ‘N’- Tham chiếu tới phần tử thứ 5 trong xâu S1S1[5] = ‘O’
T I N H O C
1 2 3 4 5 6
S1 = ‘TINHOC’
BÀI 12: KIỂU XÂU ( TIẾT 1)
‘100’ và 100 có gì khác nhau?
BÀI 12: KIỂU XÂU ( TIẾT 1)
Các thao tác xử lí xâu:
a. Phép ghép xâu:
Ví dụ: ‘HAI’ + ‘PHONG’ ‘HAIPHONG’
‘LOP11A11’ + ‘CHAMNGOAN’ ‘LOP11A11CHAMNGOAN’
Dấu ‘+’ trong 2 ví dụ trên dùng để làm gì?
Phép ghép xâu: dùng để ghép nhiều xâu thành một xâu.
BÀI 12: KIỂU XÂU ( TIẾT 1)
Các thao tác xử lí xâu:
b. Các phép so sánh:
TH1: Xâu A bằng xâu B nếu A và B giống hệt nhau.
Ví dụ: ‘TINHOC’ = ‘TINHOC’
‘11A11’ = ‘11A11’
TH2: Xâu A lớn hơn xâu B nếu xâu B là đoạn đầu của xâu A.
Ví dụ: ‘XAUKITU’ > ‘XAU’ ‘LOPHOC’ > ‘LOP’ ‘TINHOC’ < ‘TINHOC11’
TH3: Xâu A > xâu 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.
So sánh 2 xâu sau:
H A N O I H A N A M
BÀI 12: KIỂU XÂU ( TIẾT 1)
Các thao tác xử lí xâu:b. Các phép so sánh:
79 65
???
A n h a n h???
65 97
>
<
BÀI 12: KIỂU XÂU ( TIẾT 1)
Bài tập về nhà:
• Ôn tập về khái niệm xâu, cách khai báo và tham chiếu tới phần tử trong xâu.
• Xem trước nội dung tiếp theo của phần 2 và phần 3 trong SGK trang 70-72
Trên con đường thành công không có dấu chân của kẻ lười biếng.
BÀI 12: KIỂU XÂU ( TIẾT 2)
KIỂM TRA BÀI CŨ
- Nêu khái niệm xâu và cách khai báo xâu.
- Viết khai báo xâu Ghinho gồm 50 kí tự.
- Xâu là dãy kí tự trong bộ mã ASCII.- var Ghinho: string [50];
BÀI 12: KIỂU XÂU ( TIẾT 2)
Một số thủ tục chuẩn:
o delete (st, vt, n): thực hiện việc xóa n kí tự của biến xâu st bắt đầu từ vị trí vt.
Ví dụ 1: st = ‘SONGHONG’
delete (S, 5, 4) S O N G H O N G
5
Kết quả: delete (S, 5, 4) = ‘SONG’
BÀI 12: KIỂU XÂU ( TIẾT 2)
Một số thủ tục chuẩn:
Ví dụ 2:
st = ‘abcde’ delete (st, 1,4)
st = ‘e’
st = ‘abcde’
Ví dụ 3: delete (st, 5,4)
st = ‘abcd’
st = ‘abcde’
Ví dụ 4: delete (st, 2,6)
st = ‘a’
BÀI 12: KIỂU XÂU ( TIẾT 2)
Một số thủ tục chuẩn:
o insert (s1, s2, vt): chèn xâu s1 vào xâu s2 bắt đầu ở vị trí vt.
Ví dụ 1:s1 = ‘HINH .2’s2 = ‘1’
H I N H 1 . 2
insert (s1, s2, 6)
H I N H . 21
6
Kết quả: insert (s1, s2, 6) = ‘HINH 1.2’
s1 s2
BÀI 12: KIỂU XÂU ( TIẾT 2)
Một số thủ tục chuẩn:
Ví dụ 2:
s1 = ‘def’ insert (s1, s2, 2)
s2 = ‘adefb’
s2 = ‘ab’
s1 = ‘def’ insert (s1, s2, 3)
s2 = ‘abdef’
BÀI 12: KIỂU XÂU ( TIẾT 2)
Một số hàm chuẩn:
o copy (s, vt, n): 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.
Ví dụ 1:s = ‘TINHOC’
copy (s, 4, 3) T I N H O C
4
H O CKết quả:
BÀI 12: KIỂU XÂU ( TIẾT 2)
Một số hàm chuẩn:
Ví dụ 2:
s = ‘def’ copy (s, 2, 2)
s2 = ‘ef’
s = ‘banbe’ copy (s, 1, 3)
s2 = ‘ban’
Ví dụ 3:
BÀI 12: KIỂU XÂU ( TIẾT 2)
Một số hàm chuẩn:
o pos (s1, s2): cho vị trí xuất hiện đầu tiên của xâu s1 trong xâu s2.
Ví dụ 1:s1 = ‘1’s2 = ‘LOP11A11’ L O P 1 1 A 1 1
pos (s1, s2) = ?
a.4
d.8c.7
b.5a.4
BÀI 12: KIỂU XÂU ( TIẾT 2)
Một số hàm chuẩn:
o length (s): cho giá trị độ dài xâu s
s1= ‘LOP11A11CHAMNGOAN’
length (s1) = 17
s2= ‘hoctap’
length (s2) = 6
o upcase (ch): cho chữ cái in hoa ứng với chữ cái trong ch
s1= ‘a’
upcase (s1) = ‘A’
BÀI 12: KIỂU XÂU ( TIẾT 2)
Một số ví dụ:
Ví dụ 1: Viết chương trình nhập họ tên của 2 người vào 2 biến xâu và đưa ra màn hình xâu dài hơn, nếu bằng nhau thì đưa ra xâu nhập sau.
Xác định Input, output của bài toán trên.
Input: nhập vào 2 xâu (a,b)Output: xuất xâu dài hơn, nếu bằng nhau thì đưa ra xâu nhập sau.
BÀI 12: KIỂU XÂU ( TIẾT 2)
Một số ví dụ:
o Phân tích, xử lý bài toán:- Nhập vào 2 xâu (a,b).- Kiểm tra: nếu độ dài xâu a lớn hơn độ dài xâu b thì xuất ra
xâu a, ngược lại thì xuất ra xâu b.- Xuất xâu dài hơn.
BÀI 12: KIỂU XÂU ( TIẾT 2)
Một số ví dụ:
o Cài đặt:
var a,b: string;begin
write (‘Nhap ho ten nguoi thu nhat: ’);readln (a);write (‘Nhap ho ten nguoi thu hai: ’);readln (b);if (length (a) > length (b)) then write (a) else write (b);readln
end.
BÀI 12: KIỂU XÂU ( TIẾT 2)
Bài tập về nhà:
• Ôn tập khái niệm xâu, cách khai báo và tham chiếu tới phần tử của xâu.
• Hiểu và vận dụng linh hoạt các hàm và thủ tục chuẩn trên xâu.
• Làm các ví dụ 2,3,4,5 còn lại trong SGK trang 71- 72.
• Chuẩn bị bài: Bài tập và thực hành số 5.
CHÚC CÁC EM HỌC TỐT!
Trên con đường thành công không có dấu chân của kẻ lười biếng.