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

ЛАБОРАТОРНА РОБОТА №5-6

СКЛАДАННЯ ТА ВІДЛАГОДЖЕННЯ ПРОГРАМ РОЗГАЛУЖЕНИХ ПРОЦЕСІВ З ВИКОРИСТАННЯМ ВКЛАДЕНИХ IF

Мета: придбати практичні навички з складання та відлагодження програм

розгалужених алгоритмів.

Теоретичні відомості:

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

Условный оператор if используется для разветвления процесса вычислений на два направления. Формат оператора:

if (выражение) оператор_1; [else оператор_2;]

Сначала вычисляется выражение, которое может иметь арифметический тип или тип указателя. Если оно не равно нулю (имеет значение true), выполняется пер­вый оператор, иначе — второй. После этого управление передается па оператор, следующий за условным.

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

Примеры:

if (а<0) b = 1;

if (a<b && (a>d || a==0)) b++; else {b *=; a = 0;}

if (a<b) {if (a<c) m = a; else m = c;} else {if (b<c) m = b; else m = c;}

if (a++) b++;

if (b>a) max = b; else max = a;

В примере 1 отсутствует ветвь el se. Подобная конструкция называется «пропуск оператора», поскольку присваивание либо выполняется, либо пропускается в за­висимости от выполнения условия.

Если требуется проверить несколько условий, их объединяют знаками логиче­ских операций. Например, выражение в примере 2 будет истинно в том случае, если выполнится одновременно условие а<Ь и одно из условий в скобках. Если опустить внутренние скобки, будет выполнено сначала логическое И, а потом -ИЛИ.

Оператор в примере 3 вычисляет наименьшее значение из трех переменных. Фи­гурные скобки в данном случае не обязательны, так как компилятор относит часть el se к ближайшему if.

Пример 4 напоминает о том, что хотя в качестве выражений в операторе i f чаще всего используются операции отношения, это не обязательно.

Конструкции, подобные оператору в примере 5, проще и нагляднее записывать в виде условной операции (в данном случае: max = (b > а)? b: а;).

Если какая-либо переменная используется только внутри условного оператора, рекомендуется объявить ее внутри скобок, например:

If (int i = fun(t)) a -= i; else a += i:

Объявление переменной в тот момент, когда она требуется, то есть когда ей необ­ходимо присвоить значение, является признаком хорошего стиля и позволяет из­бежать случайного использования переменной до ее инициализации. Объявлять внутри оператора i f можно только одну переменную. Область ее видимости на­чинается в точке объявления и включает обе ветви оператора.

Завдання: Написати програму розгалуженого алгоритму, використовуючи вкладені іf, на С(С++).

1. 2.
3. 4.
5. 6.
7. 8.
9. 10.
11. 12.
13. 14.
15. 16.
17. 18.
19. 20.
21. 22.
23. 24.
25. 26.
27. 28.
29. 30.
31. 32.
33. 34.

Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: