Проектирование приложения на базе условного цикла

Лабораторная работа №4

Тема. Проектирование приложения на базе условного цикла.

Цель: приобрести умения и навыки применения оператора условного цикла с верхним и нижним окончанием.

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

Общие рекомендации

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

Повторение – это многократное выполнение одного или нескольких предписаний алгоритма.

Цикл – это оператор языка программирования, с помощью которого это повторение будет выполнять компьютер – исполнитель алгоритма.

Циклические управляющие структуры используются в случае, когда необходимо повторить выполнение некоторого блока программного кода (тело цикла) несколько раз.

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

VBA предлагает два основных типа структур, организующих циклы (таблица 4.1).

Таблица 4.1

Основные типы циклов

Тип цикла Назначение
Do. . .Loop Пока или до тех пор, пока некоторое условие имеет значение True
For . . .Next Заданное число раз

Если число повторений цикла известно заранее или может быть вычислено, то целесообразно использовать конструкцию For...Next (оператор цикла со счетчиком или с параметром). Если же момент завершения цикла зависит от выполнения некоторого условия, то применяется оператор цикла Do...Loop (оператор условного цикла).

Проектирование приложения на базе цикла со счетчиком

Вычислительный процесс, описываемый алгоритмом на базе цикла с параметром, в программе на VBА представляется оператором цикла со счетчиком. Здесь счетчик – числовая переменная, начальное, конечное значение и шаг – выражения того же типа, что и счетчик.

Оператор цикла For...Next является самым старым и в тоже время основным оператором цикла со счетчиком, реализованным во всех языках программирования.

Синтаксис оператора For...Nextприведен ниже:

For <Имя счётчика> = <Начальное значение>

To <Конечное значение> [Step <Шаг изменения счётчика>]

<Операторы тела цикла>

Next [<Имя счётчика>]

<Операторы после цикла>

Рассмотрим назначение структурных элементов такой конструкции:

For - ключевое слово, означающее начало цикла;

To - ключевое слово, разделяющее начальное и конечное значение счётчика;

Step - ключевое слово, определяющее шаг счётчика;

Next - ключевое слово, при достижении которого значение счётчика изменяется на величину шага, после чего управление опять переходит в начало цикла. В скобках [] – заключены необязательные элементы.

Слова For (для), To (до), Step (шаг), Next (затем) являются зарезервированными.

Перед выполнением цикла переменной счетчику цикла присваивается начальное значение. Операторы, перечисленные в цикле, выполняются до тех пор, пока значение счетчика цикла не превысит конечное значение. При каждом выполнении цикла значение счетчика увеличивается на шаг (приращение). Шаг счётчика обязательно должен быть числом. Если шаг счётчика указан в виде отрицательного числа, то тогда значение счётчика будет с каждым циклом будет уменьшаться. По умолчанию шаг равен 1.

В случае вложенных циклов (в тело цикла входит инструкция цикла) полезно указывать, к какому из них относится команда Next. Это достигается добавлением после слова Next имени параметра цикла.

Процесс выполнения инструкции For… Next для положительного шага иллюстрирует рисунок 4.1.

Проектирование приложения на базе условного цикла - student2.ru

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

В случае необходимости выполнение цикла можно прервать применив оператор немедленного выхода из цикла Exit For

Проектирование приложения на базе условного цикла

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

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

Цикл с предусловием.Условие выхода из цикла можно поставить в начале цикла, перед повторяющимися действиями. Такой цикл называется циклом с предусловием. Фрагмент блок-схемы, соответствующий этому типу цикла, выглядит следующим образом (рис 4.2):

Проектирование приложения на базе условного цикла - student2.ru

Рис. 4.2. Блок-схема алгоритма цикла с предусловием

Синтаксис оператора для рассмотренного случая имеет следующий вид:

Do{While | Until}<Условие>

<Оператор1>

<Оператор2>

<Оператор N>

Loop

Операторы вне тела цикла

где While–пока; Until – до; Loop –петля.

Перед выполнением цикла проверяется некоторое условие. Если условие выполняется, то при использовании оператора While выполняются операторы, составляющие тело цикла,и происходит возврат для повторной проверки условия (оператор Loop). При невыполненииусловия происходит выход из цикла, и выполнятся следующий за ним оператор. При использовании оператора Untilнаоборот – выход из цикла происходит, если условие не выполняется.

Цикл с постусловием. Вначале выполняются операторы, составляющие тело цикла, после чего проверяется некоторое условие. Такой цикл называется циклом с постусловием. Блок-схема алгоритма, соответствующего этому типу цикла приведена на рисунке 4.3.

Синтаксис такого оператора имеет следующий вид:

Do

<Оператор1>

<Оператор2>

<Оператор N>

Loop{While | Until}<Условие>

Операторы вне тела цикла

Если условие выполняется, то при использовании оператора While происходит повторное выполнение цикла. При невыполнении условия происходит выход из цикла, и выполнятся следующий за ним оператор. При использовании оператора Until наоборот – цикл повторяется, если условие не выполняется.

Проектирование приложения на базе условного цикла - student2.ru

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

Наши рекомендации