XÂU KÝ TỰ
I. KHAI BÁO KIỂU STRING
TYPE
TênKiểu = STRING[Max];
VAR
Tên biến : TênKiểu;
hoặc
khai báo biến trực tiếp:
VAR
Tên biến : STRING[Max];
Trong
đó Max là số ký tự tối đa có thể chứa trong chuỗi (Max ∈ [0,255]). Nếu không
có
khai báo [Max] thì số ký tự mặ mặc định trong chuỗi là 255.
Ví dụ:
Type
Hoten = String[30];
St80
= String[80];
Var
Name : Hoten;
Line
: St80;
St
: String; {St có tối đa là 255 ký tự}
II. TRUY XUẤT DỮ LIỆU KIỂU STRING
-
Có thể sử dụng các thủ tục xuất nhập Write, Writeln, Readln để truy xuất các biến
kiểu
String.
-
Để truy xuất đến ký tự thứ k của xâu ký tự, ta sử dụng cú pháp sau: Tênbiến[k].
IV. CÁC THỦ TỤC VÀ HÀM VẾ XÂU KÝ TỰ
4.1. Hàm lấy chiều dài của xây ký tự
LENGTH(St
: String):Integer;
4.2. Hàm COPY(St : String; Pos, Num: Byte): String;
Lấy
ra một xâu con từ trong xâu St có độ dài Num ký tự bắt đầu từ vị trí Pos .
4.3. Hàm POS(SubSt, St :String):Byte;
Kiểm
tra xâu con SubSt có nằm trong xâu St hay không? Nếu xâu SubSt nằm trong
xâu
St thì hàm trả về vị trí đầu tiên của xâu con SubSt trong xâu St, ngược lại hàm
trả
về
giá trị 0.
4.4. Thủ tục DELETE(Var St:String; Pos, Num: Byte);
Xoá
trong xâu St Num ký tự bắt đầu từ vị trí Pos.
4.5. Thủ tục INSERT(SubSt:
String; Var St: String; Pos: Byte);
Chèn
xâu SubSt vào xâu St bắt đầu tại vị trí Pos.
4.6. Thủ tục STR(Num; Var St:String);
Đổi
số nguyên hay thực Num thành dạng xâu ký tự, kết quả lưu vào biến St.
4.7. Thủ tục VAL(St:String; Var Num; Var Code:Integer);
Đổi
xâu số St thành số và gán kết quả lưu vào biến Num. Nếu việc chuyển đổi thành
công
thì biến Code có giá trị là 0, ngược lại biến Code có giá trị khác 0 (vị trí của
lỗi).
BÀI
TẬP MẪU
Bài
tập 6.1: Viết chương trình nhập vào một xâu ký tự từ bàn phím. Đổi xâu ký tự đó
sang
chữ in hoa rồi in kết quả ra màn hình.
Ví
dụ :Xâu abcdAbcD sẽ cho ra xâu ABCDABCD.
Uses
Crt;
Var
St:String;
i:Byte;
Begin
Write(‘Nhap
xau St: ‘); Readln(St);
For
i:=1 to length(St) do St[i]:=Upcase(St[i]);
Write(‘Xau
ket qua: ‘, St);
Readln;
End.
Bài
tập 6.2: Viết chương trình nhập vào một xâu ký tự từ bàn phím. Đổi xâu ký tự đó
sang
chữ thường rồi in kết quả ra màn hình.
Ví
dụ :Xâu abCdAbcD sẽ cho ra xâu abcdabcd.
Uses
Crt;
Var
St:String;
i:Byte;
Begin
Write(‘Nhap
xau St: ‘); Readln(St);
For
i:=1 to length(St) do
If
St[i] IN [‘A’..’Z’] Then St[i]:=CHR(ORD(St[i])+32);
Write(‘Xau
ket qua: ‘, St);
Readln;
End.
Bài
tập 6.3: Viết chương trình đếm số ký tự chữ số trong một xâu ký tự được nhập
vào
từ
bàn phím.
Uses
Crt;
Var
St:String;
i,d:Byte;
Begin
Write(‘Nhap
xau St: ‘); Readln(St);
For
i:=1 to length(St) do
If
St[i] IN [‘0’..’9’] Then d:=d+1;
Write(‘So
ky tu chu so trong xau: ‘, d);
Readln;
End.
Nhận xét
Đăng nhận xét