Bài 12. Kiểu xâu

Chia sẻ bởi Cao Trung | Ngày 10/05/2019 | 97

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:

Kiểu dữ liệu xâu
Nhóm: Phan Thị Bình
Võ Thị Anh
Nguyễn Hữu Tâm
Trần Hữu Hợi
Nguyễn Thị Lan
Lớp: Tin 4B - Niên khoá 2002 - 2006
Chương 4 - Bài 2:
Định nghĩa, khai báo
Các thao tác xử lý xâu
Bài tập về nhà
Tổng kết tiết học
Kiểm tra bài cũ
Một số ví dụ
Câu hỏi:
Khai báo một mảng gồm 20 phần tử kiểu số nguyên.
Giả sử mảng số nguyên trên đã có dữ liệu, hãy viết chương trình để tìm phần tử lớn nhất trong mảng đó (Viết chương trình con).
Kiểm tra bài cũ (1)
Định nghĩa, khai báo
Các thao tác xử lý xâu
Bài tập về nhà
Tổng kết tiết học
Kiểm tra bài cũ
Một số ví dụ
Kiểm tra bài cũ (2)
Kết quả mong muốn:
Var MangNguyen:Array[1..20] of Integer;

Function Lon_nhat(A:MangNguyen):Integer;
Var i,Max:Integer;
Begin
Max:=A[1];
For i:=2 to 20 do
If Max < A[i] then Max:=A[i];
Lon_nhat:=Max;
End;
Định nghĩa, khai báo
Các thao tác xử lý xâu
Bài tập về nhà
Tổng kết tiết học
Kiểm tra bài cũ
Một số ví dụ
Định nghĩa, khai báo (1)
I. Định nghĩa:
+ Xâu là dãy ký tự trong bảng mã ASCII.
+ Số lượng ký tự trong xâu 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í dụ:
‘ab1c6 de7f?g’ là một xâu độ dài là 12 ký tự.
‘’ là một xâu rỗng.
‘ ’ là một xâu có độ dài là một.
Kiểm tra bài cũ
Định nghĩa, khai báo
Các thao tác xử lý xâu
Bài tập về nhà
Tổng kết tiết học
Một số ví dụ
Định nghĩa, khai báo (2)
II. Khai báo:
Var :String[N];
Trong đó:
Var, String là từ khoá.
là tên của xâu ký tự.
N là độ dài của xâu.
Ví dụ:
Var Xau1:String[21];
Biến Xau1 là xâu có độ dài 21
Var Xau2:String;
Biến Xau2 là xâu có độ dài 255
Kiểm tra bài cũ
Định nghĩa, khai báo
Các thao tác xử lý xâu
Bài tập về nhà
Tổng kết tiết học
Một số ví dụ
Định nghĩa, khai báo (3)
III. Biểu diễn xâu trong bộ nhớ:
Với một xâu có độ dài là n thì trong bộ nhớ dành ra n+1 byte để lưu trữ xâu đó. Trong đó byte đầu tiên chứa tổng số ký tự có trong xâu (độ dài của xâu), các byte tiếp theo chứa các ký tự của xâu.
Ví dụ: Biểu diễn xâu sau trong bộ nhớ:
D
a
y
-
l
a
-
m
o
t
-
x
a
u
D
a
y
-
l
a
-
m
o
t
-
x
a
u
D
a
y
-
l
a
-
m
o
t
-
x
a
u
14
14
Kiểm tra bài cũ
Định nghĩa, khai báo
Các thao tác xử lý xâu
Bài tập về nhà
Tổng kết tiết học
10
12
3
4
9
11
1
2
7
8
6
5
14
13
Một số ví dụ
Các thao tác xử lý xâu (1)
I. Phép ghép xâu:
Là phép ghép nối hai xâu ký tự.
Kí hiệu: +
Ví dụ:
‘Kieu’ +Xau’ = ‘KieuXau’
Minh hoạ:
4
3
K
i
e
u
X
a
u
7
K
i
e
u
X
a
u
7
+
Kiểm tra bài cũ
Định nghĩa, khai báo
Các thao tác xử lý xâu
Bài tập về nhà
Tổng kết tiết học
Một số ví dụ
Các thao tác xử lý xâu (2)
II. Các phép so sánh:
Phép so sánh toán học: <, <=, =, >=, >, <>.
Xâu A > 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.
Hai xâu được gọi là bằng nhau khi chúng hoàn toàn giống nhau.
Ví dụ: ‘tinhoc’ = ‘tinhoc’
Minh hoạ:
6
t
i
n
h
o
c
6
t
i
n
h
o
c
=
=> ‘tinhoc’ = ‘tinhoc’
Kiểm tra bài cũ
Định nghĩa, khai báo
Các thao tác xử lý xâu
Bài tập về nhà
Tổng kết tiết học
Một số ví dụ
Các thao tác xử lý xâu (3)
III. Các hàm và thủ tục chuẩn:
1. Thủ tục DELETE(St, vt, n):
Xoá n ký tự từ xâu St bắt đầu từ vị trí vt.
Ví dụ:
St = ‘tinhocnhatruong’
Delete(St, 7,9) => St = ‘tinhoc’
Minh hoạ:
9
15
-
=
6
15
6
Kiểm tra bài cũ
Định nghĩa, khai báo
Các thao tác xử lý xâu
Bài tập về nhà
Tổng kết tiết học
2
3
7
Một số ví dụ
Các thao tác xử lý xâu (4)
III. Các hàm và thủ tục chuẩn:
2.Thủ tục INSERT(St1, St2, vt):
Chèn xâu St1 vào xâu St2 bắt đầu từ vị trí vt.
Ví dụ:
St1 = ‘PC-’ St2 = ‘IBM-486’
Insert(St1, St2, 5) => St2 = ‘IBM-PC-486’
Minh hoạ:
3
7
+
=
10
10
7
P
C
-
P
C
-
Kiểm tra bài cũ
Định nghĩa, khai báo
Các thao tác xử lý xâu
Bài tập về nhà
Tổng kết tiết học
5
Một số ví dụ
Các thao tác xử lý xâu (5)
III. Các hàm và thủ tục chuẩn:
3. Hàm COPY(St, vt, n):
Tạo một xâu gồm n ký tự liên tiếp được lấy trong xâu St bắt đầu từ vị trí vt.
Ví dụ:
St = ‘tinhocnhatruong’
S:=Copy(St, 7, 9) => S = ‘nhatruong’
Minh hoạ:
15
n
h
a
t
r
u
o
n
g
9
9
9
n
h
a
t
r
u
o
n
g
Kiểm tra bài cũ
Định nghĩa, khai báo
Các thao tác xử lý xâu
Bài tập về nhà
Tổng kết tiết học
Một số ví dụ
Các thao tác xử lý xâu (6)
III. Các hàm và thủ tục chuẩn:
4. Hàm POS(St1, St2):
Cho vị trí xuất hiện đầu tiên của xâu St1 trong xâu St2. Nếu xâu St1 không có trong xâu St2 thì cho kết quả là 0.
Ví dụ:
St1 = ‘u’ St2 = ‘kieudulieuxau’
N := Pos(St1, St2) => N = 4
Minh hoạ:
N
=
0
2
4
1
3
4
u
u
u
u
Kiểm tra bài cũ
Định nghĩa, khai báo
Các thao tác xử lý xâu
Bài tập về nhà
Tổng kết tiết học
u
k
<>
=
i
e
u
Một số ví dụ
Các thao tác xử lý xâu (7)
III. Các hàm và thủ tục chuẩn:
5.Hàm LENGTH(St):
Cho giá trị là độ dài của xâu St.
Ví dụ:
N := Length(‘cac thao tac xu ly xau’)
=> N = 22
6. Hàm UPCASE(Ch):
Cho giá trị là ký tự in hoa ứng với ký tự Ch.
Chú ý: Ch ở trên là kiểu ký tự (Char).
Ví dụ:
Ch := Upcase(‘a’) => Ch = ‘A’
Ch := Upcase(‘E’) => Ch = ‘E’
Kiểm tra bài cũ
Định nghĩa, khai báo
Các thao tác xử lý xâu
Bài tập về nhà
Tổng kết tiết học
Bài tập
Một số ví dụ
Định nghĩa, khai báo
Các thao tác xử lý xâu
Bài tập về nhà
Tổng kết tiết học
Kiểm tra bài cũ
IV. Một số ví vụ
Ví dụ 1: Viết chương trình nhập vào một xâu rồi in ra màn hình xâu đảo của một xâu đó.
Chương trình:
Program xau_dao;
Var St:String;
i:Byte;
Begin
Write(‘Nhap vao mot xau: ’); Readln(St);
For i:=length(St) downto 1 do
Write(St[i]);
Readln;
End.
Minh hoạ
Một số ví dụ
Định nghĩa, khai báo
Các thao tác xử lý xâu
Bài tập về nhà
Tổng kết tiết học
Kiểm tra bài cũ
Minh hoạ (1)
Var St:String;

i:Byte;
0
1
3
2

4
255
St
Write(‘Nhap vao mot xau: ’);

Readln(St);
i
a
b
c
d
0
a
c
d
b
4
For i:=length(St) downto 1 do

Write(St[i]);
Nhap vao mot xau:
4
d
c
b
a
3
2
1
Màn hình
Một số ví dụ
Định nghĩa, khai báo
Các thao tác xử lý xâu
Bài tập về nhà
Tổng kết tiết học
Kiểm tra bài cũ
Ví dụ 2: Viết chương trình nhập vào một xâu. In ra màn hình xâu đó sau khi đã đổi tất cả chữ in thưòng thành in hoa.
Chương trình:
Program in_hoa;
Var St:String; i:Byte;
Begin
Write(‘Nhap vao mot xau: ’); Readln(St);
For i:=1 to length(St) do
St[i]:=Upcase(St[i]);
Writeln(‘Xau sau khi da in hoa la:’, St);
Readln;
End.
Minh hoạ
IV. Một số ví vụ
Một số ví dụ
Định nghĩa, khai báo
Các thao tác xử lý xâu
Bài tập về nhà
Tổng kết tiết học
Kiểm tra bài cũ
Minh hoạ (2)
Một số ví dụ
Định nghĩa, khai báo
Các thao tác xử lý xâu
Bài tập về nhà
Tổng kết tiết học
Kiểm tra bài cũ
Bài tập (3):
Đề: Viết chương trình nhập vào một xâu bất kỳ rồi in ra màn hình số từ của xâu đó.
Hướng dẫn:
Từ là một dãy ký tự liên tục khác ký tự trắng (ký tự trắng là ký tự phân cách giữa các từ).
Do đó ta có đoạn giải thuật thô như sau:
Sotu:=0;
For i:=1 to length(st) do
if st[i]=‘ ’ then inc(sotu);
Giải thuậtt trên chỉ đúng với trường hợp nhập xâu đúng qui cách. (Xâu không có ký tự trắng dư thừa)
Một số ví dụ
Định nghĩa, khai báo
Các thao tác xử lý xâu
Bài tập về nhà
Tổng kết tiết học
Kiểm tra bài cũ
Bài tập (3):
Chương trình:
Program So_tu;
Var N,i:Byte;
St:String;
Begin
Write(‘Nhap vao mot xau: ’); Readln(St);
n:=0;
For i:=1 to length(St) do
if St[i] = ‘ ‘ then N:=N+1;
Writeln(‘So tu cua xau la: ’,N);
Readln;
End.
Minh hoạ
Một số ví dụ
Định nghĩa, khai báo
Các thao tác xử lý xâu
Bài tập về nhà
Tổng kết tiết học
Kiểm tra bài cũ
Minh hoạ (3)
Một số ví dụ
Bài tập về nhà
1. Xem các ví dụ 1–5 trang 70, 71, 72 sách giáo khoa.
2. Viết chương trình nhập vào một xâu:
a. In ra màn hình xâu đó sau khi đã thay thế các số có trong xâu thành các ký tự trắng.
b. Đếm xem trong xâu đó có bao nhiêu ký tự trắng.
c. Kiểm tra xem xâu đó có phải là xâu Palindrom không? (Xâu Palindrom là xâu có xâu đảo trùng với chính nó. Chẳng hạn: ABCBA là xâu Palindrom).
Kiểm tra bài cũ
Định nghĩa, khai báo
Các thao tác xử lý xâu
Bài tập về nhà
Tổng kết tiết học
Một số ví dụ
Tổng kết tiết học
I. Khai báo:
Var Name1:String[N];
II. Các thao tác xử lý xâu:
1. Phép ghép xâu:
2. Phép toán so sánh: <, <=, =, >=, >, <>
3. Các hàm, thủ tục chuẩn:
a. Thủ tục Delete(St, vt, n):
b. Thủ tục Insert(St1, St2, vt):
c. Hàm Copy(St, vt, n):
d. Hàm Length(St):
e. Hàm Pos(St1, St2):
f. Hàm Upcase(Ch):
Kiểm tra bài cũ
Định nghĩa, khai báo
Các thao tác xử lý xâu
Bài tập về nhà
Tổng kết tiết học
Một số ví dụ
* 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ẻ: Cao Trung
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)