Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Лекции по проге / 3_Управл операторы - альтернативы

.pdf
Скачиваний:
30
Добавлен:
14.03.2016
Размер:
419.96 Кб
Скачать

Использование оператор выбора switch без использования оператора прерывания break

При вводе пользователем символа 'Y' на экране появятся два сообщения:

"Вы выбрали Да"

"Вы нажали что-то не то"

21

Ограниченность оператора switch

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

>, >=, <, <=

В этом случае используется комбинация оператора if...else

22

Комбинация оператора if...else

if( <условие 1> ) <оператор 1>

....

else if( <условие M> ) <оператор M>

else

<оператор M+1>

23

Задание

Вычислите функцию знака

1,

если x > 0

y = sign (x) = 0,

если x

=

0

-1,

если x

<

0

24

Использование комбинации условного оператора if...else

// Вычисление y = sign(x)

 

if

(x <

0)

y = -1;

else if

(x ==

0)

y =

0;

else if

(x >

0)

y =

1;

// ... или

 

 

 

if

(x <

0)

y = -1;

else if

(x == 0)

y =

0;

else

 

 

y =

1;

25

Критерии выбора оператора ветвления

 

 

 

 

Оператор ветвления

Критерии

 

Оператор if

Действие (оператор) выполняется

 

при определенном условии

 

 

 

 

Действие (оператор) выполняется

 

Оператор

при определенном условии, в

 

if...else

противном случае выполняется

 

 

другое действие (оператор)

 

Оператор switch +

Каждое действие (оператор)

 

оператор break

 

Комбинация

выполняется при определенном

 

оператора

условии

26

if...else

 

Задание

Дана переменная x. Выполните операцию

x++, если x > 0

x--, если x < 0

27

Выбор оператора ветвления

Для вычисления операции необходимо выполнить два разнородных действия x++ и x--, следовательно if не подходит

Каждое действие может быть выполнено только при определенном условии (формулировка "иначе" не применима), следовательно if...else не подходит

В условии используются операции > и <, следовательно switch + break не подходит

28

Выбор оператора ветвления

if

(x

>

0)

x++;

else if

(x

<

0)

x--;

29

Это надо помнить!

В операторах if, while, do...while условия обязательно задаются в круглых скобках ()

В операторе switch выражение для сравнения обязательно задается в круглых скобках ()

Если необходимо вставить несколько операторов в операторы ветвления или цикла, то это можно сделать используя фигурные скобки {}

Операторы ветвления и цикла могут вкладываться

30 друг в друга