Информатика и информационные технологии

© М.Е. Крекин, 1999, 2002

Глава 4
Цикл

Одно из ценнейших свойств компьютера, да и любого автомата, -- способность много-много раз без устали повторять одни и те же действия. О том, как описываются в программах повторяющиеся действия, и пойдет речь в этой главе.


Посмотрите на процедуру "квадрат". Вы видите, что в ней четыре раза повторяется пара команд: вперед и направо (точнее, четвертой команды "направо" там нет, но ведь если она там будет -- квадрат все равно будет нарисован). Можно ли не писать несколько раз одно и то же? Да. Для этого в алгоритмах существует особая структура -- цикл16, а в языках программирования соответствующие команды -- команды цикла. Вероятно, наиболее понятный из них -- "N раз", т.е. с его помощью можно выполнить какие-либо действия наперед известное число раз. Например, процедура "квадрат" будет выглядеть вот так:

это квадрат
по
повтори 4 [вп 50 пр 90]
пп
конец

Мы видим, что команда цикла состоит из трех частей: ключевого слова (имени команды) -- повтори, указания на количество повторов (в данном случае -- 4) и списка команд тела цикла. По правилам языка Лого список заключается в квадратные скобки.

повтори <количество_повторений> [<список_команд>]
repeat <количество_повторений> [<список_команд>]

Если тело цикла содержит большое число команд, более наглядной может оказаться вот такая запись:

повтори <количество повторений>
[
<список команд>
]

Как происходит исполнение такой команды? Встретив слово "повтори", компьютер находит указание на число повторов и запоминает его. Затем выполняет команды тела цикла. Весь список! Потом возвращается к его началу -- и снова весь выполняет. При этом подсчитывается, сколько раз было выполнено тело цикла. Как только счетчик повторов сравняется с заданным числом, цикл завершается, и компьютер переходит к выполнению команды, записанной непосредственно после него.

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

Попробуйте определить, что получится, если процедура "квадрат" записана вот так:

это квадрат
по
повтори 4 [вп 50]
повтори 4 [пр 90]
пп
конец

Видите? Те же действия, и повторяются по 4 раза -- а результат совсем не тот.

Тело цикла может состоять из любых команд, в том числе, там могут быть и команды цикла. Получившаяся в таком случае конструкция называется вложенными циклами.

Контрольные вопросы

  1. Что такое цикл? Для чего он используется? Как записывается в языке Лого цикл "N раз"?
  2. Запиши программу "четыре_квадрата" с использованием команды цикла. При этом в качестве вспомогательной процедуры должна использоваться новая процедура "квадрат" (обрати внимание, что ее действие несколько отличается от старой).
  3. Составь программу, аналогичную по результату программе "четыре_квадрата", но без использования вспомогательного алгоритма (используй вложенные циклы).

Примечание

  1. от греч. Kiklos -- круг

[Предыдущая страница][Содержание][Следующая страница]
[Титульная страница][Новости][Макинтош][Информатика и ИТ][Об авторе]
Hosted by uCoz