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 vào sau.. Kết quả của đoạn chương trình trên:[r]
(1)1
KIỂU XÂU Một số khái niệm
Xâu dãy kí tự bảng mã ASCII, kí tự gọi phần tử xâu Số lượng kí tự xâu gọi độ dài xâu Xâu có độ dài xâu rỗng
Tham chiếu tới phần tử xâu Tên biến xâu[chỉ số]
Ví dụ: Giả sử biến Hoten lưu trữ xâu 'Nguyen Le Huyen' Hoten[6] cho ta kí tự 'n' kí tự thứ sáu biến xâu Hoten
1. Khai báo
Biến kiểu xâu khai báo sau:
var <tên biến>: string[độ dài lớn xâu]; Lưu ý: Độ dài lớn xâu khơng vượt q 255
Ví dụ
var Hoten: string[26];
Trong mô tả xâu bỏ qua phần khai báo độ dài, chẳng hạn:
var chugiai: string;
Khi đó, độ dài lớn xâu nhận giá trị mặc định 255
2. Các thao tác xử lí xâu
a) Phép ghép xâu: kí hiệu dấu cộng (+)
Được dùng để ghép nhiều xâu thành
Có thể thực phép ghép xâu biến xâu
Ví dụ: 'THPT' + ' BINH CHANH' Kết quả: 'THPT BINH CHANH' b)Phép so sánh xâu:
Các phép so sánh: (=), (o), (<), (>),(<=), (>=) có thứ tự ưu tiên thực thấp phép ghép xâu thực việc so sánh hai xâu theo quy tắc sau: Xâu A lớn xâu B kí tự khác chúng kể từ
trái sang xâu A có mã ASCII lớn
Nếu A B xâu có độ dài khác A đoạn đầu B A nhỏ
Ví dụ: 'May tinh' < 'May tinh cua toi'
Hai xâu coi chúng giống hoàn toàn
(2)2
c) Thủ tục delete(st, vt, n) thực thực việc xóa n kí tự biến xâu st vị trí vt
Giá trị st Thao tác Kết
'abcdef' delete (st, 5, ) 'abcd'
'Viet Nam' Delete(st, 6, 3) 'Viet'
d)Thủ tục insert (s1, s2, vt) chèn xâu s1 vào biến xâu s2, bắt đầu ví trí vt
Giá trị s1 Giá trị s2 Thao tác Kết
' PC ' 'IBM486' insert (s1, s2, ) 'IBM PC 486'
'1' 'Hinh 2' insert (s1, s2, ) 'Hinh 1.2'
e) Hàm copy(S, vt, N) tạo xâu gồm N kí tự liên tiếp vị trí vt xâu s
Giá trị s Biểu thức Kết
'Bai hoc thu 9' copy(s, 9, 5) 'thu 9'
f) Hàm length(s) cho giá trị độ dài xâu s
Giá trị s Biểu thức Kết
'500 ki tu' length(s)
g)Hàm pos(s1, s2) cho vị trí xuất xâu s1 xâu s2
Giá trị s2 Biểu thức Kết
'abcdef' pos('cd', s2)
'abcdef' pos('k', s2)
h)Hàm upcase(ch) cho chữ in hoa ứng với chữ ch
Giá trị ch Biểu thức Kết
'a' upcase(ch) 'A'
'f' upcase(ch) 'F'
Lưu ý:
Xâu tạo thành kí tự, có dấu cách Dấu cách thể văn phần trống ngăn cách hai từ viết liên tiếp Kí tự gõ phím dài bàn phím (Space Bar);
Trong chương trình, viết xâu kí tự, ta phải viết xâu hai dấu nháy đơn Nhưng nhập từ bàn phím giá trị xâu, ta gõ kí tự thuộc xâu (rồi nhấn phím Enter)
Xâu gồm dấu cách viết ' ' Để viết xâu rỗng ta viết hai dấu nháy đơn liền
3. Một số ví dụ
(3)3 program vd1;
uses crt;
var
a,b:string;
begin
clrscr;
write('nhap ho ten thu nhat:'); readln(a);
write('nhap ho ten thu hai :'); readln(b);
if length(a)>length(b) then
write(a)
else
write(b); readln
end