资源描述:
《集合的概念及应用》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、集合的概念及应用集合的说明第一种方法:Type<集合类型名>=setof<基类型>;Var<集合变量>:<集合类型名>;第二种方法:Var<集合变量>:setof<基类型>;注意:集合的基类型:只能是顺序型的;且序号范围只能在0—255之间Vars:setof0..255;Varss:setofchar;Vars:setofinteger;Varss:setof-10..30;集合的运算集合变量的赋值Vars:setof0..255;ss:setofchar;S:=[][]表示空集S:=[1,3,5,7,10,30,60];S:=[1..10,30..50
2、];Ss:=[‘a’..’f’]Ss:=[‘A’..’F’,’X’..’Z’];[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]这三个集合的值是相同的已知:集合s1=[1..5,7,9..13,20]s2=[3..9,12,14..17]集合的运算集合的并运算+s:=s1+s2s=[1..17,20]集合的交运算*s:=s1*s2s=[3..5,7,9,12]
3、集合的差运算-s:=s1-s2s=[1,2,10,11,13,20]集合的差运算-s:=s2-s1s=[6,8,14..17]集合的关系运算集合的运算In运算格式:<变量>in<集合>例如:3in[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
4、[1..20]>=[3..10]true[1..3]>=[3..20]false课堂练习已知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之间。分析:一、随机数的产生x:=30+random(60);二、循环的构成因为有可能产生相同的随机数,因此需要构造一个已
5、产生数的集合,对于每一个新产生的随机数,都判断一下它是否在这个集合中,如果不在,就记录到数组a中,在就不记录Ifnot(xinjh)thenbeginI:=I+1;a[I]:=x;jh:=jh+[x];end;Varjh:setof0..100;a:array[1..40]ofinteger;x,I:integer;Beginjh:=[];I:=0;repeatx:=30+random(60);ifnot(xinjh)thenBeginI:=I+1;a[I]:=x;jh:=jh+[x];End;UntilI=40;ForI:=1to40dowrite(a[
6、I]:4);Writeln;End.课堂练习用筛选法求2-200之间的素数。分析:所谓筛选法是指,先将要筛选的数排成一排,先取出2,依次去除其余的数,除尽的筛掉;然后取出3,同上操作;以此类推,直到所取之数超过原先最大数的一般即可,剩余的没有被筛掉的数,就是问题的解234567891011121314151617181920212223242526272829303132333435363738394041