pascal中的case句怎么用?
设K为整型变量,用case语句重写下面的程序段:if(k<=10)and(k>0)thenifk>5thenifk<8thenx:=0elsex:=1elseifk>2t...
设K为整型变量,用case语句重写下面的程序段:
if (k<=10) and (k>0) then
if k>5 then
if k<8 then x:=0
else x:=1
else
if k>2 then x:=3
else x:=4 展开
if (k<=10) and (k>0) then
if k>5 then
if k<8 then x:=0
else x:=1
else
if k>2 then x:=3
else x:=4 展开
展开全部
pascal中的case语句形式如下:
case 表达式 of
常量1:语句1;
常量2:语句2;
……
常量n:语句n;
else 语句 n+1 {可选项}
end;
其中常量1-n为固定值,不能是数据范围,但可以是数据集合。
表达式,仅可以取变量本身,也可以是带运算的变量,也可以是逻辑表达式,但逻辑表达式的话,其下方将只有两种常量取值情况:True和False。
所以根据问题,带范围判断的最好的办法是使用If语句,而不是case语句。
如果一定要强制使用case的话,那么结果是这样的:
case k of
1:x:=4;
2:x:=4;
3:x:=3;
4:x:=3;
5:x:=3;
6:x:=0;
7:x:=0;
8:x:=1;
9:x:=1;
10:x:=1;
end;
从上可见,逻辑并不清楚,而且容易出错。代码也很长,不容易阅读。
假如有一个判断是x>100时,那么可以想象这个case语句需要多长了。
case 表达式 of
常量1:语句1;
常量2:语句2;
……
常量n:语句n;
else 语句 n+1 {可选项}
end;
其中常量1-n为固定值,不能是数据范围,但可以是数据集合。
表达式,仅可以取变量本身,也可以是带运算的变量,也可以是逻辑表达式,但逻辑表达式的话,其下方将只有两种常量取值情况:True和False。
所以根据问题,带范围判断的最好的办法是使用If语句,而不是case语句。
如果一定要强制使用case的话,那么结果是这样的:
case k of
1:x:=4;
2:x:=4;
3:x:=3;
4:x:=3;
5:x:=3;
6:x:=0;
7:x:=0;
8:x:=1;
9:x:=1;
10:x:=1;
end;
从上可见,逻辑并不清楚,而且容易出错。代码也很长,不容易阅读。
假如有一个判断是x>100时,那么可以想象这个case语句需要多长了。
展开全部
正确答案:
case k of
8 or 9 or 10:x:=1;
6 or 7:x:=0;
3 or 4 or 5:x:=3;
1 or 2 x:=4;
end;
case k of
8 or 9 or 10:x:=1;
6 or 7:x:=0;
3 or 4 or 5:x:=3;
1 or 2 x:=4;
end;
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
case语句
case语句是由一个表达式和众多可选择的操作序列组成。运行时,根据表达式的求值结果,在众多的分支中选取一个分支执行。其形式为:
case 表达式 of
常量1:语句1;
常量2:语句2;
……
常量n:语句n;
else 语句 n+1 {可选项}
end;
根据你的题目
case (k<=10) and (k>0) of
8,10:x:=1;
5,8:x:=0;
2:3:x:=3;
else x:=4
end;
如果是作业?以后要自己动脑筋做
我没有学过pascal,看看网上的说明,就会了,很简单的,每种语言都差不多的
case语句是由一个表达式和众多可选择的操作序列组成。运行时,根据表达式的求值结果,在众多的分支中选取一个分支执行。其形式为:
case 表达式 of
常量1:语句1;
常量2:语句2;
……
常量n:语句n;
else 语句 n+1 {可选项}
end;
根据你的题目
case (k<=10) and (k>0) of
8,10:x:=1;
5,8:x:=0;
2:3:x:=3;
else x:=4
end;
如果是作业?以后要自己动脑筋做
我没有学过pascal,看看网上的说明,就会了,很简单的,每种语言都差不多的
本回答被提问者和网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询