Разработка программ с циклами. Циклы с постусловием и предусловием. Операторы continue и break

Страницы работы

Содержание работы

Лабораторная работа № 3

Разработка программ  с циклами

1. Введение

Цикл – это структурная конструкция, в которой некоторые алгоритмические действия - тело цикла (ТЦ) – неоднократно повторяются. В программировании используются три основные конструкции циклов: цикл по переменной (цикл-модификация) (рис. 3.1), цикл с постусловием (рис. 3.2) и цикл с предусловием (рис. 3.3). В языке С/С++ они поддерживаются операторами for, do-while и while, соответственно.

              

Рис. 3.1. Цикл по переменной          Рис. 3.2. Цикл с постусловием

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

2. Цикл по переменной

Цикл по переменной (цикл-модификация) наиболее часто используется в программах. Его работа основана на том, что управляющая переменная цикла i пробегает значения от начального J до конечного Kс шагом L и для каждого из них исполняется тело цикла ТЦ. В языке С/С++ в качестве управляющей может быть использована переменная как целого, так  и вещественного типа. Параметры цикла J , Kи Lпредставляют собой выражения соответствующего типа, в частном случае, переменные или константы.

Цикл по переменной в С/С++ поддерживается оператором for, который имеет следующий синтаксис:

for (<инициализация>; <условие повторения>; <модификация>)

<оператор>;

Элементы этого оператора следующие:

инициализация – выражение, присваивающее начальное значение переменной цикла. Если переменная ранее не описана, описывается и ее тип. Например: i=1;          intk=i+j; doublex=Xmin; и т.п.

условие повторения– логическое выражение, при истинности которого тело цикла повторяется. Например,   i<=n;     k+i>100-(i+j);   x<=Xmax;

модификация - выражение, модифицирующее значение управляющей переменной. Например,      i++     i+=2     x+=Xstp.

оператор - оператор языка С, реализующий тело цикла. Если тело цикла выражается несколькими операторами, то используется составной оператор (блок), объединенный фигурными скобками.

Примеры записи оператора for:

for (i=1; i<=n; i++) cout<<i<<endl;

for (x=Xmin; x<=Xmax; x+=Xstp)

{

  ...

  ...

  }

Язык С, в отличие от других, позволяет внутри тела цикла изменять значение управляющей переменной, но делать это категорически не рекомендуется. Ее значение должно управляться оператором for, а внутри тела цикла оно может только использоваться.

В оператореforможно задать одновременное (синхронное) изменение двух или более переменных, например,

for (i=1, j=n; i<=n; i++, j--) {...}

В этом случае инициализирующие и модифицирующие выражения для каждой из переменных разделяются запятыми и исполняются слева направо (операция запятая). В данном примере тело цикла будет исполняться n раз, переменная i будет пробегать значения от 1 до n,а переменная j– от n до 1.

Этот цикл не следует путать с циклом по j, вложенным в цикл по i,  в котором тело цикла выполняется n2 раз:

for (i=1; i<=n; i++)

  for (j=1; j<=n; j++)

{

     ...

     }

...

3. Циклы с постусловием и предусловием

Цикл с пост-(после-)условием в языке C/C++ поддерживается оператором do-while. Его синтаксис имеет вид:

do <оператор> while (<логическое выражение>);

Оператор тела цикла выполняется до тех пор, пока логическое выражение имеет значение «Истина».  Если тело цикла включает несколько операторов, то они объединяются фигурными скобками в блок:

...

do

  {

  ...

  ...

  ...

  }

while (<логическое выражение>);

Тело цикла при этом рекомендуется выделить (форматировать) двумя отступами.

Цикл с предусловием в языке C/C++ поддерживается оператором while. Его синтаксис имеет вид:

while (<логическое выражение>) <оператор>;

Оператор тела цикла также выполняется, пока логическое выражение имеет значение «Истина».  Тело цикла, состоящее из нескольких операторов, объединяется фигурными скобками.

Операторы do-while и while являются взаимозаменяемыми. Необходимо только помнить, что логическое выражение в операторе while вычисляется до выполнения тела цикла и предусмотреть это при первоначальном входе в  цикл.

В качестве логического выражения в операторах do-while и whileиногда используются числовые выражения целого типа. Так цикл

...

i=n;

while (i--)

  {

  ...

  ...

  ...

  }

...

осуществляет обратный цикл по переменной iот n до 0. Пока i>0 выражение в скобках трактуется как «Истина» и тело цикла выполняется. Когда i станет равным 0 («Ложь»), произойдет выход из цикла.

4. Операторы continue и break

Оператор continue позволяет завершить тело цикла, не исполняя его окончание, при выполнении некоторого условия (истинности логического выражения) и перейти к новому повторению тела цикла. Тем самым реализуется структурная конструкция, показанная на рис. 3.4  для цикла for.

Оператор break завершает весь цикл при выполнении некоторого условия (истинности логического выражения) и передает управление следующему за циклом оператору. На рис. 3.5 показана получающаяся структурная конструкция при использовании цикла с постусловием.

Похожие материалы

Информация о работе

Предмет:
Информатика
Тип:
Методические указания и пособия
Размер файла:
524 Kb
Скачали:
0