Циклы

дистанционный курс

Циклы*

 

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


В Скретче есть блоки для 4-х видов циклов: безусловный, со счетчиком, с предусловием и с постусловием.

 

1. Безусловный цикл

Часто используются циклы, выход из которых не предусмотрен логикой программы. Такие циклы называются безусловными или бесконечными. В Скретче есть специальная конструкция для создания бесконечных циклов (Рис. 1).


 

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

Этот блок относится к числу наиболее востребованных. Мы и сами уже не раз использовали его в своей практике.

 

 

Мини - задача1:

Как вы считаете, может ли блок всегда находиться в середине скрипта? Почему?

2. Цикл со счетчиком


Рис. 2. Блок-схема цикла со счетчиком

Блок организует повтор тела цикла указанное число раз. В него встроен счетчик, который при каждом выполнении тела цикла уменьшается на 1 вплоть до 0.

Число повторов может быть задано не только константой, но и любым репортером, включая математические операторы (Рис. 3). Это делает блок чрезвычайно гибким

.

 

Рис.3.Количество повторов может быть задано репортерами


 

Мини-задачи 2

Подсчитайте, сколько раз будет выполнена смена костюма, если известно, что в списке эффект - 21 элемент, а значение переменной баллы - 7 (Рис. 3).

 


Можно организовать выполнение одного цикла внутри другого (например, рис. 4). В этом случае различают внешний и внутренний циклы (Рис. 4).

Рис.4.Внешний и внутренний циклы

 

Мини-задача 3

Как вы думаете, какой счетчик - внешнего (а) или внутренней (б) цикла - меняется медленнее? Сколько раз будет выполнена смена костюма (Рис. 4)?

 

 

3. Цикл с предусловием

 

Рис.5. Блок-схема реализации цикла с предусловием

Как быть, если число повторений цикла неизвестно как, например, в игре «Угадай число»? В этом случае применяют разновидность цикла с предусловием (рис.5) или после условием (Рис. 6.) .

В этой разновидности цикла условие проверяется перед выполнением тела цикла, поэтому цикл не будет выполнен ни разу, если указанное условие не наступит. Вы не получите конфет, не выполнив домашнее задание, если такое условие поставлено взрослыми.

Блок всегда если находится в состоянии ожидания и запускает тело цикла в тот момент, когда соблюдается указанное условие. Цикл будет повторяться до тех пор, пока проверка условия будет давать результат истина. Если условие ложно, действия внутри цикла не выполняются.

Мини-задача 4

Может блок всегда если  находиться внутри скрипта?

4. Цикл с постусловием

Рис. 6. Блок-схема реализации цикла из постусловием


В трактовке условия этого цикла в разных языках есть отличия. Например, в Паскале условие такого цикла работает как условие выхода - цикл завершается, когда условие становится истинным: вы перестаете делать домашнее задание, как только получаете конфеты. 

 

 

 

 

 

 

 

 

 


Дата последнего обновления страницы 13.05.2022
Сайт создан по технологии «Конструктор сайтов e-Publish»
Версия для слабовидящих
Размер шрифта Шрифт Межсимвольный интервал Межстрочный интервал Цветовая схема Изображения