Bài 12. Kiểu xâu

Chia sẻ bởi Châu Quốc Phong | Ngày 10/05/2019 | 49

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:

BỘ MÔN TIN HỌC 11
Người thực hiện: Châu Quốc Phong
Giáo viên trường THPT Trà Cú
Tập thể lớp 11A1 - Kính chào quý Thầy cô.
SỞ GIÁO DỤC VÀ ĐÀO TẠO TRÀ VINH
Trường THPT Trà Cú
CHÀO MỪNG QUÝ THẦY CÔ
ĐẾN DỰ TIẾT HỘI GIẢNG
Kiểm tra kiến thức cũ:

Mảng một chiều là gì ?
Các phần tử của mảng có thể có những kiểu gì ?
A
B
C
? Kiểu nguyên
? Kiểu thực
? Kiểu kí tự
Vòng lặp sẽ thực hiện bao nhiêu lần ?
Mất nhiều thời gian để thực hiện chương trình.
Giả sử ta có khai báo sau:
For i:=1 to 30 do
begin
write(‘ nhap ki tu thu’, i );
readln(ht[i]);
End;
Để nhập vào họ tên của một học sinh có độ dài là
30 kí tự, ta viết đoạn lệnh sau :
Var ht : array[1..30] of char ;
 30 lần
Dùng kiểu dữ liệu  Kiểu xâu (kiểu chuỗi)
KIỂU DỮ LIỆU
CÓ CẤU TRÚC
Chương IV
Bài 12. KIỂU XÂU
1. Một số khái niệm
a. Kiểu xâu (string)
b. Khai báo
2. Các thao tác xử lí xâu
3. Một số ví dụ
S:= ‘Mua Xuan’ ;
‘999 hoa hong’
Khoảng trắng là 1 kí tự
‘Ngay nha giao VN 20/11’
Em hiểu thế nào về Kiểu Xâu ?
 Xâu có độ dài là 12
 Xâu có độ dài là 22
‘ ’
 Xâu có độ dài là 1
‘’
 Xâu có độ dài là 0
Bài 12. KIỂU XÂU
Độ dài thực của biến S?
 S có độ dài thực là 8
S
Mỗi kí tự là một phần tử của xâu.
Bộ mã
ASCII
Xâu
dãy kí tự
Độ dài của xâu
1. Một số khái niệm:
a. Kiểu xâu:
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 trong xâu được gọi là độ dài của xâu;
Xâu có độ dài bằng 0 gọi là xâu rỗng.
Bài 12. KIỂU XÂU
Các yếu tố xác định xâu :
Tên kiểu xâu;
Số lượng kí tự của xâu;
Cách khai báo biến kiểu 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.
Để xác định xâu, ta dựa vào những yếu tố nào?
Bài 12. KIỂU XÂU
Var < teân bieán > : String[n];
Trong đó :
+ Var, string : từ khóa.
+ n là độ dài lớn nhất của xâu
( n <= 255).
Ví dụ:
Var hoten : string[30];
diachi: string;
 b. Khai báo
Trong mô tả có thể bỏ qua khai báo độ dài. (khi đó độ dài có giá trị ngầm định là 255.
1. Một số khái niệm:
a. Kiểu xâu:
Bài 12. KIỂU XÂU
Ví dụ: S ? `Mua xuan`
S[3]  ‘a’
S[8]  ‘n’
?? Tham chiếu tới từng kí tự trong xâu
Xác định bởi tên biến xâu và chỉ số đặt trong cặp ngoặc vuông.
Tên_biến[chỉ số]
Ví dụ: St := `Viet Nam`
St [4]
St [5]
Có thể dùng phép gán để nhập giá trị cho biến xâu.
 ‘t’
 ‘ ’
b. Khai báo
1. Một số khái niệm:
a. Kiểu xâu:
Bài 12. KIỂU XÂU
Tham chiếu đến phần tử của mảng bằng cách nào ?
Ví dụ:
‘HA’ + ‘NOI’
KQ: ‘HANOI’
‘Tra Cu’ + ‘ que huong’ + ‘ toi’
 KQ:‘Tra Cu que huong toi’
 2. Các thao tác xử lí xâu
a). Phép ghép xâu: kí hiệu là dấu cộng (+)
Để ghép nhiều xâu thành một xâu.
Ví dụ: s1:= `Tra Vinh `;
s2:= `co bien Ba Dong`;
s:= s1+s2;
KQ s:‘Tra Vinh co bien Ba Dong’
1. Một số khái niệm
Bài 12. KIỂU XÂU
Những thao tác nào thường dùng để xử lí dữ liệu dạng văn bản?
a). Phép ghép xâu
?b). Các phép toán so sánh:
( =, <>, <, >, <=, >=)
Ví dụ: A:= `Ba`;
B:= `Anh`;
 KQ: A > B
Nếu kí tự đầu tiên của hai xâu A và B là khác nhau và xâu A có mã ASCII lớn hơn, thì xâu A là lớn hơn xâu B.
Bài 12. KIỂU XÂU
2. Các thao tác xử lí xâu
1. Một số khái niệm
b). Các phép toán so sánh:
( =, <>, <, >, <=, >=)
Ví dụ:
A:=`Chuong trinh`;
B:=`Chuong trinh may tinh`;
 KQ: A < B
Nếu A và B là các xâu có độ dài khác nhau và A là đoạn đầu của B, thì xâu A là nhỏ hơn xâu B.
Bài 12. KIỂU XÂU
a). Phép ghép xâu
2. Các thao tác xử lí xâu
1. Một số khái niệm
b). Các phép toán so sánh:
( =, <>, <, >, <=, >=)
Ví dụ: A:= `TIN HOC`;
B:= `TIN HOC`;
 KQ: A = B
Hai xâu được coi là bằng nhau nếu như chúng giống nhau hoàn toàn.
Bài 12. KIỂU XÂU
a). Phép ghép xâu
2. Các thao tác xử lí xâu
1. Một số khái niệm
a). Phép ghép xâu
b). Các phép toán so sánh
c). Thủ tục
Delete(st, vt, n)
Ví dụ: st:= `abcdef`;
Delete(st,5,2);
 KQ: ‘abcd’
Xóa n kí tự của biến xâu st bắt đầu từ vị trí vt.
Bài 12. KIỂU XÂU
2. Các thao tác xử lí xâu
1. Một số khái niệm
a). Phép ghép xâu
b). Các phép toán so sánh
c). Thủ tục Delete(st, vt, n)
d). Thủ tục
Insert(s1, s2, vt)
Ví dụ:
s2:= ‘Truong Tra Cu’;
s1:= ‘THPT ’;
Insert(s1,s2,8);
KQ:
‘Truong THPT Tra Cu’
Chèn xâu s1 vào xâu s2, bắt đầu ở vị trí vt.
Bài 12. KIỂU XÂU
2. Các thao tác xử lí xâu
1. Một số khái niệm
e). Hàm
Copy(S, vt, N)
Ví dụ:
s:= `mon Tin hoc`;
Copy(s,9,3);
 KQ : ‘hoc’
Tạo xâu gồm N kí tự liên tiếp bắt đầu từ vị trí vt.
Bài 12. KIỂU XÂU
a). Phép ghép xâu
b). Các phép toán so sánh
c). Thủ tục Delete(st, vt, n)
2. Các thao tác xử lí xâu
1. Một số khái niệm
d). Thủ tục Insert(s1, s2, vt)
f). Hàm Length(S)
Ví duï: s:= ‘Tra Vinh’;
Length(s);
 KQ : 8
Cho giá trị là độ dài xâu S.
Bài 12. KIỂU XÂU
a). Phép ghép xâu
b). Các phép toán so sánh
c). Thủ tục Delete(st, vt, n)
2. Các thao tác xử lí xâu
1. Một số khái niệm
d). Thủ tục Insert(s1, s2, vt)
e). Hàm Copy(S, vt, N)
g). Hàm Pos (S1, S2)
Ví dụ: s1:= `ab`;
s2:= ‘aaabcccd’;
Pos(s1,s2);
 KQ : 3
Cho vị trí xuất hiện đầu tiên của xâu S1 trong xâu S2.
Bài 12. KIỂU XÂU
a). Phép ghép xâu
b). Các phép toán so sánh
c). Thủ tục Delete(st, vt, n)
2. Các thao tác xử lí xâu
1. Một số khái niệm
d). Thủ tục Insert(s1, s2, vt)
e). Hàm Copy(S, vt, N)
f). Hàm Length(S)
h). Hàm Upcase (ch)
Ví dụ: ch:= `a`;
Upcase(ch);
 KQ : ‘A’
Cho chữ cái in hoa ứng với chữ cái trong ch.
Bài 12. KIỂU XÂU
g). Hàm Pos (S1, S2)
a). Phép ghép xâu
b). Các phép toán so sánh
c). Thủ tục Delete(st, vt, n)
2. Các thao tác xử lí xâu
1. Một số khái niệm
d). Thủ tục Insert(s1, s2, vt)
e). Hàm Copy(S, vt, N)
f). Hàm Length(S)
a./ Ví dụ 1: Viết chương trình nhập vào 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.
Var a, b : string [30] ;
Begin
Write(‘ho ten nguoit1 :’);
Readln(a);
Write(‘ho ten nguoit2: ’);
Readln(b);
If length(a) > length(b) then
Write(a)
Else
write(b);
Readln;
End.
3. Một số ví dụ
Pro
b./ 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.
Pro
c./ 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
Pro
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.
d./ 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ó.
Program Xulixau;
Var s1, s2 : string ;
i : byte ;
Begin
Write(‘nhap vao xau s1:’);
Readln(s1);
s2:= ‘’;
For i:= d to length(s1) do
if (‘0’=< s1[i]) and (s1[i]<=‘9’)
then s2:= s2+s1[i];
Write(‘Ket qua: ’, s2);
Readln
End.
Pro
e./ 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.
00
Củng cố:
00
Củng cố:
07
Củng cố:
Tiết học đến đây là hết.
Xin chúc quý Thầy - Cô cùng các em học sinh
Vui - Khoẻ và Thành công.

Xin cám ơn!
* 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ẻ: Châu Quốc Phong
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)