Студопедия.Орг Главная | Случайная страница | Контакты | Мы поможем в написании вашей работы!  
 

Оператор цикла с параметром



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

Оператор for имеет два варианта записи:

- инкрементный (с возрастанием переменной цикла):

for <переменная цикла>:=<начало> to <конец> do

<оператор>;

- декрементный (с убыванием переменной цикла):

for <переменная цикла>:=<начало> downto <конец> do

<оператор>;

В качестве переменной цикла должна использоваться переменная порядкового типа, объявленная в том блоке, где содержится оператор for. Параметры <начало> и <конец> задаются выражениями, типы которых должны быть совместимы по присваиванию с типом переменной цикла. Когда начинает выполняться оператор for, начальное и конечное значения определяются один раз, и эти значения сохраняются на протяжении всего выполнения оператора for. Оператор, который содержится в теле цикла, выполняется один раз для каждого значения в диапазоне между начальным и конечным значением.

Переменная цикла всегда инициализируется начальным значением.

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

В случае декрементного варианта цикла значение переменной цикла

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

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

Пример 5 Инкрементный вариант

Вычислить сумму первых N членов разложения в ряд экспонен-

ты ex,где N и X – заданные числа соответственно целого и вещественного типа.

Экспонента раскладывается в ряд по формуле

Напишем следующий фрагмент программы:

Sum:=1;

Prod:=1;

Fact:=1; {Начальные значения}

for I:=1 to N-1 do

begin

Fact:=Fact*I; {Факториал I}

Prod:=Prod*X; {X в степени I}

{Сумма (I+1) члена разложения}

Sum:= Sum + Prod/Fact;

end;

Пример 6 Декрементный вариант

Обратный отсчет времени при запуске ракет:

WriteLn(‘Начинается обратный отсчет времени’);

for Seconds:=10 downto 1 do

WriteLn(‘Осталось’,Seconds,’ сек.’);

WriteLn(‘Пуск!’);

Программа выведет числа 10, 9,…, 1 и слово "Пуск".

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

1 Какие операторы цикла применяются в языке Pascal?

2 Что такое переменная цикла, тело цикла, оператор цикла?

3 Формат и действие оператора цикла с пост условием repeat.

4 Формат и действие оператора цикла с предусловием while.

5 Формат и действие оператора цикла с параметром for. Декрементный и инкрементный структуры оператора.





Дата публикования: 2014-12-11; Прочитано: 1401 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!



studopedia.org - Студопедия.Орг - 2014-2024 год. Студопедия не является автором материалов, которые размещены. Но предоставляет возможность бесплатного использования (0.006 с)...