Главная

Популярная публикация

Научная публикация

Случайная публикация

Обратная связь

ТОР 5 статей:

Методические подходы к анализу финансового состояния предприятия

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

Ценовые и неценовые факторы

Характеристика шлифовальных кругов и ее маркировка

Служебные части речи. Предлог. Союз. Частицы

КАТЕГОРИИ:






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




 

Этот оператор имеет вид:

For i:=V1 To V2 Do A,

где i - переменная перечислимого типа (как правило, целого), V1 и V2 - выражения того же типа, что и i, A - оператор (тело цикла).

Работа оператора. Вычисляются значения выражений V1 и V2. Переменная i (параметр цикла) получает значение V1 и выполняется тело цикла. Затем переменная i получает новое значение, а именно следующее значение того перечислимого типа, к которому она принадлежит (т.е. значение функции Succ(i)). Если это новое значение меньше значения V2, то выполняется еще раз тело цикла. И так до тех пор пока значение i не превысит значение V2, при этом осуществляется выход из цикла.

Следует иметь в виду, что значения выражений V1 и V2 вычисляются один раз при входе в цикл, и даже если некоторые переменные, входящие в V1 или V2, изменяются в теле цикла, это не повлияет на число повторений цикла.

Кроме того, если при входе в цикл значение V1 будет больше значения V2, тело цикла не выполнится ни разу. То есть этот оператор реализует цикл с предусловием.

После выполнения цикла значение параметра цикла имеет неопределенное значение.

Пример циклической программы.

Рассмотрим программу подсчета факториала числа N. По определению факториал числа N равен произведению чисел от 1 до N включительно, т.е. N! = 1*2*3*...*N. Ясно, что для подсчета факториала числа N, надо произвести N умножений. Для этого необходимо использовать цикл.

Приведенная ниже программа реализует алгоритм подсчета факториал, изображенный на рис.5.

 

Program Loop;

{ подсчет факториала числа }

Var i,n, Fact: integer;

{ i -параметр цикла }

Begin

{ввод значения n}

Write(‘n=‘);

Readln(n);

Fact:= 1;

{ цикл для подсчета факториала }

For I:= 1 to n Do

Fact:= Fact * I;

Writeln(‘n! = ‘, Fact)

End.

Другая модификация оператора цикла с параметром имеет вид:

 

For i:= v1 downto v2 Do A;

 

Этот оператор отличается от рассмотренного тем, что выполняется по уменьшению значения параметра, т.е. следующее значение параметра есть Pred(i). Соответственно тело цикла не будет выполнено ни разу, если при входе в цикл v1 < v2.

 






Не нашли, что искали? Воспользуйтесь поиском:

vikidalka.ru - 2015-2024 год. Все права принадлежат их авторам! Нарушение авторских прав | Нарушение персональных данных