Ткм теория и практика формообразования заготовок


Виды циклов Безусловные циклы


Download 1.28 Mb.
bet33/65
Sana20.12.2022
Hajmi1.28 Mb.
#1034729
1   ...   29   30   31   32   33   34   35   36   ...   65
Bog'liq
госник 150900 шпоры2

Виды циклов
Безусловные циклы - циклы, выход из которых не предусмотрен логикой программы. Специальных синтаксических средств для создания бесконечных циклов, ввиду их нетипичности, языки программирования не предусматривают, поэтому такие циклы создаются с помощью конструкций, предназначенных для создания обычных (или условных) циклов. Для обеспечения бесконечного повторения проверка условия в таком цикле либо отсутствует, либо заменяется константным значением.
Цикл с предусловием - цикл, который выполняется пока истинно некоторое условие, указанное перед его началом. Это условие проверяется до выполнения тела цикла, поэтому тело может быть не выполнено ни разу. В большинстве процедурных языков программирования реализуется оператором while.
На языке Си:
while(<условие>)
{
<тело цикла>
}
Цикл с постусловием — цикл, в котором условие проверяется после выполнения тела цикла. Отсюда следует, что тело всегда выполняется хотя бы один раз.
На языке Си:
do
{
<тело цикла>
}
while(<условие>)


13 Рекурсивный вычислительный процесс.
Рекурсия-процедура, вызывающая сама себя. Когда функция A в своем теле вызывает только одну рекурсивную функцию (саму себя), то это простая рекурсии. Косвенной рекурсия - это явление, когда рекурсивные функции вызывают друг друга (например, функция А вызывает B, а функция B вызывает A).

Прямая рекурсия

Косвенная рекурсия

void A(){
Операторы;
A();
Операторы;
}

void A(){
Операторы;
B();
Операторы;
}
void B(){
Операторы;
A();
Операторы;
}

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

Download 1.28 Mb.

Do'stlaringiz bilan baham:
1   ...   29   30   31   32   33   34   35   36   ...   65




Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©fayllar.org 2024
ma'muriyatiga murojaat qiling