我正在开发一种基于Karel的简单儿童编程语言。为了控制程序流程,我目前提供了这些工具(在伪代码中):
- 定义无参数过程
- if [not] 表达式语句
- while [not] 表达式语句
我没有任何方法可以从程序中返回,也没有提供else
声明。
以下面的代码为例:
if something
statement1
if not something
statement2
代码的执行流向if
,执行statement1
ifsomething
为真;然后测试如果something
不是真的(但程序的状态已经改变了!),然后执行statement2
。这可以导致两个测试都成功。
这会限制程序员吗?到目前为止,我已经能够通过使用if
... if not
... 或if not
先使用然后使用来解决我的所有示例问题if
。
所以,我的问题是:
添加else
语句是否必要?拥有更多关键字会使语言变得更加复杂。所有可以用else
语句解决的问题,如果没有它,是否也可以解决,尽管更复杂?
还是省略该else
语句实际上使语言更加复杂和违反直觉?