Void prov (int a, double b)

{

Double c;

if (a<3)

Return;

else if (b>10)

Return;

Else

{

c=a+b;

if ((2*c-b)==11)

Return;

}

}

В этом примере оператор return используется для выхода из функции в случае выполнения одного из проверяемых условий.

 

Оператор goto

Использование оператора безусловного перехода goto в практике программирования на языке C/C++ настоятельно не рекомендуется, так как он затрудняет понимание программ и возможность их модификаций.

Операторы цикла

Оператор for

Оператор for – это наиболее общий способ организации цикла. Он имеет следующий формат:

For ( выражение 1 ; выражение 2 ; выражение 3 )

Тело

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

Выражение 2 - это выражение, определяющее условие, при котором тело цикла будет выполняться.

Выражение 3 - определяет изменение переменных, управляющих циклом после каждого выполнения тела цикла.

Схема выполнения оператора for:

- вычисляется выражение 1;

- вычисляется выражение 2;

- если значение выражения 2 отлично от нуля (истина), выполняется тело цикла, вычисляется выражение 3 и осуществляется переход к пункту 2, если выражение 2 равно нулю (ложь), то управление передается на оператор, следующий за оператором for.

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

Пример:

Int fun()

{

Int i,b;

for (i=1,b=1; i<10; i++)

b+=i*i;

Return b;

}

В этом примере вычисляется сумма квадратов чисел от 1 до 9. Некоторые варианты использования оператора for повышают его гибкость за счет возможности использования нескольких переменных, управляющих циклом.

Пример:

Int main()

{

int top=0, bot=0;

char string[100]=".........";

Char temp;

while(string[bot++]); // ищем конец строки

for ( bot-=2; top < bot ; top++, bot--)

{

temp=string[top]; // меняем символы

string[bot]=temp;

}

Return 0;

}

В этом примере, реализующем запись строки символов в обратном порядке, для управления циклом используются две переменные top и boot. Отметим, что на месте выражение 1 и выражение 3 здесь используются несколько выражений, записанных через запятую, и выполняемых последовательно.

Так как согласно синтаксису языка C/C++ оператор может быть пустым, тело оператора for также может быть пустым. Такая форма оператора может быть использована для организации поиска.

Пример:

for (i=0; t[i]<10 ; i++) ;

В данном примере переменная цикла i принимает значение номера первого элемента массива t, значение которого больше 10.

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

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

 

Оператор while

 

Оператор цикла while называется циклом с предусловием и имеет следующий формат:

While (выражение)

Тело

В качестве выражения допускается использовать любое выражение языка C/C++, а в качестве тела любой оператор, в том числе пустой или составной. Схема выполнения оператора while следующая:

- вычисляется выражение.

Если выражение ложно, то выполнение оператора while заканчивается и выполняется следующий по порядку оператор. Если выражение истинно, то выполняется тело оператора while.

Процесс повторяется с пункта 1.

Оператор цикла вида:

for (выражение-1; выражение-2; выражение-3) тело;

может быть заменен оператором while следующим образом:

выражение-1;

while (выражение-2)

{

Тело

Выражение-3;

}

Пример использования оператора цикла с предусловием.

# include <iostream.h>

void main()

{

char key=121;

while(key= =121)

{

cout<<"[y/n]:";

cin>>key;

}

}

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

 

Оператор do..while

 

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

Do

Тело

While (выражение);

Схема выполнения оператора do while :

- выполняется тело цикла (которое может быть составным оператором);

- вычисляется выражение;

- если выражение ложно, то выполнение оператора do while заканчивается и выполняется следующий по порядку оператор. Если выражение истинно, то выполнение оператора продолжается с пункта 1.

Чтобы прервать выполнение цикла до того, как условие станет ложным, можно использовать оператор break. Операторы while и do while могут быть вложенными.

Пример:

Int i,j,k;

...

i=0; j=0; k=0;

Do

{

i++;

J--;

while (a[k] < i) k++;

}

while (i<30 && j<-30);

 

Контрольные вопросы

 

1. Представьте схему выполнения оператора выражение

2. Представьте схему выполнения составного и пустого оператора

3. Какие вы знаете условные операторы? Представьте операторы в виде схемы выполнения и алгоритма.

4. Какие вы знаете операторы цикла? Представьте операторы в виде схемы выполнения и алгоритма.

5. Какие вы знаете операторы перехода? Представьте операторы в виде схемы выполнения и алгоритма.


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