Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Ответы ПЯВУ.doc
Скачиваний:
11
Добавлен:
18.07.2019
Размер:
978.43 Кб
Скачать
  1. Операторы передачи управления. Составной и пустой операторы. Примеры ветвящихся алгоритмов и программ.

оператор безусловного перехода goto (не используйте его,так делают только мудаки);

синтаксис на с/c++

labal: code goto label;

Пример:

if ( errorcode > 0 )

goto exit;

exit: return(errorcode);

оператор выхода из цикла break;

Оператор выхода из цикла break обеспечивает переход на оператор, непосредственно следующий за оператором if, switch или цикла, внутри которых находится оператор break.

Пример: #include <iostream>;

using namespace std;

int main(int argc, char argv[])

{ int vaue;

cin>>value;

for(int i;i<10;i++)

{

value+=i;

if(value>100){

value=1000;

cout<<"Bingo"

break;}

}

return(0);

}

оператор перехода к следующей итерации цикла continue;

while (i > 0 )

{

x = f(i);

if (x == 1) continue;

y = x*x;

}

Тело оператора выполняется, если і > 0. сначала значение f(i) присваивается переменной х, потом, если х = 1 выполняется оператор сontinue, при этом остальные операторы тела цикла игнорируются и выполнение цикла повторяется с его заголовка.

оператор возврата из функции return.

Оператор возврата из функции return завершает выполнение функции и передает управление в точку ее вызова. Синтаксис оператора:

return [ выражение ];

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

Exit() критичный выход из программы

Ветвящийся алгоритм.

К операторам ветвления относятся if, if else, ?,switch и go to.

# include <iostream>;

using namespace std;

int main(int argc, char argv[])

{

int A,B,C;

cin>>A;

cin>>B;

if(A>B)

C=A;

else

C=B;

cout<<C;

return(0);

}

Составной оператор (называемый также "блок", что эквивалентно) дает возможность использовать несколько операторов в том месте, где предполагается использование одного:

составной_оператор:

{ список_описаний opt список_операторов opt }

список_описаний:

описание

описание список_описаний

список_операторов:

оператор

оператор список_операторов

Если какой-либо из идентификаторов в списке_описаний был ранее описан, то внешнее описание выталкивается на время выполнения блока, и снова входит в силу по его окончании.

Пример:

int main () { int q,b; double t,d; : if (...) { int e,g; double f,q; : } : return (0); }

Пустой оператор имеет вид

;

Пустой оператор используется для помещения метки непосредственно перед } составного оператора или того, чтобы снабдить такие операторы, как while, пустым телом.

  1. Операторы организации циклов. Прерывание цикла. Примеры алгоритмов и программ.

Цикл FOR. Цикл for в C++ отличается большей гибкостью, поскольку с его помощью можно организовать как фиксированные, так и условные итерации. Оператор for имеет вид

for ( выражение_1 opt ; выражение_2 opt ; выражение_3 opt )

оператор

Пример: for (i=0, i<10; i++) cout << "i=" <Оператор for имеет три компоненты, каждый из которых необязателен. Первый компонент инициализирует переменные управления циклом. Второй - это условие, которое проверяет, будет ли цикл выполнять следующую итерацию, по-следний компонент - приложение, которое изменяет переменные управления циклом; часто это просто операции инкримента и / или декримента.

// Программа рассчитывает сумму и  // среднее значение ряда целых чисел, используя // цикл for. # include  int main (.) { int count=0; double sum=00; int first, last, temp; cout << "Введите первое целое:"; cin >> first; cout << "Введите последнее целое:"; cin >> last; if (first > last)   { temp = first;       first = last;      last = temp;    } for (int i=first; i<=last; i++) { count ++; sum + = (double) i; } cout << "сумма целых чисел" << first << "go" << last << "=" << sum << endl; cout << "среднее значение" << sum/count  return 0; } Открытые циклы, использующие циклы for. Если оставить все три компонента цикла пустыми, результатом будет от-крытый цикл. (open loop). C++ позволяют выходить из них следующими способами: 1.Оператор break вызывает переход к выполнению кода, следующего за текущим циклом, во многом подобен тому, как он  мог бы быть использован, чтобы продолжить выполнение вне оператора switch. Используйте оператор break, если вы хотите выйти из цикла и продолжить работу, оставшейся части программы. 2.Оператор return осуществляет возврат из текущей функции (включая main). О return и функциях далее. 3.Оператор throw вызывает генерацию исключения. Это используется, если произошла ошибка, и вы можете продолжать выполнение оставшейся части программы без какого-либо обработчика ошибок. Однако, применяйте этот метод с осторожностью; исключения предназначены для использования в не-штатных обстоятельствах - в случае ошибок. 4.В самых чрезвычайных случаях выйти из программы можно с помощью функ-ции exit (STDLIB.H). Эту функцию используют только в крайней необходи-мости, когда не остается никакой надежды на восстановления работоспособ-ности программы. Функция exit прекратит выполнение итерации и приведет к выходу из программы. //Программа, демонстрирующая преобразования цикла for для эммуляции непределенного цикла. #include  #include    int main ( )     {         char ch;         double x,y; //цикл for с пустыми компонентами  for ( ; ; )    {      cout      if (x:=0)         {            y=1/x;            cout << "1/"<< x << "="<           cout << "Продолжить выч.?  y/n";            cin >> ch;            if (toupper (ch):="r ")            break;         }       else        //отобразить сообщение об ошибке         cout << "ошибка " <   }     return 0;  } Цикл  do - while. Цикл  do - while в C++ - это условный цикл.  Условный цикл выполняется до тех пор, пока условие имеет значение true. Это условие проверяется в конце цикла.

Оператор do имеет вид

do оператор while (выражение);

Пример: //  Программа, демонстрирующая использование цикла do-while # include  # include   int main ()   {  char ch;  double x,y;    do //цикл do-while выполняет вычисления     {  do //цикл собирает числа    {      cout <     cin >>x;      it (x= =0);       cout <<"Ошибка!"<     } while (x= =0);    y=1/x;    cout << "1/" <   cout >>"Продолжить? (y/n)";    cin >> ch;   } while ( toypper (ch)=="y");   return 0;     } Цикл while.

Оператор while имеет вид

while ( выражение ) оператор

Цикл while в C++ - второй условный цикл, в котором операции выполняют-ся до тех пор, пока условие имеет значение true. Т.о. цикл while может не выпол-нить ни одной операции, если проверяемое условие изначально имеет значение false.

Пример: //Вычисляет x в степени n double pwr = 1; while (n-- >0)    pwr *=x; cout // значение ряда целых чисел используя цикл while.   # include  int main (  ) {   int count = 0;   double sum = 0.0;   int first, last, temp; cout << "Введите первое целое: "; cin <<  first ; cout << "Введите последнее целое: "; cin >> last;   if (first > last)       {          temp = first;          first = last;          last = temp;       } cout << "Сума целых чисел"           << first << "to" << last << "="; while     {       count ++;       sum + = (double) first ++;     } cout << sum << endl; cout << "среднее значение"<< return 0; }