
попытайтесь заменить полную форму ветвления на два неполных ветвления: если слева стена то вправо
иначе влево все всегда ли можно сделать такую замену

Ответы на вопрос

Ответ:
хотелось бы контекст увидеть, но заменить можно с такой идеей:
у нас я так понял так или иначе выполняется элементДвижения (влево или вправо). давайте я создам метод с типом возврата элементДвижения
и тогда в нем после выполнения первого неполного ветвления мы уже что-то вернем и выйдем из метода и на второе ветвление (которое тогда не очень-то и нужно мы попадаем как в ветку иначе) ну вот такая идея...
было
if(слева стена)
{
вправо;
}
else
{
влево;
}
стало
МойМетод(); // вызываю метод
// а вот и сам метод
элементДвижения МойМетод()
{
if(слева стена)
{
return вправо;
}
if(слева не стена) // вообще можно не писать
{
return влево;
}
}



Да, часто полные формы ветвления можно заменить на два неполных ветвления. В данном случае, вы можете заменить полное ветвление на два неполных следующим образом:
Исходное полное ветвление:
scssif (естьСлеваСтена) { двигатьсяВправо(); } else { двигатьсяВлево(); }
Замена на два неполных ветвления:
scssif (!естьСлеваСтена) { двигатьсяВлево(); } else { двигатьсяВправо(); }
Обратите внимание, что в обоих вариантах поведение остается одинаковым: если есть стена слева, то двигаемся вправо, иначе двигаемся влево. Разница заключается лишь в структуре кода.


Похожие вопросы
Топ вопросов за вчера в категории Информатика
Последние заданные вопросы в категории Информатика
-
Математика
-
Литература
-
Алгебра
-
Русский язык
-
Геометрия
-
Английский язык
-
Химия
-
Физика
-
Биология
-
Другие предметы
-
История
-
Обществознание
-
Окружающий мир
-
География
-
Українська мова
-
Информатика
-
Українська література
-
Қазақ тiлi
-
Экономика
-
Музыка
-
Право
-
Беларуская мова
-
Французский язык
-
Немецкий язык
-
МХК
-
ОБЖ
-
Психология
-
Физкультура и спорт
-
Астрономия
-
Кыргыз тили
-
Оʻzbek tili