Условные операторы языка программирования C++, страница 3

#include <iostream.h>

void main ()

{

   enum Rainbow {Red, Orange, Yellow, Green, Blue, Cyan, Magenta};

Rainbow Color;

   switch(Color)

   {

      case Red:

      case Orange:

      case Yellow:

         cout << "Выбрана теплая гамма \n";

         break;

   case Green:

   case Blue:

   case Cyan:

   case Magenta:

      cout << "Выбрана холодная гамма \n";

      break;

default:

cout << "Радуга не имеет такого ";

cout << " цвета!  \n";

   }

}

          Если на момент проверки переменная Color примет значе­ние, соответствующее красному (Red), оранжевому (Orange) или желтому (Yellow) цвету, будет выведено сообщение "Вы­брана  теплая  гамма". Если проверяемая переменная будет

соответствовать зеленому (Green), синему (Blue), голубому (Cyan) или фиолетовому (Magenta) цвету, будет отображено сообщение “Выбрана холодная гамма”. Если же прове­ряемое значение переменной Color не совпадет ни с одним из вышеперечисленных, будет выведена строка “Радуга не имеет такого цвета!”.

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

          Следующим мощным механизмом управления ходом после­довательности выполнения программы является использование циклов.

          Цикл задает многократное прохождение по одному и тому же коду программы (итерации). Он имеет точку вхождения, прове­рочное условие и (необязательно) точку выхода. Цикл, не имею­щий точки выхода, называется бесконечным. Для бесконечного цикла проверочное условие всегда принимает истинное значение.

          Проверка условия может осуществляться перед выполнением (циклы for, while) или после окончания (do-while) тела цикла.

          Циклы могут быть вложенными друг в друга произвольным образом.

          2.1 Циклы for

Синтаксис цикла for имеет вид:

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

          операаюр_или_блох_операторов ;

          Этот оператор работает следующим образом.

          Сначала выполняется выражение 1. если оно присутствует в конструкции. Затем вычисляется величина выражекия2 (если оно присутствует) и, если полученный результат принял истин­ное значение, выполняется тело цикла (опера-5?ор_или_6лок_операторов). В противном случае выполне­ние цикла прекращается и осуществляется переход к оператору, следующему непосредственно за телом цикла.

          После выполнения тела цикла вычисляется выражениеЗ, если оно имеется в конструкции, и осуществляется переход к пункту вычисления величины выражения2.

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

          Выражение2 используется как проверочное условие н на прак­тике часто содержит выражения с операторами сравнения. По умол-чаниюзеличшавкражени5121финимает истинное значение.

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

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

for(   ;   ;  )

cout<<Бесконечный цикл;

          Если в цикле должны синхронно изменяться несколько пере­менных, которые зависят от переменной цикла, вычисление их значений можно поместить в оператор for, воспользовавшись оператором "запятая".

          Типичная ошибка программирования циклов for - изменение значения счетчика как в конструкции (выражениеЗ), так и в теле цикла. Это может приводить к таким негативным последст­виям, как "выпадение" итераций.

          Рассмотрим несколько примеров;

          Для начала просуммируем набор из десяти целых чисел, на­чиная с 10.

#include <iostream.h>

void main ()

{

   int Sum = 0;

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

Sum += i;