Kiểu vô hướng liệt kí (enumerated scalar type)

Một phần của tài liệu môn tin học đại cương (Trang 98 - 100)

I. KIỂU LIỆT KÍ, KIỂU MIỀN CON

1.Kiểu vô hướng liệt kí (enumerated scalar type)

2. Kiểu miền con.

II. KIỂU MẢNG, KIỂU CHUỖI. 1. Dữ liệu kiểu mảng. 1. Dữ liệu kiểu mảng. 2. Dữ liệu kiểu chuỗi. III. KIỂU TẬP HỢP (SET).

1. Ðịnh nghĩa vă khai bâo. 2. Mô tả một tập hợp.

3. Câc phĩp toân trín tập hợp. 4. Viết vă đọc dữ liệu kiểu tập hợp. IV. KIỂU BẢN GHI (RECORD).

1. Ðịnh nghĩa vă khai bâo. 2. Truy xuất một Record. 3. Câc Record lồng nhau. 4. Cđu lệnh WITH.

I. KIỂU LIỆT KÍ, KIỂU MIỀN CON

1. Kiểu vô hướng liệt kí (enumerated scalar type)

Chương trước chúng ta đê đi qua câc kiểu dữ liệu đơn giản lă câc dữ liệu kiểu dữ liệu vô hướng chuẩn (Standard Scalar-type Data) như Integer, Real, Char, Boolean. Câc kiểu năy đê được định nghĩa sẵn trong mọi chương trình căi đặt trong mây. Ngôn ngữ Pascal cho phĩp người lập trình có thể tự đặt ra câc kiểu vô hướng mới bằng câch tự liệt kí câc giâ trị của kiểu vô hướng mới vă phải khai bâo định nghĩa kiểu. Danh sâch câc giâ trị năy được đặt trong ngoặc đơn ( ) vă được mô tả bằng một tín kiểu (như phần mô tả kiểu TYPE). Kiểu vô hướng theo câch năy gọi lă kiểu vô hướng liệt kí (Enumerated Scalar Type).

a. Câch khai bâo

Có 2 câch khai bâo một biến kiểu liệt kí:

+ Khai bâo giân tiếp: Ðịnh nghĩa kiểu (dựa văo từ khóa type) trước khi khai biến (var)

TYPE

<tín kiểu liệt kí> = (<danh sâch giâ trị kiểu liệt kí>) ; VAR

<danh sâch biến> : <tín kiểu liệt kí> ; Ví dụ 8.1:

TYPE

Days = (Sun, Mon, Tue, Wed, Thu, Fri, Sat) ; Colors =(Red, Yellow, Green, White, Blue, Black) ; Subjects = (Mathematics, Physics, Chemistry, Biology) ;

VAR

Ngay : Days ; MauVe : Colors ;

MonThi, Kiemtra : Subjects ;

+ Khai bâo trực tiếp: Kiểu sau biến được định nghĩa trực tiếp.

VAR

<danh sâch biến> : (<danh sâch giâ trị kiểu liệt kí>) ;

Ví dụ 8.2: VAR

Ngay : (Sun, Mon, Tue, Wed, Thu, Fri, Sat) ; MauVe : (Red, Yellow, Green, White) ; Ta có thể gân cho biến câc giâ trị của kiểu tương ứng:

Ngay := Mon ; MauVe := Red ;

Biến theo định nghĩa của kiểu năo chỉ nhận giâ trị của kiểu đó mă thôi. Theo khai bâo như ví dụ 8.2. ở trín, ta không thể có MauVe := Mon ; Kiểu vô hướng liệt kí lă một kiểu đếm được.

Theo định nghĩa kiểu vô hướng liệt kí, thứ tự danh sâch giâ trị liệt kí được ngầm đânh số tăng tuyến tính bắt đầu từ số 0 trở đi theo thứ tự từ trâi sang phải. Như vậy, ở ví dụ trín: Sun < Mon < Tue < Wed .... vă Red < Yellow < Green ...

b. Một số hăm chuẩn âp dụng cho kiểu vô hướng

* Hăm thứ tự ORD (X)

Hăm năy cho ta thứ tự của giâ trị x trong kiểu vô hướng đếm được. Hăm ORD thực chất lă hăm biến đổi một giâ trị kiểu vô hướng đếm được sang giâ trị kiểu số nguyín.

Theo ví dụ trín: (adsbygoogle = window.adsbygoogle || []).push({});

ORD (Sun) = 0 lă Ðúng vì Sun có thứ tự lă 0 ORD (Mon) = 1 lă Ðúng vì Mon có thứ tự lă 1 ORD (Green) = 3 lă Sai vì Green có thứ tự lă 2

ORD (n) = n trong đó n lă một giâ trị kiểu Longint * Hăm PRED (X)

Hăm năy cho giâ trị đứng trước x trong định nghĩa kiểu của x. Theo ví dụ trín :

PRED (Mon) = Sun PRED (Green) = Yellow PRED (n) = n - 1 * Hăm SUCC (X)

Hăm năy cho giâ trị đứng sau x trong định nghĩa kiểu của x. Theo ví dụ trín:

SUCC (Mon) = Tue SUCC (Green) = White SUCC (n) = n + 1

* Hăm chuyển một số nguyín thănh một giâ trị vô hướng

Tín hăm năy chính lă tín kiểu vô hướng mă ta đê khai bâo trước. Theo ví dụ trín:

Days(2) = Tue Colors(3) = White LONGINT (n) = n

Một phần của tài liệu môn tin học đại cương (Trang 98 - 100)