Bài 12. Kiểu xâu

Chia sẻ bởi Nguyễn Trung | Ngày 10/05/2019 | 36

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:

TRƯỜNG THPT PHÚ XUYÊN A
Tổ Toán - Tin
LỚP 11A1
GIÁO VIÊN: NGUYỄN THÀNH TRUNG
CHÀO MỪNG CÁC THẦY CÔ ĐẾN DỰ GIỜ
MÔN:TIN HỌC
KIỂM TRA BÀI CŨ
Khai báo xâu:
Var : string[độ dài lớn nhất của xâu];
Trong đó:
+ String: tên dành riêng.
+ Độ dài lớn nhất của xâu (<=255) được ghi trong cặp ngoặc [ ].
Xâu là dãy các kí tự trong bộ mã ASCII, mỗi kí tự được gọi là một phần tử của xâu.
Var a, b: string;
KIỂM TRA BÀI CŨ
Câu hỏi 1: Em hãy cho biết thế nào là xâu?
Cách khai báo xâu? Từ đó hãy viết
chương trình khai báo 2 xâu a và b?
KIỂM TRA BÀI CŨ
1 2 3
1 2 3
=
<
Mã 65
Mã 66
ST2
<
Cõu 2: Em hóy nờu quy t?c d? So sỏnh 2 xõu? So sỏnh hai xõu sau:ST1:= `CBA`; ST2:= `CBB`;
ST1
KIỂM TRA BÀI CŨ
Xâu A lớn hơn 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.
Xâu B là đoạn đầu của xâu A.
KIỂM TRA BÀI CŨ
NỘI DUNG BÀI MỚI
Cần có thao tác gì để chỉnh sửa xâu A thành xâu B ?
A
n
e
y
u
g
n
A
B
n
1 2 3 4 5 6 7 8 9
N
1 2 3 4 5 6 7 8 9 10
BÀI TOÁN
2.Một số thao
tác xử lí xâu.
Ghép xâu
So sánh xâu
2.Một số thao
tác xử lí xâu.
Ghép xâu
So sánh xâu
Delete(st,vt,n);
KIỂM TRA BÀI CŨ
NỘI DUNG BÀI MỚI
c. Thủ tục DELETE(St, vt, n)
Xoá n kí tự của xâu St bắt đầu từ vị trí vt
Ví dụ 1:
St:= ‘Song Hong’;
Delete(St,1,5);
g
n
o
H
g
n
o
S
1 2 3 4 5 6 7 8 9
Kết quả: St = ‘Hong’
Tiết 32 - Bài 12. KIỂU XÂU (T2)
NỘI DUNG BÀI MỚI
St =’tin hoc’
St =’tin
Delete(St,4,3);
Ví dụ 2:
ho
c’
d. Thủ tục INSERT(St1, St2, vt)
Ví dụ 1:
St1:= ‘vi-’; St2:= ‘May-tinh’;
1 2 3
1 2 3 4 5 6 7 8
v
-
i
Kết quả: St2 = ‘May-vi-tinh’
1 2 3 4 5 6 7 8 9 10 11
Chèn xâu St1 vào xâu St2 bắt đầu từ vị trí vt
Insert(St1,St2,5);
KIỂM TRA BÀI CŨ
NỘI DUNG BÀI MỚI
2.Một số thao
tác xử lí xâu.
Ghép xâu
So sánh xâu
Delete(st,vt,n);
Insert(s1,s2,vt);
Tiết 32 - Bài 12. KIỂU XÂU (T2)
S = ’Abc’
St =
Ví dụ:
St = ’def’
Insert(S,St,1);
Abc
def


3. Hàm COPY(S, vt, n)
Tạo một 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:
St1:= ‘Xau-ky-tu’; St2:= Copy(St1,5,5);
1 2 3 4 5 6 7 8 9
Copy
k
y
-
u
t
Kết quả St2 = ‘ky-tu’
KIỂM TRA BÀI CŨ
NỘI DUNG BÀI MỚI
2.Một số thao
tác xử lí xâu.
Ghép xâu
So sánh xâu
Delete(st,vt,n);
Insert(s1,s2,vt);
Copy(st,vt,n);
Tiết 32 - Bài 12. KIỂU XÂU (T2)
S = ’ hoa hong’
S1 = ’ ’
S1 = copy(s,5,4);
Ví dụ 2:
hong
f. Hàm LENGTH(S)
Ví dụ1 :
S:= ‘Tin hoc’;
D:= Length(S);
1
2
7
3
6
5
4
Kết quả: D = 7
Cho giá trị là độ dài của xâu S
KIỂM TRA BÀI CŨ
NỘI DUNG BÀI MỚI
2.Một số thao
tác xử lí xâu.
Ghép xâu
So sánh xâu
Delete(st,vt,n);
Insert(s1,s2,vt);
Copy(st,vt,n);
Length(s);
Tiết 32 - Bài 12. KIỂU XÂU (T2)
S = ’ab 2’
Kết quả D=
Ví dụ 2:
1
2
3
4
D:=Length(S);
g. Hàm POS(St1, St2)
1
2
7
3
6
5
4
8
- Cho vị trí xuất hiện đầu tiên của xâu St1 trong xâu St2
Ví dụ 1:
St2:= ‘LOP 11A1’; St1:= ’11A1’;
Kết quả: D = 5
D:= Pos(St1,St2);
KIỂM TRA BÀI CŨ
NỘI DUNG BÀI MỚI
2.Một số thao
tác xử lí xâu.
Ghép xâu
So sánh xâu
Delete(st,vt,n);
Insert(s1,s2,vt);
Copy(st,vt,n);
Length(s);
Pos(s1,s2);
Tiết 32 - Bài 12. KIỂU XÂU (T2)
Ví dụ 2:
S2:= ‘abcde’
D:= pos(‘Cd’,S2);
D = 0
Cho chữ cái in hoa ứng với chữ cái trong ch
h. Hàm UPCASE(Ch)
Ch2:= Upcase(Ch1);
1 2 3 4 5 6
Upcase(st[1])
Upcase(st[2])
Upcase(st[3])
Upcase(st[4])
Upcase(st[5])
Upcase(st[6])
1 2 3 4 5 6
U
p
C
a
s
e
P
A
S
E
Kết quả: Ch2 = ‘A’
Ch1:= ‘a’;
St
KIỂM TRA BÀI CŨ
NỘI DUNG BÀI MỚI
2.Một số thao
tác xử lí xâu.
Ghép xâu
So sánh xâu
Delete(st,vt,n);
Insert(s1,s2,vt);
Copy(st,vt,n);
Length(s);
Pos(s1,s2);
Upcase(ch);
Tiết 32 - Bài 12. KIỂU XÂU (T2)
KIỂM TRA BÀI CŨ
NỘI DUNG BÀI MỚI
2.Một số thao
tác xử lí xâu.
Ghép xâu
So sánh xâu
Delete(st,vt,n);
Insert(s1,s2,vt);
Copy(st,vt,n);
Length(s);
Pos(s1,s2);
Upcase(ch);

3. Một số ví dụ
Ví dụ 1.
Tiết 32 - Bài 12. KIỂU XÂU (T2)
Ví dụ 1: Chương trình dưới đây nhập họ tên của hai người 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.
 Xác định bài toán:
Input: Nhập họ tên của hai người vào hai biến xâu
Output: Đư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.
 Hướng giải quyết bài toán?
Dùng hàm Length để biết độ dài của hai xâu,sau đó dùng câu lệnh If dạng đủ để thực hiện: nếu length(a)>length(b) thì đưa ra xâu a; nếu không thì đưa ra xâu b
KIỂM TRA BÀI CŨ
NỘI DUNG BÀI MỚI
2.Một số thao
tác xử lí xâu.
Ghép xâu
So sánh xâu
Delete(st,vt,n);
Insert(s1,s2,vt);
Copy(st,vt,n);
Length(s);
Pos(s1,s2);
Upcase(ch);

3. Một số ví dụ
Ví dụ 1.
Tiết 32 - Bài 12. KIỂU XÂU (T2)
Thể hiện bằng pascal
Var a, b: String;
Begin
write (‘Nhap ho ten nguoi thu 1: ’);
readln (A);
write (‘Nhap ho ten nguoi thu 2: ’);
readln (B);
if length(A) > length(B) then
write (A)
else
write(B);
readln
End.
pascal
KIỂM TRA BÀI CŨ
NỘI DUNG BÀI MỚI
2.Một số thao
tác xử lí xâu.
Ghép xâu
So sánh xâu
Delete(st,vt,n);
Insert(s1,s2,vt);
Copy(st,vt,n);
Length(s);
Pos(s1,s2);
Upcase(ch);

3. Một số ví dụ
Ví dụ 1.
Ví dụ 2.
Tiết 32 - Bài 12. KIỂU XÂU (T2)
Ví dụ 2: Viết chương trình nhập hai xâu từ 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.
Var x : byte ;
a, b : string ;
Begin
Write(‘nhap xau thu nhat:’);
Readln(a);
Write(‘nhap xau thu nhat:’);
Readln(b);
x:= length(b);
If a[1]= b[x] then Write(‘Trung nhau’)
else write(‘Khac nhau’);
Readln
End.
 Xác định bài toán:
Input: Nhập vào hai xâu từ bàn phím
Output: 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.
 Hướng giải quyết bài toán:
Pascal
 Thể hiện bằng Pascal
KIỂM TRA BÀI CŨ
NỘI DUNG BÀI MỚI
2.Một số thao
tác xử lí xâu.
Ghép xâu
So sánh xâu
Delete(st,vt,n);
Insert(s1,s2,vt);
Copy(st,vt,n);
Length(s);
Pos(s1,s2);
Upcase(ch);

3. Một số ví dụ
Ví dụ 1.
Ví dụ 2.
Ví dụ 3.
Tiết 32 - Bài 12. KIỂU XÂU (T2)
Ví dụ 3: Viết chương trình nhập vào một xâu từ phím và đưa ra màn hình xâu được viết theo thứ tự ngược lại.
Var a : string[50] ;
i, d : byte ;
Begin
Write(‘nhap vao xau:’);
Readln(a);
d:= length(a);
For i:= d downto 1 do
Write(a[i]);
Readln;
End.
Pro
 Xác định bài toán:
Input: Nhập vào hai xâu từ bàn phím
Output: 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.
 Hướng giải quyết bài toán:
 Thể hiện bằng Pascal
Pascal
KIỂM TRA BÀI CŨ
NỘI DUNG BÀI MỚI
2.Một số thao
tác xử lí xâu.
Ghép xâu
So sánh xâu
Delete(st,vt,n);
Insert(s1,s2,vt);
Copy(st,vt,n);
Length(s);
Pos(s1,s2);
Upcase(ch);

3. Một số ví dụ
Ví dụ 1.
Ví dụ 2.
Ví dụ 3.
Ví dụ 4.
Tiết 32 - Bài 12. KIỂU XÂU (T2)
Var i, k : byte ;
a, b : string ;
Begin
Write(‘nhap xau :’);
Readln(a);
k:= length(a);
b:= ‘’;
for i:=1 to k do
If a[i]<>‘ ’ then b:=b+a[i];
write(‘ket qua: ’,b);
Readln
End.
Ví dụ 4: Viết chương trình nhập vào một xâu từ 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ó.
Pascal
 Xác định bài toán:
Input: Nhập vào xâu từ bàn phím
Output: tạo xâu loại bỏ các dấu cách từ xâu vừa nhập.
 Hướng giải quyết bài toán:
 Thể hiện bằng Pascal
KIỂM TRA BÀI CŨ
NỘI DUNG BÀI MỚI
2.Một số thao
tác xử lí xâu.
Ghép xâu
So sánh xâu
Delete(st,vt,n);
Insert(s1,s2,vt);
Copy(st,vt,n);
Length(s);
Pos(s1,s2);
Upcase(ch);

3. Một số ví dụ
Ví dụ 1.
Ví dụ 2.
Ví dụ 3.
Ví dụ 4.
Ví dụ 5
Tiết 32 - Bài 12. KIỂU XÂU (T2)
Program Xulixau;
Var s1, s2 : string ;
i : byte ;
Begin
Write(‘nhap vao xau s1:’);
Readln(s1);
s2:= ‘’;
For i:= 1 to length(s1) do
if (‘0’=< s1[i]) and (s1[i]<=‘9’)
then s2:= s2+s1[i];
Write(‘Ket qua: ’, s2);
Readln
End.
Ví dụ 5: Viết chương trình nhập vào một xâu s1 từ bàn phím, tạo xâu s2 gồm tất cả các chữ số có trong s1.
Pascal
 Xác định bài toán:
Input: Nhập vào xâu từ bàn phím
Output: Taọ xâu gồm các chữ số trong xâu vừa nhập.
 Hướng giải quyết bài toán:
 Thể hiện bằng Pascal
1
‘Dat ’
‘ki 2’
7
1
KIỂM TRA BÀI CŨ
NỘI DUNG BÀI MỚI
2.Một số thao
tác xử lí xâu.
Ghép xâu
So sánh xâu
Delete(st,vt,n);
Insert(s1,s2,vt);
Copy(st,vt,n);
Length(s);
Pos(s1,s2);
Upcase(ch);
3. Một số ví dụ
Ví dụ 1.
Ví dụ 2.
Ví dụ 3.
Ví dụ 4.
Ví dụ 5
CỦNG CỐ
CỦNG CỐ
Copy(S, vt, n)
Insert(S1, S2, vt)
Delete(St, vt, n)
Pos(S1, S2)
Length(S)
Upcase(ch)
Các hàm và thủ tục xử lý xâu:
KIỂM TRA BÀI CŨ
NỘI DUNG BÀI MỚI
2.Một số thao
tác xử lí xâu.
Ghép xâu
So sánh xâu
Delete(st,vt,n);
Insert(s1,s2,vt);
Copy(st,vt,n);
Length(s);
Pos(s1,s2);
Upcase(ch);
3. Một số ví dụ
Ví dụ 1.
Ví dụ 2.
Ví dụ 3.
Ví dụ 4.
Ví dụ 5
CỦNG CỐ
GHI NHỚ
KIỂM TRA BÀI CŨ
NỘI DUNG BÀI MỚI
2.Một số thao
tác xử lí xâu.
Ghép xâu
So sánh xâu
Delete(st,vt,n);
Insert(s1,s2,vt);
Copy(st,vt,n);
Length(s);
Pos(s1,s2);
Upcase(ch);
3. Một số ví dụ
Ví dụ 1.
Ví dụ 2.
Ví dụ 3.
Ví dụ 4.
Ví dụ 5
CỦNG CỐ
DẶN DÒ
Ôn lại bài học hôm nay.
Làm bài tập 10 trang 80 SGK
Chuẩn bị trước Bài tập và thực hành số 5.
BÀI TẬP VỀ NHÀ
Chân thành cám ơn các thầy, cô giáo đã có mặt tham dự tiết học ngày hôm nay.
* 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 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)