Главная | Обратная связь | Поможем написать вашу работу!
МегаЛекции

Циклические вычислительные процессы.




Лекция 6

Циклические вычислительные процессы.

Цели:

ü познакомиться с понятием циклического вычислительного процесса и с формами их описания;

ü изучить операторы языка С++, позволяющие реализовывать циклические вычислительные алгоритмы;

ü получить представление о типах последовательностей и способах их обработки;

ü освоить методику написания циклических вычислительных алгоритмов, перевода таких алгоритмов на язык программирования С++ и разработки соответствующего проекта в среде Visual C++ 6. 0.

Алгоритмические циклические структуры предназначены для решения задач, которые подразумевают выполнение одного и того же набора действий определённое количество раз. Выделяют три типа циклов: с параметром, с предусловием и с постусловием. Каждый цикл имеет заголовок и тело цикла.

 

1. Типы циклов

 

Цикл с параметром

На псевдокоде цикл записывается следующим образом:

для i=< начальное_значение> до < конечное_значение> шаг < размер_шага>

   < операторы_тела_цикла>

все_для i

Параметр цикла i показывает, сколько раз должны быть выполнены операторы тела цикла; < начальное_значение> – значение, с которого начинает изменяться параметр цикла; < конечное_значение> – значение, до которого изменяется параметр цикла; < размер_шага> – значение, показывающее, на сколько изменяется параметр цикла после выполнения всех операторов тела цикла.

Среди операторов тела цикла могут быть условные операторы, циклы и другие операторы.

Работа цикла с параметром организована по схеме: параметру присваивается < начальное_значение>, затем проверяется, больше или нет значение параметра значения < конечное_значение>. Если нет, то выполняются операторы тела цикла. В противном случае цикл завершает свою работу. После очередного выполнения операторов тела цикла значение параметра цикла изменяется на < размер_шага>. Затем опять проверяется, больше или нет значение параметра значения < конечное_значение>. Если нет, то выполняется тело цикла. В противном случае цикл завершает свою работу и т. д.

Цикл с предусловием

На псевдокоде цикл записывается следующим образом:

пока < условие>

      < операторы_тела_цикла>

все_цикл

Определение < условие> аналогично его определению в разделе « Разветвляющиеся вычислительные процессы». Тело цикла выполняется до тех пор, пока < условие> истинно. Когда условие станет ложным, выполняется строка, следующая за циклом.

Работа цикла с предусловием:

1. Проверяется истинность выражения < условие>. Если < условие> истинно, то выполняются операторы тела цикла.

2. После того как выполнился последний оператор цикла, управление передаётся заголовку цикла. Переход на пункт 1.

3. Если условие в заголовке ложно, то цикл завершает свою работу.

Используя оператор цикла с предусловием, необходимо следить за тем, чтобы операторы тела цикла воздействовали на условие, либо за тем, чтобы оно ещё каким-то образом изменялось во время вычислений в теле цикла. Для этого часто используют унарные операции ++ или – для изменения параметров, входящих в < условие>. Только при изменении условия можно избежать зацикливания.

Цикл с постусловием

На псевдокоде цикл записывается следующим образом:

цикл

      < операторы_тела_цикла>

пока < условие>

Правила работы цикла с постусловием:

1. Выполняется тело цикла.

2. Проверяется истинность < условие>: если < условие> истинно, то выполняется тело цикла. Если оно ложно, то цикл завершает свою работу.

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

 

2. Операторы циклов в С++

Цикл с параметром for()

Стандартный вид цикла:

for(< список1>; < список2>; < список3> )

{

  < операторы_тела_цикла>

}

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

 < список1> содержит операторы, задающие начальное значение параметру или параметрам цикла, и операторы, задающие начальные значения переменным, которые участвуют в работе цикла; < список2> – условие, определяющее, в какой момент цикл должен завершить работу; < список3> – операторы, позволяющее изменить значение параметра цикла.

Эти три списка должны быть разделены точкой с запятой.

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

1. Выполняется < список1> один раз за всё время работы цикла.

2. Выполняется < список2>. Если условие окончания работы цикла ложно, то цикл завершает свою работу. В противном случае выполняются операторы тела цикла.

3. После выполнения последнего оператора тела цикла выполняется < список3>, затем происходит переход на пункт 2.

4. Если среди операторов тела цикла встретится оператор continue, то происходит переход на пункт 3.

5. Если среди операторов тела цикла встретится оператор break, то произойдёт выход из цикла и управление передастся оператору, следующему за циклом.

Цикл for() работает до тех пор, пока условие истинно. Когда условие становится ложным, выполнение программы продолжается с оператора, следующего за циклом. В языке С++ в качестве параметра может выступать переменная либо арифметического, либо символьного типа. Например, фрагмент программы позволяет распечатать весь латинский алфавит в одной строке:

char ch;

for (ch=’a’; ch< =’z’; ch++)

{

printf (" %c ", ch);

}

Поделиться:





Воспользуйтесь поиском по сайту:



©2015 - 2024 megalektsii.ru Все авторские права принадлежат авторам лекционных материалов. Обратная связь с нами...