Я работаю над простым языком программирования для детей, основанным на Karel .Для управления потоком программ в настоящее время я предоставляю следующие средства (в псевдокоде):
- определение процедур без параметров
- если [не] ВЫРАЖЕНИЕ ВЫРАЖЕНИЯ
- при [нет] ВЫРАЖЕНИЕЗАЯВЛЕНИЕ
У меня нет средств для возврата из процедуры, и Я не предоставляю оператор else
.
Примите следующеекод для примера:
if something
statement1
if not something
statement2
Выполнение кода переходит к if
, выполнение statement1
, если something
- true;затем тестирование, если something
не соответствует действительности (, но состояние программы изменилось! ), затем выполнение statement2
. Это может привести к успешному завершению обоих тестов.
Ограничивает ли это программиста? До сих пор мне удавалось решить все мои примеры задач, просто используя if
... if not
... или сначала if not
, затем if
.
Итак, мой вопрос: Требуется ли добавление оператора else
? Это сделало бы язык немного сложнее с большим количеством ключевых слов.Все ли проблемы, которые можно было бы решить с помощью оператора else
, разрешимы и без него, хотя и более сложными?
Или опущенное выражение else
фактически делает язык более сложным и нелогичным?