KHÁI NIỆM XÂU VÀ KHAI BÁO XÂUNghiên cứu sách giáo khoa, em hiểu như thế nào là xâu?. 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; Số lượng kí
Trang 1
NHIỆT LIỆT CHÀO MỪNG QUÝ THẦY CƠ GIÁO
VỀ DỰ GIỜ VÀ THĂM LỚP
Đặng Hữu Hoàng
Trang 2Câu 1: Hãy nêu cách khai báo trực tiếp và
gián tiếp biến mảng 1chiều?
Câu 2: Hãy chuyển cách khai báo biến mảng
1chiều sau từ dạng trực tiếp sang dạng gián tiếp?
Var M1 : Array[1 100] of integer;
Trang 3Câu 1: Cách khai báo trực tiếp:
Var <Tên biến mảng>: Array [kiểu chỉ số] of <kiểu phần tử>;
Cách khai báo gián tiếp:
Type <Tên kiểu mảng> = Array [kiểu chỉ số] of <kiểu phần tử>;
Var <Tên biến mảng>: <Tên kiểu mảng>;
Câu 2: Chuyển khai báo biến mảng 1 chiều từ dạng trực tiếp sang dạng gián tiếp:
Type Kmang = Array[1 100] of integer;
Var M1 : Kmang;
Trang 4A Kiểu dữ liệu chuẩn
1 Kiểu nguyên: integer, byte, word, longint.
2 Kiểu thực: real, extended.
3 Kiểu kí tự: char.
4 Kiểu logic: boolean.
B Kiểu dữ liệu có cấu trúc
Kiểu mảng.
Trang 5* Ví dụ:
‘Bach Khoa’
‘QUANG NGAI’
‘Chuc cac em hoc tot’
Vậy làm thế nào để nhập và xử lí các
xâu như trên?
Là các xâu kí tự.
Trang 7I KHÁI NIỆM XÂU VÀ KHAI BÁO 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 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;
Số lượng kí tự trong một 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
Dựa vào 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
1 KHÁI NIỆM XÂU
Trang 8* Ví dụ:
Trong đó:
* Khi tham chiếu đến kí tự thứ i của xâu ta viết: <tên bi ến xâu>[i].
* Tên xâu:
* Độ dài của xâu (số kí tự trong xâu):
1 2 3 4 5 6 7
7
A
* Có thể xem xâu là mảng một chiều mà mỗi phần tử là
một kí tự Các kí tự của xâu được đánh số thứ tự, thường bắt đầu từ 1
Trang 9I KHÁI NIỆM XÂU VÀ KHAI BÁO XÂU
2 KHAI BÁO XÂU
VAR
<tên biến xâu> : string [ độ dài lớn nhất của xâu ] ;
? Em hóy khai bỏo một biến xõu cú tờn là X1 và cú độ dài tối đa là 10
? Em hóy khai bỏo một biến xõu cú tờn là X2 và cú độ dài tối đa là 255
hoặc Var X2: String;
Var X2: String[255];
* Chú ý: Trong mô tả xâu có thể bỏ qua phần khai báo độ dài, khi đó độ dài lớn nhất của xâu sẽ đ ợc ngầm định là 255.
Var X1: String[10];
Trang 10* Một số ví dụ khác:
‘ nam moi ’
‘ Chuc mung ’
VD1:
‘ Chuc mung nam moi ’
VD2: ‘Tin hoc’
‘Tin hoc’
‘ Ha N o i
‘ Ha N a m ’
‘Hoc sinh lop 11B8 rat ngoan ’
‘Hoc sinh’
VD3:
VD4:
Em có nhận xét gì về các cặp xâu ở VD2,
VD3, VD4?
VD5: BUI THI HANH ’ BUI THI MY HANH ’
Trang 11
II CÁC THAO TÁC XỬ LÍ XÂU
1 PHÉP GHÉP XÂU
thành một xâu.
‘ Chuc mung ’ + ‘ nam moi ’ ‘ Chuc mung nam moi ’
Trang 12Nêu các qui tắc thực hiện việc so sánh hai xâu ?
1 Xâu A rỗng được viết như sau: A=‘’
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 N o i ’ ’ Ha N a m ’
•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ụ: ‘ Hoc sinh lop 11B8 rat ngoan ’ ’ Hoc sinh ’
>
>
II CÁC THAO TÁC XỬ LÍ XÂU
2 PHÉP SO SÁNH XÂU
=
Trang 13Thủ tục Ý nghĩa Ví dụ
Xóa n kí tự của xâu
S, bắt đầu từ vị trí vt Delete (S,vt,n)
S = ‘Happy Birthday’ Delete (S,1,6)
Insert (S1,S2,vt) Chèn xâuxâu S2, bắt đầu S1 vào
từ vị trí vt
S1=‘ THI‘; S2=‘BUI HANH’ Insert (s1,s2,4)
II CÁC THAO TÁC XỬ LÍ XÂU
3 CÁC THỦ TỤC XỬ LÍ XÂU
‘Birthday’
Trang 14Nhắc lại:
1 Khái niệm xâu.
2 Khai báo biến xâu trong Pascal.
3 Một số thao tác xử lí xâu đã học.
Trang 161) Ôn lại kiến thức đã học về kiểu xâu.
2) Xem tr ớc các thao tác xử lí xâu (tiếp theo) và một số ví dụ trang 71, 72 trong Sgk.