Студопедия

КАТЕГОРИИ:


Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748)

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




Лекция №4. РАЗВЕТВЛЕННЫЕ АЛГОРИТМЫ ПРОГРАММ

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

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

Одним из операторов, реализующих конструкции принятия решений, является условный оператор. Его формат: if (выражение) оператор;

если оператор, выполняемый при истинности условия (или выражения) –единственный или если таких операторов несколько

if (выражение) {оператор 1;...; оператор N;} //end if,

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

При необходимости сравнить выражение с некоторым значением следует использовать операторы отношения = = или!= в виде

if (выражение = = значение) оператор;

или

if (выражение!=значение) оператор;

оператор; может быть как простым, так и составным.

Команда if (выражение!=0) оператор;

эквивалентна команде if (выражение) оператор;

Нельзя писать if (выражение =значение) оператор;

Это одна из наиболее распространенных и трудно обнаруживаемых ошибок. Результатом такого использования операции присваивания = будет сравнение выражения со значением с последующим присваиванием выражению значения, с которым оно сравнивалось. Однако не следует этого делать даже целенаправленно.

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

if (выражение) оператор1; else оператор2;

если после if и else следуют простые (одиночные) операторы, или

if (выражение) { оператор1; оператор2; } else { оператор3; оператор4; },

если операторы составные.

Точка с запятой после закрывающей скобки } не ставится.

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

if (выражение1) оператор1;

else if (выражение2) оператор2;

else if (выражение3) оператор3;

else if(выражениеN) операторN;

else // необязательная часть

оператор_по_умолчанию;

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

Оператор if-else можно записать более компактно, не нарушив его функционального назначения. В этом случае он будет называться условным выражением:

выражение1? выражение2: выражение3;

Программа вычисляет выражение1: если оно истинно, выполняется выражение2; если ложно, выполняется выражение3, что полностью соответствует действиям, производимым оператором if-else:

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

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




Поделиться с друзьями:


Дата добавления: 2014-11-16; Просмотров: 374; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




Генерация страницы за: 0.008 сек.