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; Мы поможем в написании вашей работы! |
Мы поможем в написании ваших работ!