Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
алгоритмизации.docx
Скачиваний:
1
Добавлен:
16.12.2018
Размер:
82.12 Кб
Скачать

19. Условный оператор

Оператор if используется для того, чтобы определить действия программы при различных условиях. Например у нас есть число. И если оно четное нам нужно его удвоить, а иначе разделить пополам. Для написания подобной программы и используется оператор if. В самой простой вариации он будет иметь следующую форму

?

1

2

if(<условие>) <действие>;

В этом случае если условие выполняется , то программа совершит некоторое действие. Например:

?

1

2

if(a == 2) cout << a;

Здесь мы видим, что если некоторая переменная a станет равной 2, то программа её выведет. Для сравнения числа с 2 мы используем двойное равно ==. В С++ двойное равно == используется для любых сравнительных операций. А чтобы проверить переменную на неравенство какому-либо числу надо написать !=. 

?

1

2

if(a != 2) cout << a;

В таком варианте программа выведет a, только если a не равно 2. Теперь поговорим о более сложных вариациях оператора if. Что если мы захотим при невыполнении основного условия сделать что-нибудь другое? Для этого используется структура if() ; else ; Например:

?

1

2

if(a == 2) cout << a;

else cout << 0;

Здесь, если число равно 2, то программа его выведет, а иначе выведет 0. А что если при невыполнении первого условия нам нужно проверять еще что-то? Приведем пример из жизни. Если на улице солнечно то мы можем одеть футболку. А если нет? То мы еще должны посмотреть на улице просто пасмурно, или идет дождь, или может даже снег. Для подобных ситуаций в программировании мы можем использовать структуру  if() ; else if() ; else ;

?

1

2

3

4

5

if(a > 100) cout << 3;

else if(a > 50) cout << 2;

else if(a >= 0) cout << 1;

else cout << 0;

Здесь, если a больше 100 то программа выведет 3, а иначе будет смотреть другие варианты. Если число больше 50, то выведет 2, больше или равно 0 выведет 1, а если число отрицательно выведет 0. Примечание: -Любое условие в С++ заключается в круглые скобки() -Для сравнения переменных используются сравнительные символы >, <, ==, != (больше, меньше, равно, не равно) -перед else всегда ставится точка с запятой

20. Оператор выбора.

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

CaseStatement = case Expression of Case {"|" Case} [else StatementSequence] end.  Case = [CaseLabelList ":" StatementSequence].  CaseLabelList = CaseLabels {"," CaseLabels}.  CaseLabels = ConstExpression [".." ConstExpression].

В операторе выбора также допускается несколько вариантов (альтернативных последовательностей операторов). При этом с каждым вариантом связывается свой (отличный от других) элемент разбиения всех возможных значений условия на непустые (попарно не пересекающиеся) подмножества так называемых меток вариантов. Условие должно быть целого типа, литерного типа или типа перечисления (см. гл. 4). При выполнении оператора выбора условие осуществляет выбор варианта -- выполняется тот альтернативный оператор, среди меток вариантов которого есть константа, совпадающая с текущим значением условия (если такой метки не окажется, то фиксируется ошибка в программе).

Например, оператор выбора

case X of      '=' : K:=0      |'*', ' + ' : K:=1      |'-' : K:=2  else K:=3  end

равносилен оператору

if X = ' = ' then K := 0  elsif (X = '*') or (X = '+') then K := 1  elsif X = '-' then K := 2  else K:=3  end.