FreePascal 学习笔记 第八章 集合 Set types

这篇博客介绍了Pascal语言中集合类型的定义与操作,包括集合的元素类型限制、最大元素数量,以及并集、差集、交集、对称差集等操作。示例展示了如何使用Include和Exclude运算符进行集合元素的添加和删除,并通过PrintDays过程打印集合内容。
摘要由CSDN通过智能技术生成

 

一、集合

1.集合中的每个元素都必须为序数类型(介于0到255之间)

2. 一个集合最多可以包含256个元素。

3. 示例

program ProjectSetTypes;


 

Type

Junk = set of char;

Days = (Mon,Tue,Wed,Thu,Fri,Sat,Sun);


 

var

WorkDays : = set of days;

WorkDay := [Mon,Tue,Wed,Thu,Fri];


 

begin

end.

二、操作

并集,差集,交集,对称差集(交集取反),包含,排除。

可以使用Include或Exclude运算符从集合中添加或删除元素。

program projectSetOperate;


 

Type

Day = (mon,tue,wed,thu,fri,sat,sun);

Days = set of Day;


 

Procedure PrintDays(W: Days);

const

DayNames : Array [Day] of string[3]

=('mon','tue','wed','thu','fri','sat','sun');

var

D : Day;

S : string;

begin

s := '';

for D:=Mon to Sun do

if D in W then

begin

if ( S <> '' ) then S:= S + ',';

S := S + DayNames[D];

end ;

WriteLn('[',S,']');

end;


 

Var

W : Days;

begin

W := [mon,tue] + [wed,thu,fri]; //并集= [mon,tue,thu,fri]

PrintDays(W);


 

W := [mon,tue,wed] - [tue]; //差集 = [mon,wed]

PrintDays(w);


 

W := [mon,tue,wed] - [wed,thu];//差集 = [mon,tue]

PrintDays(W);


 

W := [mon,tue,wed] * [wed,thu,fri];//交集 = [wed]

PrintDays(W);


 

W := [mon,tue,wed] >< [wed,thu,fri];//对称差集 = [mon,tue,thu,fri];

PrintDays(W);


 

W := [mon];

include(W,wed); //= [mon,wed] 相当于并集

PrintDays(W);


 

Exclude(W,wed);//=[mon] 相当于差集

PrintDays(W);


 

if (mon in W) then

writeln('true') //此处不能有; 这个语法不好

else

writeln('false');


 

readln;

end.

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值