Trường Đại học Điện lực Tập đoàn Điện lực Việt Nam


Kiểu chuỗi (xâu) ký tự 7.2.1 Khái niệm



tải về 1.67 Mb.
trang34/48
Chuyển đổi dữ liệu18.07.2016
Kích1.67 Mb.
#1821
1   ...   30   31   32   33   34   35   36   37   ...   48

7.2. Kiểu chuỗi (xâu) ký tự

7.2.1 Khái niệm


  • Xâu ký tự là một kiểu dữ liệu nhận giá trị là dãy các ký tự trong bảng mã ASCII, dãy ký tự này được đặt trong một cặp dấu nháy đơn (‘ ’)

Ví dụ 7.15:

St1 = ‘NGON NGU PASCAL’

St2 = ‘Tin hoc nam 2002’

St3 = ‘123456’

St4 = ‘Truong Dai hoc Dien Luc’

- Độ dài của một xâu là số ký tự của xâu đó. Xét ví dụ 7.20:

độ dài của st1 là 15,

đồ dài của st2 là 16,

độ dài của st3 là 6,

độ dài của st4 là 23,

- Xâu rỗng là xâu không chứa ký tự nào, nó có độ dài là 0, được ký hiệu là ‘’. Xâu rỗng khác với xâu chứa ký tự trống ‘ ’. Xâu chỉ chứa 1 ký tự trống có độ dài là 1.

-


Xâu ký tự

Số thứ tự


Trong bộ nhớ của máy, một biến xâu sẽ chiếm một số byte bằng độ dài tối đa của nó cộng thêm 1. Byte đầu tiên, gọi là byte 0, chứa một ký tự có mã bằng độ dài thực của xâu, mỗi byte còn lại chứa một ký tự. Cấu trúc của biến St1 nói trên có dạng:





N

G

O

N




N

G

U




P

A

S

C

A

L

0

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

Độ dài N (=15) của biến St1 và ký tự trong byte 0 (ký hiệu là St[0]) liên quan với nhau như sau:

N = Ord ( St[0] )

St[0]= Chr( N )


7.2.2. Khai báo xâu ký tự


7.2.2.1. Khai báo kiểu dữ liệu xâu:

TYPE Tên_kiểu_xâu = string; {mặc định là xâu dài tối đa 256 ký tự}

Hoặc


TYPE Tên_kiểu_xâu = string[độ dài tối đa của xâu];

VAR biến_xâu : Tên_kiểu_xâu;
Trong đó độ dài tối đa của xâu là một số nguyên dương nằm trong đoạn [0..256].
Ví dụ 7.16: Khai báo kiểu họ tên là kiểu xâu ký tự có độ dài tối đa là 40 ký tự.

TYPE kieu_hoten = string[40];

VAR ht: kieu_hoten; {khai báo biến ht có kiểu là kieu_hoten}
*Chú ý: Khi một biến xâu được dùng làm đối số của hàm hay thủ tục thì nó cần phải được khai báo theo cách này ( trừ các biến xâu có kiểu String ).
7.2.2.2. Khai báo biến kiểu dữ liệu xâu:

VAR tên_biến_xâu: string;

Hoặc


VAR tên_biên_xâu: string[độ dài tối đa của xâu];
Ví dụ 7.17:

VAR st1: string; {khai báo biến xâu st mặc định có độ dài tối đa là 256}

st2: string[50]; {khai báo biến xâu st có độ dài tối đa là 50}

* Chú ý: Nếu xâu st có độ dài tối đa là N mà ta lại gán cho nó xâu có độ dài lớn hơn N thì xâu st chỉ nhận N ký tự đầu tiên.
Ví dụ 7.18:

- Var st: string[15];

Sau lệnh gán st:=’Truong Dai hoc Dien Luc’; thì st sẽ nhận giá trị là: ‘Truong Dai hoc ’

- Var st1: string[50];

st1 := ‘C5CNTD’
* Chú ý: Cần phân biệt độ dài với độ dài tối đa của biến xâu: độ dài tối đa được xác định ngay khi khai báo là khả năng có thể chứa của biến xâu, còn độ dài của xâu là số ký tự đang thực có trong xâu. Như ví dụ 7.23, xâu st1 có độ dài tối đa là 50 nhưng độ dài thực tế của xâu là 6.

7.2.3. Viết ra và đọc vào một xâu ký tự


  • Viết ra

Có thể in một xâu ký tự ra màn hình, máy in hay tệp văn bản bản bằng các lệnh write

Ví dụ 7.19:

- Writeln(st); in ra nguyên vẹn xâu st lên màn hình,

- Writeln(‘Turbo Pascal’); in lên màn hình dòng chữ ‘Turbo Pascal’, viết xong con trỏ ở đầu dòng tiếp theo.

- Write(‘Turbo Pascal’); in lên màn hình dòng chữ ‘Turbo Pascal’, viết xong con trỏ ở cuối dòng vừa in.



  • Đọc vào

Có thể đọc vào một giá trị cho một biến kiểu xâu bằng các lệnh read, xem lại sử dụng các lệnh read trong phần nhập xuất dữ liệu.

Ví dụ 7.20:

- readln(st); hay read(st); nhập dữ liệu cho xâu st

- readln(st1, st2); nhập dữ liệu cho biến xâu st1 và st2

7.2.4. Các phép toán trên xâu


7.2.4.1. Phép gán

Cũng tương tự như các kiểu dữ liệu đơn giản đã học, ta hoàn toàn có thể thực hiện gán giá trị hai biến xâu cho nhau.



Ví dụ 7.21: với khai báo

Var st1, st2: string[10];

st:string;

Thì có thể thực hiện các lệnh gán:

(1) St1:=st2; St2:=st1; st:=st1; st1:= st;

(2) St1 := ‘123456’ ….

(3) St2 := ‘1234567890abcdef’;
* Chú ý: khi thực hiện phép gán xâu st2 có độ dài L2 cho biến xâu st1 có độ dài L1 mà L2>L1 thì st1 chỉ nhận L1 ký tự đầu tiên của xâu st2.

Như ví dụ 7.28, sau lệnh gán (3) thì st2 = ‘1234567890’.


7.2.4.2. Phép so sánh

Có thể thực hiện các phép toán so sánh với kiểu xâu ký tự.



Quy tắc so sánh:

- Thực hiện so sánh giữa các cặp ký tự tương ứng từ trái qua phải. Khi phát hiện có một cặp ký tự khác nhau thì xâu nào chứa ký tự nhỏ hơn sẽ nhỏ hơn.

- Nếu nội dung của hai xâu giống nhau từ đầu đến hết chiều dài của xâu ngắn hơn thì xâu ngắn hơn là nhỏ hơn


Ví dụ 7.22: ‘hoa’ > ‘Hoa’

‘Pascal’ > ‘Pas’

‘hai’ < ‘hao’

‘Hoa’> ‘Hao’

- Hai xâu bằng nhau nếu chúng dài bằng nhau và mọi cặp ký tự ở các vị trí tương ứng đều giống nhau.
Ví dụ 7.23:

Biểu thức ‘Pascal’ = ‘Pascal’ cho kết qủa là đúng

Biểu thức ‘Pascal’ = ‘PAscal’ cho kết qủa là sai.
Ví dụ 7.24: Viết chương trình nhập vào hai xâu ký tự st1 và st2.


  • In lên màn hình hai xâu, mỗi xâu một dòng.

  • Cho biết xâu nào có giá trị lớn hơn, in xâu đó lên màn hình.

Program vidu_7_24;

Var st1,st2 : string;

Begin


Write(‘ Nhap vao xau st1 = ‘);

Readln(st1); {nhap du lieu cho xau st1}

Write(‘ Nhap vao xau st2 = ‘);

Readln(st2); {nhap du lieu cho xau st2}

{So sanh hai xau}

If st1>st2 then

Writeln(‘ Xau lon hon la xau ‘, st1)

Else


if st1Writeln(‘ Xau lon hon la xau ‘, st2)

else writeln(‘ hai xau bang nhau’);

Readln;


End.
7.2.4.3. Phép cộng xâu

Phép toán cộng (+) hai xâu st1 và st2 (ký hiệu là st1+st2 ) là phép nối xâu st2 vào ngay sau xâu st1.



Ví dụ 7.25: st1 := ‘Truong ’;

st2 := ‘Dai hoc’;

st3 := st1 + st2; thì st3 = ‘Truong Dai hoc’;

st4 := st3 +’ Dien luc’;

thì st4 = ‘Truong Dai hoc Dien luc’;

st5 := ‘Turbo’ + ‘ Pascal’;

thì st5 = ‘Turbo Pascal’;


Каталог: images
images -> Hướng dẫn sử dụng Dropbox Để sử dụng được Dropbox
images -> BÀi thuyết trình cách xáC ĐỊnh và chế ĐỘ pháp lý CỦa các vùng biển theo công ưỚc của liên hiệp quốc về luật biển năM 19821
images -> Céng hßa x· héi chñ nghÜa viÖt nam Độc lập tự do hạnh phúc
images -> Lúa gạo Việt Nam Giới thiệu
images -> Trung Tâm kt tc-đl-cl
images -> Số: 105/2008/QĐ-ttg CỘng hòa xã HỘi chủ nghĩa việt nam độc lập Tự do Hạnh phúc
images -> ChuyêN ĐỀ ĐẠi số TỔ HỢP, XÁc suất kiến thức cơ bản Đại số tổ hợp
images -> BỘ giáo dục và ĐÀo tạo trưỜng đẠi học luật tp. HỒ chí minh dưƠng kim thế nguyên thủ TỤc phá SẢn các tổ chức tín dụng theo pháp luật việt nam
images -> Review of Condor, Sun Grid Engine and pbs

tải về 1.67 Mb.

Chia sẻ với bạn bè của bạn:
1   ...   30   31   32   33   34   35   36   37   ...   48




Cơ sở dữ liệu được bảo vệ bởi bản quyền ©hocday.com 2024
được sử dụng cho việc quản lý

    Quê hương