nguyenvannho2010Admin Tổng số bài gửi : 37Join date : 06/06/2011Age : 38Đến từ : Kiên Giang | Tiêu đề: Thủ tục và hàm xử lý xâu trong PasCal Sun Aug 07, 2011 12:22 pm | | Nguyễn Văn Nhớ_DH10ST Các Thủ tục và Hàm xử lý xâu trong PasCalI. Định nghĩaĐể xử lý các chuỗi văn bản, Pascal đưa ra một kiểu dữ liệu mới gọi là xâu ký tự và được định nghĩa bằng từ khóa STRING.Xâu ký tự là dữ liệu bao gồm một dãy các ký tự trong bảng mã ASSCII.Cách khai báo:Var : STRING[độ dài của xâu];Xâu ký tự trong bộ nhớ nó chiếm số byte bằng số ký tự cực đại được khai báo cộng với byte đầu tiên chứa số ký tự hiện có của xâuĐộ dài tối đa của xâu ký tự là 255.Truy cập từng phần tử của xâu ký tự thong qua tên biến kiểu STRING và chỉ số của nóVí dụ:Var st : string[20];St := ’Le Thanh Lam’;write(st[4]) cho ra chữ TCách đọc hay viết kiểu STRING cũng tương tự như các kiểu dữ liệu khác, ta sử dụng các thủ tục READ, hoặc WRITE.Ví dụ: var St:string;Readln(st);Writeln(st);II. Các thao tác trên xâu ký tự1/ Phép cộng xâu: Hai xâu ký tự có thể cộng với nhau bằng toán tử cộng lúc đó Pascal sẽ cho kết quả 1 xâu bằng cách nối đuôi nhau:Ví dụ: st1:=’Le’; st2:=’Thanh’;St=st1 ’ ‘ st2 sẽ cho kết quả là ‘Le Thanh’2/ Phép so sánh: Hai xâu ký tự có thể so sánh với nhau bằng các phép so sánh =, >, <…Nguyên tắc so sánh thực hiện như sau, chúng sẽ đem từng kýtự tương ứng với nhau để so sánh, xâu nào có ký tự có số thứ tự trong bảng mã ASCII lớn hơn thì xâu đó lớn hơn.Hai xâu ký tự được gọi là bằng nhau khi chúng hoàn toàn giống nhau (có độ dài như nhau)Ví dụ: ‘FILENAME’ < ’FILENAME ‘3. Các thủ tục và hàm chuẩn xử lý xâu ký tựa. Hàm length(st): cho độ dài thực của xâu ký tựví dụ: st:=’le thanh’ thì LENGTH(st) cho bằng 8.b/ Thủ tục DELETE(st, pos, num): xóa num ký tự trong xâu st kể từ vị trí posVí dụ: st= ‘FILENAME’Delete(st,5,4) lúc đó st cho ra là ‘FILE’c/ Thủ tục INSERT(obj, st, pos): Thủ tục cho kết quả bằng cách chèn xâu ký tự có tên là Obj vàoxâu st tại vị trí pos, những ký tự đứng sau pos sẽ được dời vềphía sau của xâu ký tự obj.Ví dụ: obj:= ‘Thanh ‘st:=’Le Lam’;INSERT(obj,st,4) lúc đó st=’Le Thanh Lam’;d/ Thủ tục STR(value, st): Thủ tục này thực hiện việc chuyển đối giá trị kiểu số(value) sang dạng xâu ký tự và gán cho biếnst.Ví dụ: n là một só nguyên có giá trị: n:=150;STR(n:5,st) sẽ cho kết quả xâu st là: st=’ 150’;e/ Thủ tục VAL(st, value,code) đối một xâu ký tự st sang dạng số và gán cho biến value, nếu biến đối thành công thì code sẽ nhận giá trị bằng 0. ngược lại thì cho giá trị khác khôngVí dụ: VAL(‘123’,value,code) lúc này code sẽ nhận giá trị bằng 0 và value=123f/ Hàm COPY(st, pos, num): sao chép trong xâu st, num ký tự tại vị trí pos,Ví dụ: st=’Le Thanh Lam’COPY(st,4,5) = ‘Thanh’;g/ Hàm CONCAT(s1,s2,…,sn): hàm cho ra 1 xâu mới bằng cách nối đuôi các xâu s1,s2,…,snlại với nhau.Ví dụ: CONCAT(‘Le ’,’Thanh ‘, ‘Lam’) = ‘Le Thanh Lam’;h/ Hàm POS(st1,st2): hàm cho tavị trí tìm thấy đầu tiên của xâu s1 trong xâu s2.Ví dụ: POS(‘Lam’,‘Le Thanh Lam’) = 10; | | LikeDislike |
|