Предмет: Информатика,
автор: ssssnastusha
Робот где-то в прямоугольнике. Он должен закрасить исходную клетку, если выполняются два условия:
- у клетки, расположенной над исходной, есть стена сверху;
- у клетки, расположенной под исходной, есть стена снизу.
Приложения:
Ziorar:
Шагните в верхнюю клетку, проверьте стену сверху. Если есть, то шагайте в нижнюю клетку, проверьте стену снизу. Если есть, то шагните в исходную клетку и закрастьте её. Что тут ещё можно сказать.
Вы решили? Можете помочь, голову ломаем, всё неправильно
Я не знаю какая там система команд (то ли какой то общий язык программирования с дополн.командами исполнителя, то ли свой какой то специфический язык). Но, логику решения я примерно рассказал выше.
я решила почти для трех роботов фиил сел ,а для четвертого не знаю
Это хорошо, что самостоятельно стараетесь разобраться! Поймёте логику работы программ- и сможете писать свои, сами удивитесь своим возможностям и будете удивлять одноклассников. Так держать!
Ответы
Автор ответа:
6
Ответ:
move_down()
if wall_from_down():
move_up()
fill_cell()
elif free_from_down():
move_up()
move_up()
if wall_from_up():
move_down()
fill_cell()
elif cell_is_clean():
move_down()
Объяснение:
Просто вставь код
Автор, вы решили?
Можете помочь
Умоляю
Или может вам объяснили
Если там на Питоне то попробуйте эту прогу:
НО! Исправьте (но только в начале всех строк!) символы "_" на пробелы. (просто тут в комментах удаляются все начальные пробелы, а они важны в Питоне, и их количество важно!)
move_up()
if wall_from_up():
____move_down()
____move_down()
____if wall_from_down():
________move_up()
________fill_cell()
____else:
________move_up()
else:
____move_down()
НО! Исправьте (но только в начале всех строк!) символы "_" на пробелы. (просто тут в комментах удаляются все начальные пробелы, а они важны в Питоне, и их количество важно!)
move_up()
if wall_from_up():
____move_down()
____move_down()
____if wall_from_down():
________move_up()
________fill_cell()
____else:
________move_up()
else:
____move_down()
По сути, последние четыре строки можно и не писать- они возвращают робота на исходную клетку если нет одной из стенок (так по моему лучше, хотя это больше для красоты- ведь так робот вернётся на исходную клетку в любом из вариантов).
Главное, сколько "_" в начале строк- столько вместо них должно быть пробелов (там где то 4, а где то 8). Но не трогайте эти символы "_" между словами- там их не надо заменять пробелами!
а мы свел еще не решали
Видимо пришла пора решать. wall -это стена, используется в команде проверки наличия стены (а в задаче как раз надо проверить наличие двух стен). Можно конечно извернуться, и проверить отсутствие стены. Ладно, так и сделаю пожалуй.
Вот, версия с проверкой отсутствия стенок (в начале строк каждый символ "_" замените на пробел):
move_up()
if free_from_up():
____move_down()
else:
____move_down()
____move_down()
____if free_from_down():
________move_up()
____else:
________move_up()
________fill_cell()
move_up()
if free_from_up():
____move_down()
else:
____move_down()
____move_down()
____if free_from_down():
________move_up()
____else:
________move_up()
________fill_cell()
Похожие вопросы
Предмет: Другие предметы,
автор: аминаягцдина
Предмет: Русский язык,
автор: MrsKamYl
Предмет: Русский язык,
автор: джело2
Предмет: Литература,
автор: Pozzis12321