<< Chapter < Page Chapter >> Page >
Xâu ký tự

XÂU KÝ TỰ (STRING)

 

 

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].

 

III. CÁC PHÉP TOÁN TRÊN XÂU KÝ TỰ

3.1. Phép nối xâu: +

3.2. Các phép toán quan hệ: =,<>,<,<=,>,>=.

Chú ý: Các phép toán quan hệ được so sánh theo thứ tự từ điển.

 

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 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 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 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.

 

Bài tập 4: Viết chương trình nhập một xâu từ bàn phím. In ra xâu đó sau khi xóa hết các ký tự trắng thừa trong xâu. (Ký tự trắng thừa là các ký tự trắng đầu xâu, cuối xâu và nếu ở giữa xâu có 2 ký tự trắng liên tiếp nhau thì có 1 ký tự trắng thừa).

Get Jobilize Job Search Mobile App in your pocket Now!

Get it on Google Play Download on the App Store Now




Source:  OpenStax, Lập trình pascal. OpenStax CNX. Sep 30, 2008 Download for free at http://cnx.org/content/col10585/1.1
Google Play and the Google Play logo are trademarks of Google Inc.

Notification Switch

Would you like to follow the 'Lập trình pascal' conversation and receive update notifications?

Ask