- 1
- 0
- 约5.36千字
- 约 22页
- 2017-04-27 发布于四川
- 举报
Pascal程序设计(第9课)_集合、记录类型
Pascal语言;目前为止,我们已经学习了4个标准类型(实型、整型、字符型、布尔型)和2个用户定义简单类型(枚举型、子界型),1个用户定义结构类型(数组)。本节将研究另一个用户定义结构类型——集合。
Pascal是包括集合数据类型的第一个通用程序设计语言,在Pascal中允许执行通常的集合运算——并、交、差。此外,使用集合成员检查可以方便的知道一个特定的数据项是否是某集合中的项。
在数学中,集合由一对包含集合元素的花括号(如{1,3,5,7,9})表示,由于花括号在Pascal中用于注释,所以我们用方括号代替花括号表示集合。 ;集合类型的一般定义形式如下:
Type
集合标识符=set of 基类型;
Var
集合类型变量表:集合标识符;
可以合并成如下形式:
Var
集合类型变量表:set of 基类型;
例如: type
num=set of char;
var
n:num;
或
var
n: set of char;;集合类型的一般定义形式如下:
Type
集合标识符=set of 基类型;
Var
集合类型变量表:集合标识符;
注意1:基类型必须是有序类型,如整型子界、字符型、布尔型、枚举类型等,而整型、实型、数组等不能作为集合的基类型。但是允许数组的基类型是集合类型。
注意2:为了程序效率,Pascal编译程序都限制了集合类型值的数目,所以整型不能作为集合的基类型,而整型的子界可以作为集合的基类型。;1、赋值空集和全集:
处理集合之前,一般都要给集合变量赋以初值。例如:
Type
month=(jan,feb,mar,apr,may,jun,jul,aug,sep,oct,nov,dec);
monthset=set of month;
Var
winter,summer:monthset;
Begin
winter:=[dec,jan,feb];
summer:=[jun..aug];
说明:定义完枚举类型month之后,用它作为基类型定义了集合类型monthset,然后用集合类型标识符monthset定义了两个集合类型变量winter和summer。;集合的赋值语句形式为:
集合变量:=集合表达式;
比如上面的两个赋值语句:
winter:=[dec,jan,feb];第1句
summer:=[jun..aug]; 第2句
注意:
a、集合表达式可以是集合值,集合值由一对方括号和已定义的集合基类型的值表组成(比如第1句),连续的值可以写成子界的形式(比如第2句)。
b、集合表达式也可以是另一个集合变量或使用Pascal集合运算的两个或多个集合的运算式,但必须赋值相容。
c、集合表达式的所有元素必须包括在左端集合变量的基类型中。
d、任何集合在参加运算之前总是应该初始化的:;我们有时希望使一个集合为空,不包含任何元素。在Pascal中,空集合由一对方括号[ ]表示,如:summer:=[ ]。
如果要将集合初始化为全集,需要包括基类型的所有值。
例:
Type
Letterset=set of ‘a’..’z’;
Var
Vowel,letter:letterset;
Begin
Vowel:=[‘a’,’e’,’i’,’o’,’u’]; {初始化为元音集合}
Letter:=[‘a’,’z’]; {初始化为全集};2、集合的并交差 :集合的并交差要求类型相容的两个集合作为运算对象。
两个集合的并(+):定义为在任意集合中或两个集合中元素的汇集。
如:[1,2,4]+[2,3] 是 [1,2,3,4]
[1,3]+[2,4] 是 [1,2,3,4]
[‘a’,’d’]+[‘c’,’d’,’f’] 是 [‘a’, c’,’d’ ,’f’]
两个集合的交(*):定义为两个集合所共有的所有元素的汇集。
如:[1,2,4]*[2,3] 是 [2]
[1,3]*[2,4] 是 [ ]
[‘a’,’d’]*[‘c’,’d’,’f’] 是 [’d’]
两个集合的差(-):定义为在集合A中,而不在集合B中元素的汇集。
如:[1,2,4]-[2,3] 是 [1,4]
[1,3]-[2,4] 是 [1,3]
[‘a
您可能关注的文档
- oracle实例及数据库启动与关闭.ppt
- oracle基本学习03.ppt
- oracle基本知识点培训.ppt
- ORACLE数据备份和恢复.ppt
- Oracle基础知识第3讲.ppt
- oracle数据库10g_信息集成.ppt
- oracle数据库sql语句对数据进行限定及排序.ppt
- Oracle数据库10g对自我管理数据库进行管理第一部分.ppt
- oracle安装和配置.ppt
- oracle数据库10g_对自我管理数据库进行管理2.ppt
- 2026年国家电投集团黄河上游水电开发有限责任公司招聘备考题库参考答案详解.docx
- 2026年国家电投集团陕西电力有限公司招聘备考题库完整参考答案详解.docx
- 2026年国家电投集团黄河上游水电开发有限责任公司招聘备考题库及一套答案详解.docx
- 2025年餐饮连锁十年竞争格局报告.docx
- 2026年国家电投集团陕西电力有限公司招聘备考题库及答案详解参考.docx
- 2026年国家电投集团陕西电力有限公司招聘备考题库及答案详解1套.docx
- 2023年数学小升初一轮基础复习9:四则运算与运算律.pdf
- 智能制造2025年工业0转型行业报告.docx
- 2026年国家电投集团陕西电力有限公司招聘备考题库有答案详解.docx
- 2026年国家电投集团陕西电力有限公司招聘备考题库及完整答案详解1套.docx
原创力文档

文档评论(0)