While, или цикл с предусловием

Оператор цикла с параметром, его особенности и порядок выполнения. Организация цикла с параметром при шаге изменения параметра цикла не равном 1. Формальная и фактическая переменные цикла. Начальные данные для организации цикла.

Общий вид оператора цикла с параметром:

For параметр:=начальное_значение To конечное_значение Do оператор;

Параметр цикла должен принадлежать к одному из следующих типов: целый, символьный, логический или перечислимый. Того же типа должны быть начальное и конечное значения параметра цикла, которые могут быть выражениями, переменными или константами. В цикле параметр увеличивается на минимальное значение (для целого типа – на единицу.

В качестве оператора тела цикла может использоваться простой (одиночный) или составной операторы.

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

1. Вычисляются (если нужно) начальное и конечное значения параметра и фиксируются;

2. Если нач_значение<= кон_значения, то параметр= нач_значение и выполняется оператор;

3. Значение параметра цикла возрастает (для целого – на единицу);

4. Если значение параметра ¹ кон_значения, то выполняется оператор, и компьютер снова переходит к выполнению п.3;

5. Цикл выполняется последний раз, когда параметр= кон_значению, затем управление передается оператору после цикла.

Например, оператор (где i – переменная целого типа)

for i:=1 to 100 do writeln(i);

выведет на экран целые числа 1,2,3…100.

Оператор (где n- переменная целого типа)

for n:=1 to 9 do a:=10*n;

будет выполняться для значений параметра n=1,2,3,4,5,6,7,8,9. При этом переменная а будет принимать значения а=10,20, 30,40,50,60,70,80,90.

Для того чтобы увидеть эти значения на экране, нужно записать оператор цикла в виде:

 

for n:=1 to 9 do

Begin

a:=10*n;

writeln(n,’ ‘,a);

end;

 

В этом случае, на каждом шаге цикла рассчитывается значение переменной а и выводятся на экран значения переменных n и а. Так как после служебного слова do в счетном цикле должен стоять только один оператор, был использован составной оператор begin… end, внутрь которого и записываются все необходимые операторы. Таким образом, этот цикл начинается служебным словом for и заканчивается служебным словом end;.

Другой пример цикла с параметром m, где m - переменная символьного типа:

for m:=’a’ to ‘z’ do write(‘ ‘, m);

Этот цикл распечатывает через пробел на экране латинские буквы a, b, c, d,…z.

В цикле:

For параметр:=начальное_значение DownTo конечное_значение Do оператор;

происходит уменьшение значение переменной цикла на единицу.

Важно понимать, что оператор цикла сам организует изменение параметра, и для целого параметра это изменение всегда равно 1. Попытка изменить значение параметра внутри цикла приводит к трудно распознаваемым логическим ошибкам, поэтому категорически не рекомендуется! Если по условию задачи необходимо изменять значения с другим шагом h, опишите другую переменную x и изменяйте её на каждом шаге цикла, например, с помощью оператора x:=x+h; или так, как показано ниже, в примере №4.

 

 


Итерационные циклы. Итерация. Отличие итерационных циклов от цикла с параметром. Блок-схема и порядок выполнения операторов Repeat и While. Сходство и различие операторов Repeat и While. Начальные данные, необходимые для организации циклов.

 

Итерационный цикл оператор цикла, для которого число повторений тела цикла заранее неизвестно. Витерационных циклах на каждом шаге вычислений происходит последовательное приближение и проверкаусловия достижения искомого результата. Выход из итерационного цикла осуществляется в случаевыполнения заданного условия. Различают итерационные циклы с предусловиями и с постусловиями.

Итерация в программировании — организация обработки данных, при которой действия повторяются многократно, не приводя при этом к вызовам самих себя (в отличие от рекурсии).

Когда какое-то действие необходимо повторить большое количество раз, в программировании используются циклы. Например, нужно вывести 200 раз на экран текст «Hello, World!». Вместо двухсоткратного повторения одной и той же команды вывода текста часто создается цикл, который повторяется 200 раз и 200 раз выполняет то, что написано в теле цикла. Один шаг цикла и называется итерацией.

Особенностью итерационного цикла является то, что число повторений операторов тела цикла заранее неизвестно. Для его организации используется цикл типа пока . Выход из итерационного цикла осуществляется в случае выполнения заданного условия.

На каждом шаге вычислений происходит последовательное приближение к искомому результату и проверка условия достижения последнего.

Пример.Составить алгоритм вычисления бесконечной суммы


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

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

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

Решая эту задачу "в лоб" путем вычисления на каждом i-ом шаге частичной суммы

S:=S + ((-1)**(i-1)) * (x**i) / i ,


мы получим очень неэффективный алгоритм, требующий выполнения большого числа операций. Гораздо лучше организовать вычисления следующим образом: если обозначить числитель какого-либо слагаемого буквой р , то у следующего слагаемого числитель будет равен —р*х (знак минус обеспечивает чередование знаков слагаемых), а само слагаемое m будет равно p/i , где i — номер слагаемого.

Алгоритм, в состав которого входит итерационный цикл, называется итеpационным алгоpитмом. Итерационные алгоритмы используются при реализации итерационных численных методов.

В итерационных алгоритмах необходимо обеспечить обязательное достижение условия выхода из цикла (сходимость итерационного процесса). В противном случае произойдет "зацикливание" алгоритма, т.е. не будет выполняться основное свойство алгоритма — результативность.

Любой цикл состоит из тела и заголовка. Тело цикла — это набор повторяющихся операторов, а условие — это логическое выражение, в зависимости от результата которого и происходит повторное выполнение цикла.

 

While, или цикл с предусловием

Как вы, наверное, уже поняли из названия, while — это цикл, в котором условие стоит перед телом. Причем тело цикла выполняется тогда и только тогда, когда условие true; как только условие становится false, выполнение цикла прекращается.

While имеет формат:

while < условие> do<оператор 1>; {Пока … делай ….}

Данный цикл подходит только для одного оператора, если же вы хотите использовать несколько операторов в своем коде, вам следует заключить их в операторные скобки —beginи end; .

 


Дата добавления: 2018-02-28; просмотров: 562; Мы поможем в написании вашей работы!

Поделиться с друзьями:




Мы поможем в написании ваших работ!