Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Методичка по ГОСТу.doc
Скачиваний:
19
Добавлен:
14.11.2019
Размер:
10.65 Mб
Скачать

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

Оператор While предназначен для реализации цикла с предусловием (рис. 6.2 (а)). Синтаксис его выглядит следующим образом:

While <Условие> Do <Оператор>;

где While, Do - служебные слова;

<Условие> - логическое выражение, операция сравнения или переменная логического типа Boolean;

<Оператор> - оператор, входящий в тело цикла.

Перед началом выполнения тела цикла осуществляется проверка значения условия. Тело цикла с предусловием выполняется, пока <Условие> имеет истинное значение (True). Как только значение условия станет ложным (False), цикл прекращает работу и управление передаётся на оператор, следующий за циклом. Таким образом, если при первом вхождении в цикл значение условия ложно, то тело цикла не выполнится ни одного раза. Следует отметить, что в теле цикла необходимо предусмотреть операторы, выполнение которых может повлиять на изменение значения условия, иначе цикл будет выполняться бесконечно. Цикл While используется, как правило, в тех случаях, когда заранее неизвестно количество повторений тела цикла.

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

Например:

While M<=X Do

Begin

<Оператор 1>;

<Оператор 2>;

<Оператор N>;

End;

Пример 2. Разложить целое число, вводимое с клавиатуры, на простые множители.

Определим переменную X для ввода разлагаемого числа, M - переменная, используемая в качестве делителя.

Program Example_6_2;

Var

X,M: Integer;

Begin

Write ('Введите целое число... ');

ReadLn (X);

WriteLn ('Разложение числа ',x,' на простые множители');

M:=2;

While M<=X Do

If (X Mod M)=0 then

Begin

Write (' * ',M);

X:=X Div M

End

Else

M:=M+1

End.

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

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

Repeat

<Оператор 1>;

<Оператор 2>;

<Оператор N>;

Until <Условие>;

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

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

Пример 3. Вычислить значение суммы .

Program Example_6_3;

Uses Crt; {подключаем модуль}

Var {описываем переменные}

N: Integer;

S: Real;

Begin {Начало программы}

ClrScr; {очищаем экран}

S:=0; {задаем начальное значение}

N:=1; {задаем начальное значение}

Repeat

S:=S+1/N; {Тело цикла}

N:=N+1 {Увеличиваем значение}

Until N>50; {Проверка на условие}

WriteLn ('Результат суммирования... ',S); {Вывод сообщение и результат}

End. {Конец программы}