Danh mục

KIỂU LIỆT KÊ và KIỂU ÐOẠN CON

Số trang: 7      Loại file: pdf      Dung lượng: 204.09 KB      Lượt xem: 20      Lượt tải: 0    
Hoai.2512

Phí tải xuống: 3,000 VND Tải xuống file đầy đủ (7 trang) 0
Xem trước 2 trang đầu tiên của tài liệu này:

Thông tin tài liệu:

Cách khai báo : Ngoài các kiểu dữ liệu đã có sẵn như kiểu nguyên, thực, ký tư, lôgic và kiểu chuỗi, Turbo Pascal còn cho phép người thảo chương có thể tự xây dựng các kiểu dữ liệu mới. Kiểu liệt kê được định nghĩa bằng cách sử dụng từ khóa TYPE và liệt kê ra tất cả các gía trị của kiểu, theo mẫu sau: Type Tênkiểu = (tên1, tên2, ..., tênN) ; trong đó tên1, tên2,..., tênN là các tên tự đặt theo đúng quy ước về đặt tên. Ví dụ : Type Phai=(nam, nu) ; Ten_mau...
Nội dung trích xuất từ tài liệu:
KIỂU LIỆT KÊ và KIỂU ÐOẠN CON KIỂU LIỆT KÊ và KIỂU ÐOẠN CON 7.4.1. Kiểu liệt kê (enumerated type) : 7.4.1.1. Cách khai báo : Ngoài các kiểu dữ liệu đã có sẵn như kiểu nguyên, thực, ký tư, lôgic vàkiểu chuỗi, Turbo Pascal còn cho phép người thảo chương có thể tự xâydựng các kiểu dữ liệu mới. Kiểu liệt kê được định nghĩa bằng cách sử dụng từ khóa TYPE và liệt kêra tất cả các gía trị của kiểu, theo mẫu sau: Type Tênkiểu = (tên1, tên2, ..., tênN) ;trong đó tên1, tên2,..., tênN là các tên tự đặt theo đúng quy ước về đặt tên.Ví d ụ : Type Phai=(nam, nu) ; Ten_mau = (den, trang, xanh, vang, tim, nau); Theo khai báo này thì Phai là một kiểu dữ liệu liệt kê chỉ có hai giá trị lànam và nu, Ten_mau cũng là kiểu dữ liệu liệt kê và có sáu giá trị là : den,trang, xanh, vang, tim, nau. Khi một kiểu liệt kê đã được định nghĩa thì có thể khai báo các biếnthuộc kiểu liệt kê này bằng từ khóa Var. Ví dụ : Var Ph1, Ph2 : Phai; M1, M2 : Ten_mau ; Trong chương trình, ta có thể gán : Ph1:=nam; Ph2:=nu; M1:=den; M2:=trang; Pascal còn cho phép khai báo trực tiếp biến kiểu liệt kê không cần quagiai đoạn định nghĩa Type bằng cách liệt kê các gía trị mà biến có thể nhận. Ví dụ : các biến Ph1, Ph2, M1, M2 nói trên có thể khai báo trực tiếpnhư sau: Var Ph1, Ph2 : (nam, nu) ; M1, M2 : ( den, trang, xanh, vang, tim, nau); 7.4.1.2. Các hàm liên quan đến kiểu liệt kê: Hàm ORD(tên) : Trả về số thứ tự của tên trong kiểu liệt kê. Các gía trị liệtkê được đánh số thứ tự bắt đầu từ 0. Ví dụ:Ord(nam)=0,Ord(xanh)=2Thông qua hàm Ord, các gía trị liệt kê có thể so sánh với nhau theo quy tắc:gía trị nào có số thứ tự nhỏ hơn thì nhỏ hơn:den < trang < xanh< vang< tim< nau Hàm PRED(tên) và hàm SUCC(tên) : trả về gía trị đứng ngay trước vàngay sau tên trong kiểu liệt kê tương ứng. Ví dụ:Pred(nu)=namPred(nau)=timSucc(den)=trang Hàm Tênkiểu(k) : trả về giá trị liệt kê có số thứ tự là k trong Tênkiểu, vídụ:Phai(0)=namTen_mau(2)= xanhHàm này là hàm ngược của hàm Ord. 7.4.1.3. Nhập , xuất kiểu liệt kê: Các gía trị liệt kê không thể nhập, xuất trực tiếp bằng lệnh Readln vàWrite đượ?. Ðây là hạn chế của kiểu liệt kê, khiến nó không thông dụng. Khi muốn nhập hay xuất kiểu liệt kê, ta có thể dùng một biến trung gianSt kiểu chuỗi. Chẳng hạn, muốn nhập màu xanh cho biến M1, ta dùng hailệnh: Readln(St); If St=‘xanh’ then M1:=xanh; Tương tự, Muốn in màu xanh lên màn hình , ta dùng lệnh : If M1=xanh then Writeln(‘xanh’); 7.4.2. Kiểu đoạn con (Subrange type): Kiểu đoạn con được mô tả bằng cách chỉ ra phạm vi gía trị mà các biếnthuộc kiểu đó có thể nhận :TYPE Tênkiểu = hằng1..hằng2;VAR Tênbiến : Tênkiểu;hoặc khai báo trực tiếp :VAR Tênbiến : hằng1..hằng2;trong đó, hằng1< hằng2 là hai hằng thuộc cùng một kiểu dữ liệu. Kiểu dữliệu của hằng1 và hằng2 chỉ có thể là kiểu nguyên, ký tự, lôgic, hay liệt kê Ví dụ: Type Chu_Hoa =‘A’..’Z’; Tuoi= 0..200; Var Ch : Chu_hoa; T: Tuoi; Theo khai báo này thì ch là một biến kiểu đoạn con, có thể nhận các gíatrị là các ký tự từ ‘A’ đến ‘Z’, tương tự, biến T có thể nhận các gía trị là cácsố nguyên từ 0 đến 200. Cũng có thể khai báo hai biến Ch và T trực tiếp theo cách sau: Var Ch : ‘A’..’Z’; T : 0..200; Trong nhiều trường hợp, việc khai báo đoạn con có tác dụng tiết kiệmbộ nhớ. Tùy theo phạm vi hằng1..hằng2 mà Turbo Pascal sẽ cấp phát chobiến một số byte tối thiểu. Trong ví dụ trên, mỗi biến Ch hay T sẽ được chứatrong 1 byte. Kiểu đoạn con còn cho phép kiểm soát được gía trị của biến có vượt rangoài phạm vi của nó hay không. Ví dụ, nếu đối với biến T mà gán: T:=201;thì máy sẽ báo lỗi const out of range. Ngoài ra khi chạy chương trình trongmode {$R+}, chương trình sẽ dừng ngay nếu biến nhận gía trị vượt khỏiphạm vi. Kiểu liệt kê và kiểu đoạn con thuộc loại đơn giản và đếm được.

Tài liệu được xem nhiều: