Московский Институт Электронной Техники
Кафедра ИПОВС
Лабораторная работа.
Программирование ветвящихся алгоритмов в языке С++.
Разработала:
Ст. преп. Соколова Н.Ю.
Москва 1997 г.
Цель работы:
Изучить различные способы программирования ветвящихся алгоритмов;
Получить практические навыки программирования задач с разветвленной структурой.
Теоретические сведения.
Иногда необходимо, чтобы программа могла выбирать между двумя различными альтернативами в зависимости от входного значения. Оператор, который позволяет осуществить такой выбор, называется условным оператором.
Условный оператор if.
Синтаксис полной формы условного оператора:
If (<логическое выражение>) <оператор 1>;
Else <оператор 2>;
Если (<логическое выражение> истинно, т.е. больше 0, то выполняется <оператор 1>, иначе выполняется <оператор 2>.
Синтаксис сокращенной формы условного оператора:
If (<логическое выражение>) <оператор>;
<Оператор> выполняется только в том случае, если <логическое выражение> больше 0, т.е. истинно.
Под <логическим выражением> понимается совокупность операций отношений и логических операций. Основные логические операции приведены в таблице 1.
Таблица 1.
Операция |
Значение |
Пример |
! |
логическое НЕ |
!EOF |
== |
равно |
Value == 0 |
!= |
не равно |
Value !=0 |
< |
меньше, чем |
i< count |
> |
больше |
i > count |
>= |
больше или равно |
i >= count |
<= |
меньше или равно |
i <= count |
|| |
логическое ИЛИ |
a | | b |
&& |
логическое И |
a > 8 && c < 5 |
Часто каждая из альтернативных возможностей оператора if требует выполнение более одного оператора. Тогда необходимо заключить группу операторов в фигурные скобки { }.
Список операторов, заключенных в фигурные скобки, называется составным оператором. Составные операторы выполняются точно также, как и простые операторы. И могут находиться в любом месте программы.
Оператор множественного выбора.
Когда необходимо осуществить выбор одного из нескольких вариантов, мохно воспользоваться конструкцией if – else – if .. else. Но во многих случаях оказывается более удобным применить оператор switch.
Синтаксис оператора switch:
switch (<выражение>)
{
case <константное выражение>: <оператор или группа операторов>;
case <константное выражение>: <оператор или группа операторов>;
………………………………………………………………………………
case <константное выражение>: <оператор или группа операторов>;
default: <оператор или группа операторов>;
};
Результат вычисленного <выражения> сравнивается с каждым из <константных выражений>. Если находить совпадение, то управление передается оператору, связанному с данным case. Исполнение продолжается до конца тела switch или пока не встретиться оператор break, который передает управление из тела switch вовне. <Оператор или группа операторов>, стоящий после default выполняется, если <выражение> не соответствует ни одному из <константных выражений> в case. Default не обязательно располагать в конце.
<Константные выражения> целого типа или символьного типа. Если нескольким <константным выражениям> соответсвует один оператор и тот же <оператор>, то тогда возможна следующая запись:
switch (<выражение>)
{
case <константное выражение>:
case <константное выражение>:
case <константное выражение>: <оператор или группа операторов>;
};