1/3
“ELSE”与“ENDIF”的正确使用
条件语句的一般格式是IFTHEN或是IFTHEN
ELSEENDIF,
ENDIF
可以看出:在条件语句中有时会不用“ELSE”,但“ENDIF”是一定要用的.对于
“ELSE”与“ENDIF”的正确使用是用好条件语句的前提.本来这两种形式都不太
复杂,用起来也很方便,但当把它与其它语句混在一起使用时,就不是那么简单
了,“千难万险”将由此滋生.请看:
例编写一个程序,输入任意一个大于1的正整数n,对n是否为质数作出
判断.
第一险:“ELSE”的用法不当.根据题目要求,先画出程序框图,结合框图
开始编写程序,前一部分的编写很顺利,程序如下:
INPUT“n”;n
flag
IF2nTHEN
2d
WHILE1dnANDflag1
IFnMOD0dTHEN
flag0
ELSE
1dd
ENDIF
WEND
当“WEND”写完后,下一步该写什么呢?很多人会认为要写“ELSE”;其实,
是错的,从前面程序语句的意义上分析可以看出这一点:如果2n,那么,
再用“ELSE”,就是说1n≤
时,执行下面语句.事实上,是对一个大于2的数n进
行了判断后,要输出结果.显然,不能用“ELSE”.
2/3
第二险:“ENDIF”放置不当,下面是某同学对上述问题编写的程序:
INPUT“
n
”;
n
flag
IF2nTHEN
2d
WHILE1dnANDflag1
IFnMOD0dTHEN
flag0
ELSE
1dd
ENDIF
WEND
ELSE
IFflag1THEN
PRINTn;“是质数”
ELSE
PRINTn;“不是质数”
ENDIF
ENDIF
END
在上述程序中共用了三次“ENDIF”,按从上至下的顺序看,第一次“ENDIF”
是终结“IFnMOD0dTHEN”的;第二个“ENDIF”是终结“IFflag1
THEN”的;第三个呢?自然是终结“IFn>2THEN”;前两个没问题,最后一个
是有问题的.由第一险我们已经看出了“WEND”(在第一险中的程序)写完后,
不能用“ELSE”.应该用什么?其实,要用“ENDIF”来终结上述的条件语句.而
把它放置在最后“END”的上面是不妥的.
排险措施:对于条件语句中的“ELSE”与“ENDIF”要根据语句前后的意思,
深入思考、仔细分析,还要真正领会“ELSE”与“ENDIF”的文字含义,这样再用
3/3
就万无一失了.
本题的正确程序:
INPUT“
n
”;
n
flag
IF2nTHEN
2d
WHILE1dnANDflag1
IFnMOD0dTHEN
flag0
ELSE
1dd
ENDIF
WEND
ENDIF
IFflag1THEN
PRINTn;“是质数”
ELSE
PRINTn;“不是质数”
ENDIF
END
本文发布于:2022-11-28 07:58:45,感谢您对本站的认可!
本文链接:http://www.wtabcd.cn/fanwen/fan/88/37919.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
留言与评论(共有 0 条评论) |