Повторять, пока не дойдёшь до цели
До сих пор собака знала путь заранее, и вы могли посчитать каждый шаг. Но настоящие программы должны работать с данными, которых автор заранее не знает: навигатор — для любого маршрута, калькулятор — для любого числа. Поэтому в этом упражнении три карты. Вы найдёте их на вкладках над собакой. Когда вы запускаете программу, собака проходит её сначала на первой карте, потом на второй и наконец на третьей, а упражнение засчитывается, только если она дошла до цели на всех трёх.
Пути разной длины, поэтому блок Повторять 3 раз не поможет: число, которое подходит для одной карты, не подойдёт для других. Нужен цикл, который повторяет блоки не заданное число раз, а пока что-то не станет верным. Это новый блок Повторять, пока не дойдёшь до цели:
- Перед каждым проходом собака проверяет, не дошла ли она уже до цели.
- Если дошла, цикл заканчивается, и программа продолжается с блоков под циклом.
- Если нет, она выполняет блоки цикла и возвращается к шагу 1.
У такого цикла нет фиксированного числа проходов. На короткой карте он выполнится три раза, на длинной — десять.
Но будьте осторожны: если блоки в цикле никогда не приведут собаку к цели (например, если она только поворачивается на месте), цикл никогда не закончится. Такой цикл называется бесконечным, и о нём вы узнаете подробнее в конце этого урока.
Задание
- 1
Приведите собаку к цели на всех трёх картах.
- 2
Используйте не больше 2 блоков.