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