Tải bản đầy đủ (.pdf) (9 trang)

Dữ liệu kiểu vô hướng liệt kê và kiểu đoạn con

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (128.95 KB, 9 trang )

– Giạo trçnh Láûp trçnh Pascal càn bn —


34


Trang 3 4
BI 5. DỈỴ LIÃÛU KIÃØU VÄ HỈÅÏNG LIÃÛT KÃ V
KIÃØU ÂOẢN CON
I. Kiãøu liãût kã:
Kiãøu liãût kã âỉåüc âënh nghéa bàòng cạch liãût kã táút c cạc giạ trë ca kiãøu thäng
qua cạc tãn do ngỉåìi láûp trçnh âàût ra v danh sạch cạc giạ trë trãn âỉåüc âàût trong càûp
ngồûc âån
( )
.
4 Vê dủ:
Type Days = (Sun, Mon, Tue, Wed, Thu, Fri, Sat);
Viec = (DiHoc, LamBai, ThiNghiem, Nghi);
Khi âọ, ta cọ thãø khai bạo biãún nhỉ sau:
Var HomQua, HomNay : Days;
Lam : Viec;
Hồûc ta cọ thãø khai bạo trỉûc tiãúp våïi mä t kiãøu dỉỵ liãûu nhỉ sau:
Var GioiTinh : (Nam, Nu);
Color : (Red, Blue, Green, White, Black);
Ư
Chụ :
(1). Cọ thãø thỉûc hiãûn phẹp gạn trãn cạc trë kiãøu liãût kã, vê dủ:
Lam := Nghi;
Color := Blue;
(2). Cạc giạ trë ca cạc kiãøu liãût kã cọ thãø so sạnh våïi nhau theo quy âënh: Giạ trë
âỉïng trỉåïc nh hån giạ trë âỉïng sau. Ta chè sỉí dủng toạn tỉí so sạnh cho kiãøu liãût kã


v cng l toạn tỉí duy nháút dng cho kiãøu ny.
4 Vê dủ: Theo nhỉ khai bạo trãn, nãúu so sạnh
Thu < Fri
cho kãút qu
True
,
hồûc
Red >= Blue
cho kãút qu
False
.
(3). Cạc hm chøn ạp cho kiãøu liãût kã:
- Hm
ORD
: Cho thỉï tỉû trë ca âäúi säú trong kiãøu liãût kã.
4
Vê dủ: theo nhỉ khai bạo trãn,
ORD(Sun) = 0, ORD(Mon) = 1.
- Hm
PRED
: Cho trë âỉïng trỉåïc ca âäúi säú trong kiãøu liãût kã.
Giaùo trỗnh Lỏỷp trỗnh Pascal cn baớn


35


Trang 3 5
4
Vờ duỷ: theo nhổ khai baùo trón,

PRED(Sat) = Fri, PRED(LamBai) = DiHoc.
PRED(Sun)

lọựi chổồng trỗnh.
- Haỡm
SUCC
: Cho trở õi sau õọỳi sọỳ trong kióứu lióỷt kó.
4
Vờ duỷ: theo nhổ khai baùo trón,
SUCC(Fri) = Sat. SUCC(Sat)

lọựi chổồng trỗnh.
(4). Khọng thóứ
nhỏỷp, xuỏỳt õọỳi vồùi dổợ lióỷu kióứu lióỷt kó
. Giaù trở thuọỹc kióứu lióỷt kó
thổồỡng õổồỹc duỡng õóứ laỡm chố sọỳ cho voỡng lỷp
FOR,
caùc trổồỡng hồỹp lổỷa choỹn trong
lóỷnh
CASE
, chố sọỳ cho caùc maớng
(Array).

4 Vờ duỷ: Chổồng trỗnh õọứi thổù trong tuỏửn ra sọỳ.
Chuớ nhỏỷt ổùng vồùi sọỳ 0, Thổù hai ổùng
vồùi sọỳ 1,...
Type
Thu = (ChuNhat, ThuHai, ThuBa, ThuTu, ThuNam, ThuSau, ThuBay);
Var
Ngay : Thu;

Begin
Writeln( Chuong trinh doi thu ra so );
For Ngay := ChuNhat to ThuBay do
Write(Ord(Ngay));
Readln;
End.
II. Kióứu õoaỷn con:
Kióứu õoaỷn con õổồỹc õởnh nghộa do ngổồỡi duỡng dổỷa trón cồ sồớ caùc kióứu vọ hổồùng
õóỳm õổồỹc
(Nguyón, Logic, Kyù tổỷ, Lióỷt kó)
theo daỷng:
Tón_kióứu_õoaỷn_con = Hũng_dổồùi.. Hũng_trón;
Trong õoù:
Hũng
_
dổồùi, Hũng
_
trón
laỡ caùc giaù trở hũng coù cuỡng kióứu giaù trở vaỡ thoaớ
maợn õióửu kióỷn:
Hũng
_
dổồùi

<

Hũng
_
trón
. Khi õoù, caùc giaù trở cuớa kióứu õoaỷn con seợ

xaùc õởnh trong khoaớn tổỡ
Hũng
_
dổồùi
õóỳn
Hũng
_
trón
.
4 Vờ duỷ:
Type
Ky_so = 0.. 9; { Kióứu gọửm caùc kyù tổỷ sọỳ tổỡ 0 õóỳn 9}
Ngay = (Hai, Ba, Tu, Nam, Sau, Bay, ChuNhat);
Ngay_Lam_Viec = Hai.. Bay; {Kióứu Ngay_Lam_Viec laỡ khoaớn con cuớa kióứu
Ngay }
– Giạo trçnh Láûp trçnh Pascal càn bn —


36


Trang 3 6
ChiSo = 1.. 50; { Kiãøu ChiSo gäưm cạc säú ngun tỉì 1 âãún 50 }
Tuoi_Lam_Viec = 18.. 50;
Kiãøu miãưn con giụp cho chỉång trçnh dãù âc, dãù kiãøm tra v tiãút kiãûm bäü nhåï.

_________ o
²
o _________
BI 6. KIÃØU TÁÛP HÅÜP V KIÃØU MNG


I. Kiãøu táûp håüp:
1. Âënh nghéa:
Dỉỵ liãûu kiãøu táûp håüp l mäüt táûp håüp ca nhỉỵng dỉỵ liãûu cng thüc mäüt kiãøu vä
hỉåïng âãúm âỉåüc. Mäüt kiãøu táûp håüp âỉåüc khai bạo theo dảng sau:
SET OF Kiãøu_cå_såí;
4 Vê dủ:
Type
Chu_so = Set of 0.. 9;
Chu_hoa = Set of ‘A’.. ‘Z’;
Var
So : Chu_so;
Chu : Chu_hoa;
Mau : Set of (Xanh, Vang, Tim);
Ư
Chụ :
- Cạc giạ trë âỉåüc âỉa vo táûp håüp cáưn cọ säú thỉï tỉû trong khon tỉì 0 âãún 255.
- Nhỉ váûy, våïi khai bạo:
Type
Tap_so = Set of 10.. 256;
1
Kãút qu khi dëch mạy s thäng bạo läùi:
Set base type out of range.
- Mäüt dỉỵ liãûu kiãøu táûp håüp cọ dảng cạc pháưn tỉí nàòm trong hai dáúu ngồûc
[ ]
. Vê
dủ:
[‘A’, ‘D’, ’E’ ], [3,5..9];
- Táûp håüp räùng k hiãûu l
[ ].


- Biãún táûp håüp cho phẹp cọ tỉì
0

âãún 256
pháưn tỉí.
- Cọ thãø thỉûc hiãûn phẹp gạn trãn kiãøu táûp håüp. Vê dủ:
So := [0, 4, 9];
Chu := [ ]; {Táûp håüp räùng}
– Giạo trçnh Láûp trçnh Pascal càn bn —


37


Trang 37
Mau := [Vang, Tim];
2. Cạc phẹp toạn trãn táûp håüp:
a. Phẹp toạn quan hãû:
Phẹp toạn =
ð
cho giạ trë
True
nãúu hai táûp håüp bàòng nhau.
Phẹp toạn < >
ð
cho giạ trë
True
nãúu hai táûp håüp khạc nhau.
Phẹp toạn <= ð

A <= B
cho giạ trë
True
nãúu
A
l táûp con ca
B.

Phẹp toạn >= ð
A >= B
cho giạ trë
True
nãúu
B
l táûp con ca
A.

Ư Chụ : Khäng cọ
phẹp toạn <
v
>
cho kiãøu táûp håüp. Âãø kiãøm tra táûp håüp
A
cọ
tháût sỉû nàòm trong
B
hay khäng ta dng cáu lãûnh:
If (A< > B) and (A<=B) then Write( ‘A la tap con that su cua B ‘);
b. Phẹp toạn IN:
Phẹp toạn

IN
dng âãø xem xẹt mäüt pháưn tỉí no âọ cọ nàòm trong táûp håüp khäng ?
Nãúu pháưn tỉí âọ cọ trong táûp håüp thç phẹp toạn s tr vãư giạ trë
True
, ngỉåüc lải cho
giạ trë
False.
Vê dủ:
‘C’ In [‘A’, ’C’, ‘D’]
cho kãút qu
True.

‘E’ In [‘A’, ’C’, ‘D’]
cho kãút qu
False.

c. Phẹp toạn håüp, giao, hiãûu:
Gi
A, B
l hai táûp håüp cng kiãøu dỉỵ liãûu.
A + B
l håüp ca
A
v
B
: táûp håüp cạc pháưn tỉí thüc
A
hồûc thüc
B.


A * B
l giao ca
A
v
B
: táûp håüp cạc pháưn tỉí thüc
A
v thüc
B.

A - B
l hiãûu ca
A
v
B
: táûp håüp cạc pháưn tỉí thüc
A
v khäng thüc
B.

4
Vê dủ:
A := [1, 3, 9];
B := [9, 2, 5];
Váûy:

A * B
cọ giạ trë l
[9].



A - B
cọ giạ trë l
[1, 3].

4 Vê dủ: Viãút chỉång trçnh nháûp vo mäüt chỉỵ cại. Xẹt xem chỉỵ cại âọ l ngun
ám hay phủ ám.
Var
ChuCai, NguyenAm : Set of Char;
Ch : char;
Giaùo trỗnh Lỏỷp trỗnh Pascal cn baớn


38


Trang 3 8
Begin
ChuCai := [A.. Z, a.. z];
NguyenAm := [A, E, I, O, U];
Repeat
Write( Nhap mot chu cai de kiem tra: );
Readln(Ch);
Until Ch IN ChuCai;
If Upcase(Ch) IN NguyenAm then
Writeln(Ch, la nguyen am. )
Else
Writeln(Ch, la phu am. );
Readln;
End.

II. Kióứu maớng:
1. Khaùi nióỷm:
Maớng
(Array)
laỡ mọỹt kióứu dổợ lióỷu coù cỏỳu truùc bao gọửm mọỹt sọỳ cọỳ õởnh caùc thaỡnh
phỏửn coù cuỡng kióứu, coù cuỡng mọỹt tón chung. Caùc thaỡnh phỏửn cuớa maớng õổồỹc truy
xuỏỳt thọng qua caùc chố sọỳ.
4
Vờ duỷ: Maớng A gọửm nm phỏửn tổớ:
A[1]=7, A[2]=9, A[3]=0, A[4]= -2, A[5]=3:







Cọng duỷng cuớa maớng laỡ duỡng õóứ lổu trổợ mọỹt daợy sọỳ lióỷu coù cuỡng mọỹt tờnh chỏỳt
naỡo õoù. Vờ duỷ: caùc õióứm kióứm tra mọỹt mọn hoỹc naỡo õoù cuớa mọỹt hoỹc sinh, caùc giaù trở
cuớa mọỹt daợy sọỳ õổồỹc nhỏỷp tổỡ baỡn phờm.
2. Khai baùo maớng mọỹt chióửu:
Type
Tón
_
kióứu
_
maớng = ARRAY [Chố
_
sọỳ] OF Kióứu
_

phỏửn
_
tổớ;
Var
Tón
_
bióỳn
_
maớng : Tón
_
kióứu
_
maớng;

A[2]=9
A[5]=3
A[3]=0 A[4]=-2
A[1]=7
Maớng A
Caùc chố sọỳ õóứ truy cỏỷp
Caùc giaù trở cuớa maớng coù cuỡng kióứu dổợ lióỷu

×