- Chỉ số của phần tử của xâu thường được đánh số thứ tự bắt đầu từ 1 - Trong ngôn ngữ lập trình Pascal, để truy cập tới từng phần tử của xâu, ta viết: [chỉ số ] phần tử độ dài của xâu
Trang 2Câu 1: Hãy nêu cách khai báo trực tiếp và gián tiếp mảng 1chiều?
Câu 2: Hãy chuyển cách khai báo mảng 1chiều sau từ dạng
trực tiếp sang dạng gián tiếp?
Var ArrayInt : Array[1 100] of integer;
Câu 3: Trong ngôn ngữ lập trình Pascal, về mặt cú pháp, việc
khai báo mảng 1 chiều nào sau đây là đúng:
A Type 1chieu=array[1…100] of integer;
B Type 1chieu=array[1-100] of integer;
C Type 1chieu=array(1 100) of integer;
D Type 1chieu=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 mảng 1chiều sau từ dạng trực tiếp sang dạng gián
tiếp: Type B = Array[1 100] of integer;
Var ArrayInt : B ;
Câu 3: Trong ngôn ngữ lập trình Pascal, về mặt cú pháp, việc khai báo
mảng 1 chiều nào sau đây là đúng:
A Type 1chieu=array[1…100] of integer;
B Type 1chieu=array[1-100] of integer;
C Type 1chieu=array(1 100) of integer;
Trang 5* Một số khái niệm:
- X âu là một dãy các kí tự trong bảng mã ASCII
* Ví dụ: ‘Bach Khoa’ ‘KI SU’ ‘2008 la nam Mau Ty’
- M ỗi kí tự gọi là một ………… của xâu
- S ố lượng kí tự trong xâu được gọi là ………
- X âu có độ dài bằng 0 được gọi là …………
- Tham chiếu tới phần tử của xâu được xác định thông qua của phần
tử trong xâu.
- Chỉ số của phần tử của xâu thường được đánh số thứ tự bắt đầu từ 1
- Trong ngôn ngữ lập trình Pascal, để truy cập tới từng phần tử của xâu, ta viết:
<Tên biến xâu> [chỉ số ]
phần tử
độ dài của xâu xâu rỗng
chỉ số
Trang 6- <Tên biến xâu> [chỉ số ]
Ví dụ: Biến Hoten lưu trữ giá trị hằng xâu Vuong Quoc Vuong
Hoten [5] cho ta kí tự ‘ g ’ là kí tự thứ năm của biến xâu Hoten
Trang 71 Khai báo:
- Biến kiểu xâu có thể khai báo như sau:
Var <Tên biến> : String [ độ dài lớn nhất của xâu ];
- Ví dụ: V ar Ten : String [ 10 ];
V ar Ho_dem : String [ 25 ];
V ar Que : String;
- Chú ý: - Nếu không khai báo độ dài tối đa của biến xâu thì
độ dài ngầm định của xâu là 255.
- Độ dài lớn nhất của xâu là 255 kí tự.
- Hằng xâu kí tự được đặt trong cặp nháy đơn ‘’
Trang 81 Khai báo: V ar <Tên biến> : String [ độ dài lớn nhất của xâu ];
* Bài tập áp dụng:
1/ Trong ngôn ngữ lập trình Pascal, xâu kí tự là:
A Mảng các kí tự;
B Dãy các kí tự trong bảng mã ASCII;
C Tập hợp các chữ cái trong bảng chữ cái tiếng Anh;
2/ Trong ngôn ngữ lập trình Pascal, cách khai báo xâu kí tự nào sau đây là đúng:
A S: File of String; C S: String;
B S: File of char; D Cả 3 câu trên đều đúng;
3/ Trong ngôn ngữ lập trình Pascal, xâu kí tự có tối đa:
Trang 91 Khai báo: V ar <Tên biến> : String [ độ dài lớn nhất của xâu ];
2 Các thao tác xử lí xâu:
a Phép ghép xâu:
Kí hiệu là dấu (+)
-Có thể thực hiện phép ghép xâu với hằng và biến xâu
* Ví dụ:
Trang 10
1 Khai báo: V ar <Tên biến> : String [ độ dài lớn nhất của xâu ];
2 Các thao tác xử lí xâu:
a Phép ghép xâu: Kí hiệu là dấu (+)
b Phép so sánh: <, <=, >, >=, =, <>
-Pascal tự động so sánh lần lượt từng kí tự từ trái sang phải; -Xâu A lớn hơn xâu 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ụ:
-Nếu A và B có độ dài khác nhau, A là đoạn đầu của B thì A<B
* Ví dụ:
‘Ha Noi’ < ‘Ha Noi Viet Nam’
-Hai xâu bằng nhau nếu chúng giống nhau hoàn toàn
* Ví dụ:
Trang 111 Khai báo:
2 Các thao tác xử lí xâu:
*Một số thủ tục chuẩn trong xử lí xâu:
c Delete (st,vt,n): xoá n kí tự của biến xâu st, bắt đầu từ vị trí vt
* Ví dụ:
Trang 12
1 Khai báo:
2 Các thao tác xử lí xâu:
*Một số thủ tục chuẩn trong xử lí xâu:
c Delete (st,vt,n): xoá n kí tự của biến xâu st, bắt đầu từ vị trí vt
* Ví dụ:
Giá trị s1 Giá trị s2 Thao tác Kết quả
‘LE MY’
d insert(s1,s2,vt): chèn xâu s1 vào xâu s2, bắt đầu từ vị trí vt
insert(s1,s2,4 )
‘ HA ’
‘HA OI’
‘LE HA MY’
insert(s1,s2,4 )
Trang 132 Các thao tác xử lí xâu:
*Một số hàm chuẩn chuẩn trong xử lí xâu:
1 Khai báo:
* Ví dụ:
e copy(St,vt,n): Sao chép từ xâu st n kí tự liên tiếp bắt đầu từ
vị trí vt
Copy(st,4,11 ) Copy(st,1,3 )
‘TP HO CHI MINH’
‘HO CHI MINH’
Trang 142 Các thao tác xử lí xâu:
*Một số hàm chuẩn chuẩn trong xử lí xâu:
1 Khai báo:
* Ví dụ:
e copy(St,vt,n): Sao chép từ xâu st n kí tự liên tiếp bắt đầu từ
vị trí vt
length(st)
‘TP HO CHI MINH’
14
f length(St): cho giá trị độ dài xâu St
length(st)
Trang 152 Các thao tác xử lí xâu:
*Một số hàm chuẩn chuẩn trong xử lí xâu:
1 Khai báo:
* Ví dụ:
e copy(St,vt,n): Sao chép từ xâu st n kí tự liên tiếp bắt đầu từ
vị trí vt
pos(‘CHI’, S2)
‘TPHOCHIMINH’
5
f length(St): cho giá trị độ dài xâu St
g pos(S1,S2,): cho vị trí xuất hiện đầu tiên của xâu S1 trong xâu S2
pos(‘M’, S2)
Trang 162 Các thao tác xử lí xâu:
*Một số hàm chuẩn chuẩn trong xử lí xâu:
1 Khai báo:
* Ví dụ:
e copy(St,vt,n): Sao chép từ xâu st n kí tự liên tiếp bắt đầu từ
vị trí vt
upcase(ch)
‘h’
H
f length(St): cho giá trị độ dài xâu St
g pos(S1,S2,): cho vị trí xuất hiện đầu tiên của S1 trong S2
h upcase(ch): cho chữ cái viết hoa trong tương ứng với chữ
cái thường trong ch
upcase(ch)
Trang 172 Các thao tác xử lí xâu:
*Một số hàm chuẩn chuẩn trong xử lí xâu:
1 Khai báo:
*Một số thủ tục chuẩn trong xử lí xâu:
Delete (st,vt,n): xoá n kí tự của biến xâu st, bắt đầu từ vị trí vt
insert(s1,s2,vt): chèn xâu s1 vào xâu s2, bắt đầu từ vị trí vt
copy(St,vt,n): Sao chép từ xâu st n kí tự liên tiếp bắt đầu từ vị
trí vt
length(St): cho giá trị độ dài xâu St
pos(S1,S2,): cho vị trí xuất hiện đầu tiên của S1 trong S2
upcase(ch): cho chữ cái viết hoa trong tương ứng với chữ cái
thường trong ch
V ar <Tên biến> : String [ độ dài lớn nhất của xâu ];
Trang 18I E U X A U
Trang 19Bài tập về nhà
Lµm bµi tËp: 10/80- SGK