Tải bản đầy đủ (.ppt) (26 trang)

bài giảng tin học 11 bài 12 kiểu xâu

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (1.23 MB, 26 trang )


Đặng Hữu Hoàng
BÀI GIẢNG TIN HỌC 11
BÀI 12
KIỂU XÂU
KIỂU XÂU
BÀI TOÁN NÊU VẤN ĐỀ
BÀ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
HNAHNIM
A IHNEIHT
A
B
Hãy xác định kiểu dữ liệu của hai biến A
và B
1. KHÁI NIỆM KIỂU DỮ LIỆU XÂU
1. 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.
A
Ví dụ
Trong đó
* Khi tham chiếu đến kí tự thứ i của xâu ta viết: A[i].
Ví dụ: A[5]= ‘H’.
* Tên xâu: A;
* 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
T I n H o c
1 2 3 4 5 6 7
H
2. KHAI BÁO KIỂU XÂU TRONG PASCAL
2. 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;
Cấ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].

A[3] = ‘N’.
Ví dụ:
3. THAM CHIẾU TỚI KÍ TỰ CỦA XÂU
3. THAM CHIẾU TỚI KÍ TỰ CỦA XÂU
T I n H o c
1 2 3 4 5 6 7
N
A
Thế nào là biểu thức xâu?
4. CÁC THAO TÁC XỬ LÍ 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ự.
PHÉP GHÉP XÂU
PHÉP GHÉP XÂU

Phép ghép xâu dược sử dụng để ghép nhiều xâu thành một
xâu.

Kí hiệu của phép ghép xâu là dấu cộng (+)
Ví dụ:
‘Ha’ ‘Noi’ ‘ - ’ ‘Viet Nam’
+
+ + ‘Ha Noi - Viet Nam’
Nê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
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’
CÁC THỦ TỤC XỬ LÍ XÂU
CÁC THỦ TỤC XỬ LÍ XÂU
Thủ tục Ý nghĩa Ví dụ
Xóa n kí tự của xâu
S ,bắt dầu từ kí tự vt
Delete(S,vt,n)
S = ‘Song Hong’
Delete(S,1,5)
 ‘Hong’
Insert(S1,S2,vt)
Chè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’
CÁC HÀM XỬ LÍ XÂU
CÁC HÀM XỬ LÍ XÂU
Hàm Ý nghĩa Ví dụ

Tạo xâu gồm n kí tự liên tiếp
bắt dầu từ vị trí vt của xâu S
Copy(S,vt,n)
S = ‘Bai hoc thu 9’
Copy(S,9,5)
 ‘thu 9’
Length(S)
Cho giá trị là độ dài của
xâu S
S=‘500 ki tu’
Length(S)  9
Cho vị trí xuất hiện đầu tiên
của xâu S1 trong xâu S2
Pos(S1,S2)
S1 = ‘1’; S2=‘Hinh 1.2’
Pos(S1,S2) = 6
Upcase(ch)
Chuyển kí tự ch thành chữ
hoa
ch=‘d’
Upcase(ch) = ‘D’
Quan 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Ụ
5. MỘT SỐ VÍ DỤ
1. Khai báo xâu
Var a, b:string;

2. Nhập xâu
BEGIN
Write(‘ Nhap ho ten thu nhat :’);
Readln(a);
Write(‘Nhap ho ten thu hai :’);
Readln(b);
IF Length(a)>Length(b) then write(a)
else write(b);
Readln
End;
3. Xử lí xâu
Quan 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Ụ
5. MỘT SỐ VÍ DỤ
1. Khai báo xâu
Var a, b:string;
2. Nhập xâu
BEGIN
Write(‘ Nhap xau thu nhat :’); Readln(a);
Write(‘Nhap xâu thu hai :’); Readln(b);
x:=length(b);
If a[1]=b[x] then write(‘Trung nhau’)
else write(‘Khac nhau’)
3. Xử lí xâu
* Kí tự cuối cùng của

xâu B: B[x] trong đó x
là độ dài của xâu B
* Kí tự đầu tiên của
xâu A: A[1]
x: byte
Readln
End.
Quan 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.
Quan 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ó.
* 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:
Quan 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.
DẶN DÒ
DẶN DÒ
1. Thực hành “bài tập vả thực hành 5” _Trang 73 _ Sách giáo
khoa.
2. Thực hiện bài tập 10 _ trang 80 _Sách Giáo khoa

×