KHÁI NIỆM KIỂU DỮ LIỆU XÂUNghiên cứu sách giáo khoa, em hiểu như thế nào là xâu?. Số lượng kí tự trong xâu được gọi là độ dài của xâu.. Cách khai báo biến kiểu xâu.. Ví dụ: Var Hoten
Trang 2BÀI TOÁN NÊU VẤN ĐỀ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
H N
A H
N I
M
H N
E I
H T
A
B
Hãy xác định kiểu dữ liệu của hai biến A
và B
Trang 31 KHÁI NIỆM KIỂU DỮ LIỆU XÂU
Nghiên cứu sách giáo khoa, em hiểu như thế nào là xâu?
Xâu là dãy kí tự trong bộ mã ASCII
Mỗi kí tự gọi là phần tử của xâu
Số lượng kí tự trong 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
Những yếu tố nào để xác định xâu?
Tên kiểu xâu
Cách khai báo biến kiểu xâu
Số lượng kí tự của xâu
Các phép toán thao tác với xâu
Cách tham chiếu tới phần tử của xâu
Trang 4* Mỗi kí tự được gọi là phần tử của xâu
* Độ dài của xâu (số kí tự trong xâu): 7
H
Trang 52 KHAI BÁO KIỂU XÂU TRONG PASCAL
Cấu trúc khai báo kiểu dữ liệu xâu trong Pascal?
Ví dụ: Var Hoten : String [30];
VAR <tên biến xâu> : String[độ dài lớn nhất của xâu];
VAR < tên biến xâu> : String[độ dài lớn nhất của xâu];
Khi khai báo xâu có thể bỏ qua phần khai báo [độ dài lớn nhất của xâu] , Khi đó độ dài lớn nhất của xâu sẽ nhận giá trị ngầm dịnh là 255.
Ví dụ: Var Chugiai : string ;
Trang 6Cấu trúc khi tham chiếu tới kí tự của xâu?
<Tên biến xâu> [chỉ số]
< Tên biến xâu> [chỉ số]
Khi tham chiếu đến kí tự thứ i - ta viết A[i].
Trang 7Thế nào là biểu thức xâu?
4 CÁC THAO TÁC XỬ LÍ XÂU
Là biểu thức trong đó các toán hạng là các biến xâu, biến kí tự
Trang 9Nêu các qui tắc thực hiện việc so sánh hai xâu ?
1 Xâu A rỗng là xâu A=‘’
PHÉP SO SÁNH XÂU
Các phép so sánh xâu: <, <=, >, >=, =, <>
Pascal tự động so sánh lần lượt từng kí tự từ trái sang phải
2 Xâu A = B nếu chúng giống nhau hoàn toàn
Ví dụ: ‘Tin hoc’ = ‘Tin hoc’
3 Xâu A > 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ụ: ‘Ha Noi’ > ’Ha Nam’
* Nếu A và B là các xâu có độ dài khác nhau và
B là đoạn đầu của A
Ví dụ: ‘May tinh cua toi’ > ’May tinh’
Trang 10Chèn xâu S1 vào xâu
S2 , bắt đầu từ vị trí vt S1=‘PC’; S2=‘IBM 486’Insert(s1,s2,4)
’IBM PC 486’
Trang 11Cho vị trí xuất hiện đầu tiên
Trang 12Quan sát sách giáo khoa trang 71, chương trình nhập họ tên của hai học sinh vào hai 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
5 MỘT SỐ VÍ DỤ
Trang 131 Khai báo xâu Var a, b:string;
End;
3 Xử lí xâu
Trang 15Quan sát sách giáo khoa trang 71, chương trình nhập hai xâu từ bàn phím và kiểm tra 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.
5 MỘT SỐ VÍ DỤ
Trang 161 Khai báo xâu Var a, b:string;
là độ dài của xâu B
* Kí tự đầu tiên của
xâu A: A[1]
x: byte
Readln End.
Trang 18Quan sát sách giáo khoa trang 71, chương trình nhập một xâu vào từ bàn phím và đưa ra màn hình xâu
đó nhưng được viết theo thứ tự
ngược lại.
Trang 20Quan sát sách giáo khoa trang 72, chương trình nhập một xâu vào từ bàn phím và đưa ra màn hình xâu thu được từ nó bởi việc loại bỏ các
dấu cách nếu có.
Trang 21* Khởi tạo xâu rỗng.
* 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ử dược duyệt khác dấu cách thì bổ sung vào xâu rỗng
Ví dụ:
Xâu ban đầu: ‘ Chuong trinh Pascal ’ Kết quả ra màn hình: ‘ ChuongtrinhPascal ’
Thuật toán:
Trang 23Quan sát sách giáo khoa trang 72, chương trình nhập vào từ bàn phím xâu kí tự s1, tạo xâu s2 gồm tất cả các chữ số có trong s1 (giữ nguyên thứ tự xuất hiện của chúng) và đưa
kết quả ra màn hình