预览加载中,请您耐心等待几秒...
1/10
2/10
3/10
4/10
5/10
6/10
7/10
8/10
9/10
10/10

亲,该文档总共27页,到这已经超出免费预览范围,如果喜欢就直接下载吧~

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

第八章枚举和子界类型--Pascal可以说明变量值的范围1、Pascal程序结构 program程序名(input,output); LABEL 标号说明; CONST 常量说明; TYPE 类型说明; VAR 变量说明; ....2、每种数据类型规定了它允许的值的集合和运算的集合. 3、标准类型的完整描述定义 TYPE integer=-32768‥32767 VAR a:integer;VAR daymnum:integer; Begin daynum:=36;4、不同数据类型除了允许值的范围和运 算的集合不同外,其程序设计的方法是 相同的. 顺序选择循环函数和过程§8.2枚举类型一、枚举类型的定义 形式1 TYPE <枚举类型标识符>=(<标识符>,<标识符>,…,<标识符>); VAR <枚举类型变量表>:<枚举类型标识符>; 形式2 VAR <枚举类型变量表>:(<标识符>,<标识符>,…,<标识符>);例1type day=(sun,mon,tue,wed,sun); mon=‵mon′; sun=1; daystype= ('sun','mon','tue','wed','thu','fri','sat')形式1 TYPE day=(sun,mon,tue,wed,thu,fri,sat); VAR today,tomorrw:day; 形式2 VARtoday,tomorrow:(sun,mon,tue,wed,thu, fri,sat);二、枚举类型的性质和运算3、枚举变量可用作循环变量,枚举元素可以作为 循环的初值和终值。 fortoday:=suntosatdo fori:=1to7 4、boolean类型也是一种枚举类型 TYPEboolean=(FALSE,TRUE); 5、枚举型变量不允许直接进行READ(读)和WRITE(写) 操作,枚举变量的值只能通过赋值得到.(布尔变 量的值也只能用赋值得到,不允许直接进行READ, 但可用WRITE输出。)枚举类型的输出例8.1从红、黄、兰、白、黑五种颜色中取出三种不同颜色的球的取法.Forloop:=1to3do caseloopof 123 pri:=i;pri:=j;pri:=k; casepriof redyellowbluewhiteblack 打印打印打印打印打印 ‘red’‘yellow’’blue’‘white’‘black’ Writeln;Programball(input,output);forloop:=1to3do begincaseloopof 1:pri:=i; 2:pri:=j; 3:pri:=k; end; casepriof red:write(‘red‘); yellow:write(‘yellow‘); blue:write(‘blue‘); white:write(‘white‘); black:write(‘black‘); end; end; Writeln;§8、3子界类型TYPE day=(sun,mon,tue,wed,thu,fri,sat);枚举 workday=0‥fri; weekend=sat‥sun;3、如果子界类型的基类型是枚举类型,则应在类型 定义中先定义枚举类型。programdate;varyear:0..2010;month,i:1..12;day:1..31;dayth:integer;beginread(month,day,year);dyath:=0;fori:=1tomonth-1docaseiof1,3,5,7,8,10,12:dayth:=dayth+31;2:if((yearmod4=0)and (yearmod100<>0)or(yearmod400=0)thendayth:=dayth+29elsedayth=:=dayth+28;4,6,9,11:dayth:=dayth+30;end;dayth:=dayth+day;writeln(dayth)end.1、凡可以使用子界类型的基类型数据之处,均可 以使用子界类型数据。 2、对基类型的运算规则同样适用于该类型的子界 类型。 3、基类型相同的不同子界类型,可以出现在同一 表达式内,即混合运算。 但要保证: 运算结果不能超过它在类型说明中定义的范围 各变量满足类型相容性 赋值时满足赋值相容性一、三种关系:类型同一类型相容赋值相容 1、类型同一:满足下列条件之一,则类型同一. (类型同一具有对称性) (1)使用同样的类型标识符说明 a:type1;b:type1; (2)类型标识符不同,如t1,t2,但已被一个形如 t1=t2的说明定义为等价. typetype1=1..10;type2