Top.Mail.Ru

Исполнитель Черепаха. Циклы. Вложенные циклы

При составлении программы рисования квадрата вы заметили, что в ней несколько раз повторялась последовательность команд:

вперед(40); вправо(90);

Хотелось бы сказать исполнителю, чтобы он сделал эти команды ровно 4 раза. При этом будет нарисован квадрат и Черепаха вернется в исходное положение. В программировании в таких случаях используется специальная команда (оператор), которая говорит исполнителю, что какую-то часть программы надо сделать несколько раз.

Цикл — это многократное исполнение последовательности команд.

Правила использования оператора цикла

  1. Цикл повтори используется тогда, когда число повторений цикла заранее известно или может быть вычислено.
  2. Оператор цикла начинается заголовком цикла - ключевым словом повтори, за которым в скобках указывается нужное количество повторений цикла.
  3. Тело цикла начинается открывающей фигурной скобкой { и заканчивается закрывающей }.
  4. В цикле выполняются все операторы, заключенные в скобки.

Для нашей задачи программа с использованием оператора цикла выглядит так:

Квадрат

{

покажись;
опусти_перо;

повтори ( 4 ) /* заголовок цикла */
{/* начало цикла */
вперед ( 40 );
вправо ( 90 );
}/* конец цикла */

}

Вложенные циклы

Рассмотрим более сложную задачу, когда требуется нарисовать цепочку из пяти одинаковых квадратов, разделенных интервалом в 10 шагов:

 

Здесь явно напрашивается использование циклов, поскольку мы видим одинаковые элементы в рисунке и можно сказать исполнителю что-то вроде "Сделай 5 раз следующую операцию: нарисуй квадрат и переместись к левому нижнему углу следующего". С другой стороны, сам квадрат рисуется с помощью цикла. Поэтому один цикл повтори будет расположен внутри другого.
Вложенный цикл — это цикл, расположенный внутри другого цикла

Решение задачи выглядит так:

ПятьКвадратов
  
{
  
покажись;
повтори ( 5 ) /* заголовок цикла */
{ /* начало цикла */
опусти_перо;
повтори ( 4 ) /* заголовок вложенного цикла */
{ /* начало вложенного цикла */
вперед ( 40 );
вправо ( 90 );
}/* конец вложенного цикла */
 
вправо ( 90 );
подними_перо;
вперед ( 50 );
влево ( 90 );
} /* конец цикла */
}

Вложенный цикл рисует квадрат, после Черепашка переходит в точку для рисования следующего квадрата. Это повторяется 5 раз.

Использован материал из книги "Алгоритмы и исполнители", автор Поляков К.