- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
 - 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
 - 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
 - 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
 - 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
 - 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
 - 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
 
                        查看更多
                        
                    
                集合的概念及应用
                    集合的概念及应用 集合的说明 第一种方法: Type  集合类型名=set  of   基类型; Var  集合变量  :  集合类型名; 第二种方法: Var   集合变量 : set  of   基类型; 集合的运算 集合变量的赋值 Var  s:set of 0..255;         ss:set of char; S:=[]      []表示空集 S:=[1,3,5,7,10,30,60]; S:=[1..10,30..50]; Ss:=[‘a’..’f’] Ss:=[‘A’..’F’,’X’..’Z’]; 集合的运算 已知:集合s1=[1..5,7,9..13,20]                     s2=[3..9,12,14..17] 集合的运算 集合的关系运算 课堂练习 已知a=[‘a’,’c’,’f’,’u’] , b=[‘c’..’h’], c=[‘f’,’m’,’p’] 计算下列语句执行后x的值        (1). x:=a+b;                       (2). x:=b*c;    (3). X:=a-c;                        (4). X:=c+a*b;    (5). X:=(c+a)*b;                (6).x:=a-a;    (7). X:=a+a*a-a  ; 课堂练习 随机产生20个互不相同的整数,范围在30-90之间。 Var  jh:set of 0..100;          a:array[1..40] of integer;       x,I:integer; Begin     jh:=[];I:=0;    repeat      x:=30+random(60);      if  not(x in jh) then  课堂练习 用筛选法求2-200之间的素数。 * 注意:集合的基类型: 只能是顺序型的; 且序号           范围只能在0—255之间 Var  s:set of 0..255; Var ss:set of char; Var  s:set of  integer; Var ss:set of  -10..30; [ 1,3,5,7,9] 表示该集合内的元素有1,3,5,7,9 [1..5,7,9] 表示该集合内的元素有1,2,3,4,5,7,9 集合的值与元素在集合内的顺序无关,  在集合中同一元素重复出现,不影响集合的值。 [1,8,5]、[5,8,1]、 [1,5,8]这三个集合的值是相同的 集合的并运算    +     s:=s1+s2     s=[1..17,20] 集合的交运算    *     s:=s1*s2     s=[3..5,7,9,12] 集合的差运算    -     s:=s1-s2     s=[1,2,10,11,13,20] 集合的差运算    -     s:=s2-s1     s=[6,8,14..17] In 运算       格式: 变量  in  集合 例如:        3  in  [1,3..10]  结果为true      ‘a’ in [‘A’..’F’]  结果为false     等于和不等于运算     [1,3,5]=[1,5,3]          true     [1,3,5]=[5,3,2]             false     [1..20][1..21]          true      [1,3,4,6][6,3,4,1]    false 包含和被包含运算:      =                  = [1..3]=[1..20]           true             [1..3]=[3..20]            false [1..20]=[3..10]           true           [1..3]=[3..20]            false 分析: 一、随机数的产生         x:=30+random(60); 二、循环的构成        因为有可能产生相同的随机数,因此需要构造一个已产生数的集合,对于每一个新产生的随机数,都判断一下它是否在这个集合中,如果不在,就记录到数组a中,在就不记录 If  not ( x in jh )  then   begin      I:=I+1;a[I]:=x;jh:=jh+[x];     end;      Begin      I:=I+1;     a[I]:=x;     jh:=jh+[x];   End;  Until  I=40; For I:=
                
原创力文档
                        
                                    

文档评论(0)