- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
讲 pascal语言集合 记录;5.集合的运算:
① 并:
集合A和集合B的所有成员合并起来(重复者只取一个)组成一个新的集合,这种运算称为集合的并运算,新集合称为A和B的并集。用AB表示。
② 交:
集合A和集合B共有的成员组成一个新集合,称为交运算,新集合称为A和B的交集。
用AB表示。
③ 差:
集合A的成员去掉集合B中也包含的成员组成一个新的集合,称为集合的差运算,新集合称为集合A与集合B的差集。用A-B表示。;二:PASCAL语言中的集合
1.集合的概念:
一个集合是由同一种有序类型的一组数据元素所组成的,这种类型称为集合类型的基类型。集合的基类型可以是任何一种顺序类型。
集合类型的定义及集合变量的说明:
2.集合类型的定义格式:
type
标识符=set of 基类型;
判断以下定义集合类型的对错:
A.type num=set of 1..10;
B.type num2=set of integer;
C.type c=set of char;
D.type colors=(red,blue,yellow,black,while);
c1=set of colors;
变量的说明:直接说明或说明与定义类型同时。
集合的表示:用[]括起来的一些元素。
如:[red,black,white,blue];几点注意:
1.集合的值与方括号内元素出现的次序无关。如:[1,2,3,4]和[1,2,4,3]
2.在集合中,同一元素的重复出现对集合的值没有影响。如:[1,2,3,1]和[1,2,3]
3.在集合中,若元素的值是连续的,可用子界类型表示。如:[1,2,3,4,8,11],可表示成[1..4,8,11]
4.集合中元素的个数不能超过256个,即基类型的序数值必须在0~255之间,其基类型可以是整型的子界、字符型、布尔型、枚举类型和子界类型。
5.每个元素均可用基类型所允许的表达式来表示。如:[1+10,4*2,3..6]
变量的取值:
如:type numset=set of 1..3;
var n:numset;
集合n的值有8种可能:[]、[1]、[2]、[3]、[1,2]、[1,3]、[2,3]、[1,2,3]
当一个集合变量允许包含有n个元素时,不考虑有重复元素的情况,则所构成的集合有2n种可能。;3.集合变量的赋值:
如:var ch1,ch2:set of ‘A’..‘Z’;
在程序执行部分,只能通过赋值语句来实现(ch1:=[];ch2:=[‘A’..‘D’];),不能用read(ch1,ch2)。另外要注意,不能写成(ch2:=‘A’..‘D’;)。
4.集合运算的实现
① 集合之间的并、交、差运算
+、*、-
例如:A=[1,3,4],B=[1,2,4]
A+B=[1,2,3,4],A*B=[1,4],A-B=[3]
初学者常犯的一个错误是没有注意到运算符两边都必须是集合。
例如:[1,3,5,7]+[9]=[1,3,5,7,9];② 集合之间的关系运算
相等或不相等:=、
包含或被包含:=、=
例如:
[1,3,5]=[1,5] 结果为false
[1,3][1,5,3] 结果为true
[1,3,5]=[1,5,3,7] 结果为true
[]=[1,5,3] 结果为true
③ in运算
判断元素与集合之间的关系
1 in [1,3,5,7] 结果为true
1 in [2,4,6,8] 结果为false
④ 符号对照表
;5.集合变量的输出:
集合的值不能直接以其书写的形式输出。为了输出必须写一段小程序,这一点类似枚举类型。
例如:用集合表示1~20之间的所有素数并输出。
通过程序已经求出:s:=[2,3,5,7,11,13,17,19];现在要将集合输出,程序如下:
write(‘[’);
for i:=1 to 20 do
if i in s then write(i:6);
writeln(‘]’);;三:应用举例
1.调用随机函数产生10个互不相同的正整数(0≤x≤40),放入集合中并一起输出(5个一行)。
var
a:set of 0..40;
i,m,n:integer;
begin
a:=[];n:=0;
randomize;
repeat
原创力文档


文档评论(0)