Bài 12: Kiểu Xâu - Hoc24

BÀI 12: KIỂU XÂU

1. Khái niệm

- Xâu là một dãy kí tự trong bảng 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 xâu được gọi là độ dài của xâu .

- Xâu có độ dài bằng 0 gọi là xâu rỗng.

- Tham chiếu tới phần tử trong xâu được xác định thông qua chỉ số của phần tử trong xâu.

<Tên biến xâu>[chỉ số]

- Cách khai báo biến xâu:

var <tên biến xâu> : string [độ dài lớn nhất của xâu] ;

- Ví dụ:

  • Ten : String[10] ;
  • Ho_dem : String[50] ;
  • Que : String ;

* Chú ý:

  • Nếu không khai báo độ dài tối đa cho biến xâu kí tự thì độ dài ngầm định của xâu là 255 .
  • Hằng xâu kí tự được đặt trong cặp nháy đơn ‘ ’.

2. Các thao tác xử lí xâu

- Phép ghép xâu: Kí hiệu là dấu cộng (+)

Ví dụ: ‘Ha’ + ‘ Noi’ + ‘ – ’ + ‘Viet Nam’ => cho kết quả là ‘Ha Noi – Viet Nam’

- Phép so sánh: <, <=, >, >=, = , <>.

  • Xâu A là lớn hơn xâu B nếu như 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
  • Nếu A và B là các xâu có độ dài khác nhau và A là đoạn đầu của B thì A là nhỏ hơn B.
  • Hai xâu được coi là bằng nhau nếu chúng hoàn toàn giống nhau.
  • Ví dụ:
    • (‘ABC’=’ABC’).
    • (‘ABCDEF’<’ABCFGH’).
    • (‘ABC’<’ABCDEF’).

- Một số thủ tục chuẩn dùng để xử lí xâu:

  • Hàm Delete(St,vt,n) Xoá n kí tự của xâu st bắt đầu từ vị trí vt. Ví dụ:

Var St: String[20]; Begin St := ‘CHUOI CHUA BI CAT’; St := Delete(St,6,5); Write(St); End.

  • Hàm Insert(S1,S2,vt): Chèn xâu S1 vào xâu S2 bắt đầu từ vị trí vt của S2. Ví dụ:

Var St, Obj: String[20]; Begin St := ‘CHUOI THEM’; Obj := ‘DA ’; Insert(obj,St,7); Write(St); End.

  • Hàm Val(St,x,m): Đổi giá trị xâu St thành số ghi giá trị vào biến X, nến không đổi được thì vị trí gây lỗi ghi trong m, nếu đổi thành công thì m = 0. Ví dụ:

Var St: String[20]; X: Real; Code: Integer; Begin St := ‘789.789’; Val(St, X, Code); Writeln(‘X = ’ ,X, ’ ; Code = ‘ , Code); St := ‘789A789’; Val(St, X, Code); Writeln(‘X = ’ ,X, ’ ; Code = ‘ , Code); End.

  • Hàm Str(X, St): Chuyển số X thành xâu kí tự lưu trong St. Ví dụ:

Var St: String[20]; S: Real; Begin S := 987987987; Str(S:9:0,St); Write(St); End.

  • Hàm Length(St): Cho kết quả là một số nguyên chỉ độ dài của chuỗi (số ký tự của chuỗi). Ví dụ: Để viết một dòng ở giữa màn hình ta làm như sau:

GotoXY((80-Length(st))div 2, 12); Write(st);

  • Hàm Copy(St, Pos, n): Kết quả trả về của hàm là một chuỗi, trích từ chuỗi St, chéptừ ví trí Pos và chép n ký tự. Ví dụ:

Var St, Obj: String[20]; Begin St := ‘TURBO PASCAL 7.0’; Obj := Copy(st,7,6); Write(Obj); End.

  • Hàm Concat(St1, St2, St3,…Stn): Cho kết quả là một chuỗi mới được ghép từ các chuỗi St1, St2, St3,…, Stn theo thứ tự truyền vào hàm. Kết quả này giống như phép cộng chuỗi.
  • Hàm Pos(Obj, St): Cho kết quả là một vị trí đầu tiên của Obj trong chuỗi St. Nếu không tìm thấy thì hàm trả về kết quả là 0. Ví dụ:

Var St, Obj: String[20]; Begin St := ‘TURBO PASCAL 7.0’; Obj := ‘PASCAL’; Write(Pos(Obj, St)); End.

  • Hàm Pos(S1, S2): Tìm vị trí xuất hiện đầu tiên của S1 trong S2.
  • Hàm Upcase(ch): Cho chữ cái viết hoa tưng ứng với chữ thường trong ch.

Từ khóa » Ví Dụ Xâu