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

Kiểu tập hợp và kiểu mảng

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 (122.75 KB, 7 trang )

– 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
Giaùo trỗnh Lỏỷp trỗnh Pascal cn baớn


39


Trang 39
Trong õoù:
-
Kióứu
_
phỏửn
_
tổớ
laỡ kióứu dổợ lióỷu cuớa mọựi phỏửn tổớ trong maớng
(laỡ kióứu bỏỳt kyỡ).

-
Chố
_
sọỳ
laỡ danh saùch caùc chố sọỳ õóứ truy cỏỷp õóỳn caùc thaỡnh phỏửn cuớa maớng.
Caùc chố sọỳ coù thóứ laỡ:
+ Mọỹt õoaỷn con, vờ duỷ:
Type


Ho
_
Ten
=
Array[1..100] of String[30];

He
_
so
_
luong = Array[1..100] of Real;

+ Mọỹt danh saùch lióỷt kó, vờ duỷ:
Type
Toc
_
do

= Array[(Oto, Tai, Buyt, GanMay)] of Integer;
+ Mọỹt kióứu dổợ lióỷu, vờ duỷ:
Type
ASCIIType = Array[Byte] of Char;
Xe = (Oto, Tai, Buyt, GanMay);
Toc
_
do = Array[Xe] of Integer;
Vồùi caùc kióứu maớng trón, ta coù thóứ khai baùo caùc bióỳn maớng sau:
Var
HeSo : He

_
so
_
luong;


HT : Ho
_
Ten;

Speed : Toc
_
do;

Ngoaỡi caùch õởnh nghộa
Tón
_
kióứu
_
maớng
nhổ ồớ trón ta cuợng coù thóứ khai baùo mọỹt
bióỳn maớng trổỷc tióỳp sau lóỷnh
VAR
:
Var ch : Array[0.. 25] of Char;
Th : Array[-2.. 4] of Real;
3. Truy cỏỷp caùc phỏửn tổớ cuớa maớng:
Vióỷc truy nhỏỷp vaỡo mọỹt phỏửn tổớ naỡo õoù cuớa bióỳn maớng õổồỹc thổỷc hióỷnh qua tón
bióỳn maớng, theo sau laỡ giaù trở chố sọỳ õỷt trong dỏỳu
[ ].

Vờ duỷ:
Ch[2] := B;
Th[1] := 12.5;
HT[1] := Vu Duc Dung;
Giaùo trỗnh Lỏỷp trỗnh Pascal cn baớn


40


Trang 40
4
Vờ duỷ 1: Nhỏỷp
n
sọỳ thổỷc tổỡ baỡn phờm vaỡo mọỹt maớng, tờnh trung bỗnh cọỹng cuớa caùc
sọỳ naỡy.
Uses CRT;
Var i,n : Integer;
s : Real;
a : Array[1.. 100] of Real;
Begin
ClrScr;
Write( Ban muon nhap bao nhieu PT cho mang : );
Readln(n);
For i := 1 to n do
Begin
Write( PT A[ , i , ]= );
Readln(a[i]);
End;
s := 0;

For i := 1 to n do
s := s + a[i];
Write( Trung binh cong cua day so = , s / n : 0 : 4 );
Readln;
End.
4
Vờ duỷ 2: Nhỏỷp tổỡ baỡn phờm
n
phỏửn tổớ thổỷc cuớa mọỹt maớng, sừp xóỳp daợy theo thổù tổỷ
tng dỏửn, xuỏỳt giaù trở cuớa maớng lón maỡn hỗnh.
Var a : array[1..10] of Real;
b : array[1..10] of Real;
temp : Real;
i, j, n : integer;
Begin
n:=10;
For i := 1 to n do
Begin
Write( ' PT thu ' , i , ':' );
Readln( a[i] );
End;

×