- •Лабораторная работа №4
- •Общие рекомендации
- •Основные типы циклов
- •Проектирование приложения на базе цикла со счетчиком
- •Проектирование приложения на базе условного цикла
- •Таким образом, в цикле с постусловием в отличие от цикла с предусловием, цикл всегда выполняется хотя бы один раз.
- •3. Алгоритм решения задачи
- •4. Структура данных
- •5. Интерфейс проекта и пользователя
- •Пример решения экономической задачи на базе условного цикла
- •1. Постановка задачи
- •2. Экономико-математическая модель
- •Основные свойства элементов управления на форме
- •6. Код проекта
- •В результате выполнения процедуры на форме (в текстовом поле TxtОплата) отобразится сумма к оплате за купленный товар.
- •7. Реализация проекта
- •8. Анализ проекта
- •9. Выполнение программы и анализ полученных результатов
- •Варианты индивидуальных заданий
- •Контрольные вопросы
Проектирование приложения на базе условного цикла
Условный цикл получил свое название в силу того, что при каждом повторении проверяется выполнение условия, и в зависимости от результатов проверки принимается решение о дальнейших действиях.
Циклы типа Do ... Loop используются в тех случаях, когда заранее неизвестно, сколько раз должно быть повторено выполнение блока операторов, составляющего тело цикла. Такой цикл продолжает свою работу до тех пор, пока не будет выполнено определенное условие. Существуют четыре вида циклов Do...Loop, которые различаются типом проверяемого условия и временем выполнения этой проверки.
Цикл с предусловием. Условие выхода из цикла можно поставить в начале цикла, перед повторяющимися действиями. Такой цикл называется циклом с предусловием. Фрагмент блок-схемы, соответствующий этому типу цикла, выглядит следующим образом (рис 4.2):
Рис. 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 наоборот – цикл повторяется, если условие не выполняется.
Рис. 4.3. Блок-схема алгоритма цикла с постусловием
Таким образом, в цикле с постусловием в отличие от цикла с предусловием, цикл всегда выполняется хотя бы один раз.
Следует отметить, что при проектирование приложений на базе условного цикла различают две формы цикла.
Условный цикл с верхним окончанием имеет вид:
Do {While | Until} <условие>
<операторы тела цикла>
Loop
Конструкция {While | Until} означает, что используется только одно из ключевых слов: или While (Пока), или Until (До)
Условный цикл с нижним окончанием имеет вид
Do
<операторы тела цикла>
Loop {While | Until} <условие>,
В такой форме условие проверяется после выполнения операторов тела цикла.
Цикл с нижним окончанием используется тогда, когда операторы тела цикла должны выполняться хотя бы один раз, а с верхним – может быть и ни раза.
Среди операторов тела цикла может встретиться оператор Exit Do, который обеспечивает немедленный выход из цикла (до достижения ключевого слова Loop).
Необходимо отметить, что при использовании циклов с условиями в теле цикла должны быть операторы, изменяющие проверяемое в условии значение переменной, иначе может произойти зацикливание программы – бесконечное повторение цикла.
Для прерывания возникшего по тем или иным причинам зацикливания необходимо нажать сочетание клавиш <CTRL+Break>.
