- Ghit ệp không ñị nh kiểu
a. Tập hợp cùng kiểu
Các tập hợp ñược coi là cùng kiểu nếu chúng ñược xây dựng trên cùng một kiểu cơ
bản.
Giả sử chúng ta khai báo các tập hợp như v í d ụ sau:
Ví dụ 2.26
Type
mau= set of (xanh, hong, tim, vang, den, nau); mau_xe = set of (xanh..vang);
sn1 = set of 0..100; sn2 = 100..200; sn3 = set of Byte; chucai1 = set of 'a'..'z'; chucai2 = set of 'A'..'Z';
Kytu = set of Char; Var
a:sn1; b:sn2; c:sn3; mau_oto:mau; chu:kytu; ... thì các nhóm tập hợp sau ñ ây là cùng kiểu mau, mau_xe sn1, sn2, sn3 chucai1, kytu chucai2, kytu b. Hình thành một tập hợp
Một tập hợp ñược hình thành khi chúng ta gán cho biến tập hợp các giá trị cụ thể, các giá trị này ñược ñặt trong hai dấu ngoặc vuông.
Ví dụ 2.27
c := [2, 15, 30, 100..200];
mau_oto := [xanh, den, vang, tim]; a := [];
chu := ['A'..'Z'];
Nếu một tập hợp không chứa một phần tử nào cả thì nó ñược gọi là tập rỗng và ñược ký hiệu là []. Trong ví dụ 2.28, a là một biến tập hợp rỗng.
Tập hợp rỗng ñược xem là cùng kiểu với mọi kiểu tập hợp.
3.3 Các phép tính trên tập hợp
Các phép tính giới thiệu sau ñây chỉ thực hiện ñược trên các tập hợp cùng kiểu, nghĩa là các phần tử của mọi tập hợp phải cùng thuộc một kiểu cơ bản.
a. Phép gán
Phép gán ñược dùng ñể hình thành nên một tập hợp. Có thể gán một tập hợp cho một biến tập hợp cùng kiểu hoặc gán một biến tập hợp cho một biến tập khác cùng kiểu. (xem ví dụ 2.28)
b. Phép hợp
Phép hợp ñược ký hiệu bởi toán tử " + ". Hợp của hai tập hợp A và B khi ñó có thể viết là A + B
Hợp của hai tập A và B là một tập hợp gồm các phần tử thuộc A hoặc thuộc B. Giả sử các tập A, B, C ñược hình thành như sau:
B := [5..9, 20,30]; C := A + B;
Tập C ñược hình thành bởi phép hợp A và B nên sẽ gồm các phần tử [1..15,20,30]
c. Phép giao
Giao của hai tập A và B ký hiệu là A*B là một tập hợp gồm các phần tửñồng thời
thuộc cả A và B.
C := A*B; tập C sẽ có các phần tử [5, 6, 7, 8]
d. Phép trừ
Phép trừ hai tập hợp A và B ký hiệu là A - B cho ta một tập gồm các phần tử thuộc A
nhưng không thuộc B
C := A - B; tập C sẽ có các phần tử [1..4, 10..15] còn [1..5] - [1..10] = [ ]