高中信息技术竞赛班第二阶段培训集合与记录类型的综合应用教案.docVIP

  • 0
  • 0
  • 约1.1万字
  • 约 11页
  • 2026-01-28 发布于江苏
  • 举报

高中信息技术竞赛班第二阶段培训集合与记录类型的综合应用教案.doc

§6集合与记录类型

§6.1集合类型

§6.1.1

集合是同类型对象的一个聚集,它是指同类型对象聚集在一起构成的数据结构。集合的每一个对象称为集合的元素。集合元素必须是有序简朴数据类型,集合元素的类型称为集合的基类型。集合的通常形式为:

TYPE类型标记符=setof基类型;

基类型可以是整型、字符型、布尔型、枚举型、子界型等,但不能是实型或结构类型。

例如:

TYPEletter=setof‘A’..‘Z’;

varch1,ch2:letter;

也可以直接写成:

varch1,ch2:setof‘A’..‘Z’;

在Pascal中集合是用一组括在方括号中的元素来表达,元素之间用逗号分隔。如:

[A,B,C,D]是四个枚举量的集合

[1..20]表达1到20的全部整数的集合

[‘0’

[]表达空集

一个集合类型变量的取值,可以是基类型中全部元素按不一样的组合而构成的子集。例如,上面阐明变量ch1的类型是letter,它可以是以下的组合:

[‘A’..‘Z’]全集

[‘A’,‘B’,‘Q’]任一子集

[‘A’..‘C’,‘X’..‘Z’]

[‘A’]单元素集

[]空集

空集与全部的集合类型都兼容。

§6.1.2

ch1:=[[‘A’..‘C’]];

是合法的集合赋值。对集合除可以进行赋值运算外,还可以进行如下运算:

·交(*)运算:两集合之交S1*S2为一集合,所得元素由S1、S2中相同的元素构成。

如:[0..7]*[0..4]=[0..4]

·并(+)运算:两集合之并S1+S2为一集合,所得元素由S1、S2中全部相同的元素构成。如:[0..7]+[0..4]=[0..7]

[0,1]+[1,4,6]=[0,1,4,6]

·差(-)运算:两集合之差S1-S2为一集合,所得元素由只存在于S1而不在S2的那些元素构成。如:[0..7]-[0..4]=[5..7]

·比较运算:集合可进行“=”、“=”、“=”、“”等比较运算:

等于“=”——S1=S2,若S1与S2中全部元素均相同,成果为true,不然为false。

如:[0..4]=[0..4]成果为true

[0..7]=[0..4]成果为false

不等于“”——S1S2,S1与S2中至少有一个元素不一样,

如:[0..7][0..4]成果为true

[0..4][0..4]成果为false

包含“=”——S1=S2表达S2是S1的子集。

被包含“=”——S1=S2表达S1是S2的子集。

如:[0..7]=[0..4]成果为true

[0..7]=[0..4]成果为false

[]=[0..4]成果为true

·检验(in)运算:用来检验某一元素是否属于某一集合。如:

1in[0..4]成果为true

5in[]成果为false

‘A’in[‘A’..‘Z’]成果为true

§6.1.3

集合体现式是由集合常数、集合变量、集合结构符和集合运算符构成。如:

k:=5;

ch2:=[1,2,3,4]+[k];

运营之后,ch2中就会有5个元素:1、2、3、4、5。

注意:[1..5]与[1,2,3,4,5]两种体现式是等价的。

集合运算相当快,在程序中常用集合体现式来描述复杂的测试。

例如,条件体现式:

(ch=’T’)or(ch=’u’)or(ch=’R’)or(ch=’B’)

可用集合体现式表达为:

chin[‘T’,‘u’,‘R’,‘B’]

又如:if(ch=20)and(ch=50)then

文档评论(0)

1亿VIP精品文档

相关文档