Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 12 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
12
Dung lượng
216,29 KB
Nội dung
Bài giảng: kiểu dữ liệu xâu Giảng viên hướng dẫn: Trần Doãn Vinh. Sinh viên thực hiện: Lê Văn Đảm. Lớp: K56A_CNTT Một số 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 . Chỉ số phần tử trong xâu thường được đánh số là 1 . Trong ngôn ngữ Pacal, tham chiếu tới phần tử thường được viết : <Tên biến xâu>[chỉ số] 1.Khai báo kiểu dữ liệu xâu Để khai báo kiểu dữ liệu xâu, Pascal dùng tên riêng STRING. Độ dài tối đa của xâu được viết trong [ ] sau từ khóa STRING . Khai báo như sau : VAR <Tên biến > : STRING [độ dài lớn nhất của xâu]; Ví dụ: Var hoten : string [25]; Ta cũng có thể khai báo var hoten : string []; Khi đó độ dài lớn nhất của xâu được ngầm định là 255. Chú ý: Hằng xâu kí tự được đặt trong cặp nháy đơn‘ ’. 2. Các thao tác xử lí xâu Tham chiếu tới phần tử của xâu được xác định bởi tên xâu và chỉ số đặt trong []. Các kí tự được đánh số bắt đầu từ 1.Có thể xem xâu là mảng một chiều mà mỗi phần tử là một kí tự. Với dữ liệu kiểu xâu có thế thực hiện phép toán ghép xâu và phép toán quan hệ Phép ghép xâu (kí hiệu là +): ‘lớp’ + ’k56a’ cho xâu kết quả là: ‘lớp k56a’. Các phép so sánh =, <>, <, >, <=, >= Pascal tự động so sánh lần lượt từ kí tự từ trái sang phải.Ví dụ : ‘AB’ < ‘AC’, ‘ABC’ > ‘ABB’, ‘ABC’ <’ABCD’. Một số thủ tục chuẩn dùng để xử lí xâu : Delete(st, vt, n) : xoá n kí tự của xâu st từ vị trí vt Inser(s1, s2, vt) : chèn xâu s1 vào xâu s2 bắt đầu ở vị trí vt. Val(St,x,m) Đổi giá trị xâu St thành số ghi giá trị vào biến X, nếu không đổi được thì vị trí gây lỗi ghi trong m, nếu đổi thành công thì m = 0 Str(X,St) chuyển số X thành xâu kí tự lưu trong St Một số hàm chuẩn : Copy(St,vt,n) sao chép từ xâu St n kí tự từ vị trí vt . Length(s): cho giá trị là độ dài xâu s. Pos (s1, s2): cho vị trí xuất hiện đầu tiên của xâu s1 trong xâu s2. Upcase(ch): cho chữ cái viết hoa ứng với chữ cái trong ch Pos(S1,S2): tìm vị trí xuất hiện đầu tiên của S1 trong S2 . Length(St): cho độ dài xâu St . Upcase(ch): cho chữ cái viết hoa tương ứng với chữ thường trong ch . CHR(X): cho kí tự có mã X trong bảng mã ASCII . Ord(ch): cho mã của kí tự ch trong bảng mã . 3.Ví dụ Ví dụ 1: Viết chương trình nhập tên của hai người từ bàn phím, đưa ra màn hình tên dài hơn, nếu bằng nhau thì đưa ra xâu nhập sau Ví dụ 1 Program vidu1; User crt; Var Xau1, Xau2 : string; Begin Clrscr; Write(‘nhap ho ten thu nhat ’); Readln(Xau1); Write(‘nhap ho ten thu hai ’); Readln(Xau2); If length(Xau1) > length(Xau2) then write (Xau1) Else write(Xau2); readln End. Ví dụ 2 Nhập 1 xâu, viết ra màn hình xâu đó theo thứ tự ngược lại của các ký tự trong xâu đó. Ví dụ 2 Program VD3 ; Uses crt ; Var x : String ; k : Byte ; Begin Clrscr ; Write('Nhap xau : ') ; Readln(x) ; For k := length(x) downto 1 do Write(x[i]) ; Readln ; End . [...]...Ví dụ 3: Viết chương trình nhập xâu từ bàn phím đưa ra màn hình xâu thu được sau khi đã loại bỏ các dấu cách Ví dụ 3: Progam VD3; User crt; Var x : string; i, : byte; Begin Write (‘nhap xau ’); readln (x); For i:=1 to length(x) do If x[i]= ‘ ’ then . trong xâu thường được đánh số là 1 . Trong ngôn ngữ Pacal, tham chiếu tới phần tử thường được viết : <Tên biến xâu& gt;[chỉ số] 1.Khai báo kiểu dữ liệu xâu Để khai báo kiểu dữ liệu xâu, . xem xâu là mảng một chiều mà mỗi phần tử là một kí tự. Với dữ liệu kiểu xâu có thế thực hiện phép toán ghép xâu và phép toán quan hệ Phép ghép xâu (kí hiệu là +): ‘lớp’ + ’k56a’ cho xâu. Bài giảng: kiểu dữ liệu xâu Giảng viên hướng dẫn: Trần Doãn Vinh. Sinh viên thực hiện: Lê Văn Đảm. Lớp: K56A_CNTT Một số khái niệm: Xâu là một dãy kí tự trong