ТОР 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.
Не нашли, что искали? Воспользуйтесь поиском:
|