if (x < 10) {

y = 1 + b * pow(x, 2);

} else {

if (x <= 15) {

y = log(x) + b;

} else {

y = sin(b * x);

}

}


printf("y = %7.3f", y);

}


ОПЕРАТОР ВЫБОРА


Оператор switch позволяет выбрать одну из нескольких альтернатив. Он записывается в следующем виде:


switch (выражение) {

case константа 1:

вариант 1;

break;

case константа n:

вариант n;

break;

default:

вариант n+1;

break;

}


В операторе switch вычисляется целое выражение в скобках (его называют селектором), и его значение сравнивается со всеми константами. При совпадении выполняется соответствующий вариант (одна или несколько инструкций). Все константы в записи оператора должны быть различными. Вариант с ключевым словом default (прочие) реализуется, если ни один другой вариант не подошел (если слово default отсутствует, а все результаты сравнения отрицательны, то ни один вариант не выполняется). Для прекращения последующих проверок после успешного выбора некоторого варианта используется оператор break, обеспечивающий немедленный выход из оператора switch.

Например (EX5):


#include


int main() {

char y;

scanf("%c", &y);


switch (y) {

case '1':

printf("Ветвь 1\n");

break;

case '2':

case '3':

printf("Ветвь 2 или 3\n");

break;

default:

printf("Bетви 1, 2, 3 не работают\n");

}

}


Оператор scanf вводит переменную у. Ее значение в операторе switch сравнивается со всеми константами операторов case. Если ввести символ 1, то на экране появится строка: "Ветвь 1".

По оператору break произойдет выход из переключателя switch и программа завершит свою работу. Если ввести символы 2 или 3 то на экран будет выведена строка: "Ветвь 2 или 3".

При вводе любого другого символа управление перейдет к ключевому слову default и на экране появится строка: "Ветви 1, 2, 3 не работают".



2) ПРОГРАММИРОВАНИЕ ЦИКЛИЧЕСКИХ АЛГОРИТМОВ


Цикл – повторное выполнение операторов, завершаемое при выполнении некоторых условий. Однократное выполнение операторов цикла называется итерацией. Операторы и конструкции цикла также называются телом цикла.

Различают 3 вида оператора цикла: for, while и do-while.



ЦИКЛЫ С ПАРАМЕТРОМ


Описание: for (выражение 1; выражение 2; выражение 3) { … };

Действие: в круглых скобках содержится три выражения. Первое из них служит для инициализации счетчика. Она осуществляется только один раз – когда цикл for начинает выполняться. Второе выражение необходимо для проверки условия, которая осуществляется перед каждым возможным выполнением тела цикла. Когда выражение становится ложным, цикл завершается. Третье выражение вычисляется в конце каждого выполнения тела цикла, происходит приращение числа на шаг.

Комментарий: в операторе цикла for точка с запятой после закрывающейся круглой скобки не ставится. Любое из трех или все три выражения в операторе могут отсутствовать, однако разделяющие их точки с запятыми опускать нельзя. Если отсутствует выражение 2, имеем бесконечный цикл.

Если отсутствуют выражения 1 и 3, цикл становится эквивалентным while.

Например:

for (;а<20;) { … };


Каждое из выражений может состоять из нескольких выражений, объединенных операцией «запятая».

Например:

for (i=0, j=l; i<100; i++, j++) a[i] = b[j];

Пример (EX6):


#include


int main() {

int i, j = 1, k;


for (i = 1; i <= 3; i++) {

printf("Acтана \t");

}


printf("\nУкажите число повторений цикла\n");

scanf("%d", &k);


for (i = 1; i <= k; i++) {

printf("%d", j);

}


j = i;

printf("\n");


for (i = 1; i <= k; i++) {

printf("%d ", j *= i);

}

}


Вывод:

Астана Астана Астана

Укажите число повторений цикла

5

11111

6 12 36 144 720


ПРИМЕР ЗАДАЧИ (EX7). Вычислить n-e число Фибоначчи. Числа Фибоначчи строятся следующим образом: F(0) = F(1) = 1; F(i + 1) = F(i) + F(i – 1) для i >= 1. Это пример вычислений по рекуррентным формулам.