- 1、本文档共23页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
枚举子界集合记录;枚举;枚举的特点:
1、枚举值只能是标识符,而不能是数值常量或字符常量,也不能被赋值。
如:以下两种定义都是错误的。
type
monthtype=(1,2,3,4,5,6,7,8,9,10,11,12);
colortype=(’red’,’yellow’,’blue’,’black’);
2、同一枚举元素不能出现在两个或两个以上的枚举类型定义中。
如:以下定义是错误的,black既属于color1,又属于color2。
type
color1=(red,yellow,blue,black);
color2=(black,green,white);;枚举的特点:
3.1枚举类型属于顺序类型,序号从0开始,可用ord函数求出枚举值的序号。
如:vard:(sun,mon,tue,wed,thu,fri,sat);
c:(red,yellow,blue);
ord(sun)的值为0,ord(fri)的值为5,ord(blue)的值为2。
3.2可用succ和pred函数求出枚举值的后继和前趋。
枚举类型的第一个元素没有前趋,最后一个元素没有后继。
如:pred(tue)的值为mon,succ(red)的值为yellow。
3.3可以作为循环控制变量
如:forc:=redtobluedowrite(ord(c));
将输出4个枚举值的序号:0、1、2。
3.4可以作为case语句的选择表达式
如:casecof
red:writeln(‘thecarisred.’);
yellow:writeln(‘thecarisyellow.’);
blue:writeln(‘thecarisblue.’);
end;;枚举的特点:
4、枚举值不允许直接输入输出,常通过case语句间接地输入输出。输入时,一般先读入序号,通过case语句将枚举值相应地赋给枚举变量;输出时,通过case语句判断枚举类型变量的值,输出相应的字符串。
如:输入颜色的首字母,输出相应的英文单词。
varc:(red,yellow,blue);
ch:char;
begin
read(ch);
casechof
‘r’:c:=red;
‘y’:c:=yellow;
‘b’:c:=blue;
end;
casecof
red:writeln(‘Red’);
yellow:writeln(‘Yellow’);
blue:writeln(‘Blue’);
end;
end.
;例:现有四种水果:苹果、橘子、香蕉、菠萝。从四种水果中任取三种,
不能重复和不计顺序。编程列出一切组合。;var
i,j,k,p,l:integer;
begin
fori:=1to2do
forj:=i+1to3do
fork:=j+1to4do
begin
forl:=1to3do
begin
caselof
1:p:=i;
2:p:=j;
3:p:=k;
end;
casepof
1:write(apple:12);
2:write(orange:12);
3:write(banana:12);
4:write(pineapple:12);
end;
end;
writeln;
end;
end.;【解法二思路简析】:
三重for循环分别设定i,j,k变量的值。由于水果总数是4种,为表达方便,分别设为1号、2号、3号、4号。现在想象,有个大佬(i)带了一个副手(j)和一个小弟(k)来了,大佬的等级观念特强。他先取,他会取什么呢,他只会取1号2号两种之一,为什么不取3号或4号呢,他得留两个给手下啊。〔他真要是取了3号或4号,手下岂不要取前面的1号或2号吗,这一来等级就混乱了。〕所以fori:=1to2就是这意思。现在轮到副手来取了,他会取什么呢?作为大佬的手下,是绝不会越级的,
文档评论(0)